Leading from the Middle
“The Key role of middle management is reinvention.” Tom DeMarco
Often I hear of Agile Adoption best occurring top down. Salesforce.com did that, from zero to Agile overnight. Other times I hear about bottom up Agile , or Agile in “Stealth Mode”. for a development team is tired of death-marches, a bottom up agile transition can be effective and motivating. This was how most Agile Adoption occurred 5 years ago when I was learning Agile.
And I rarely hear about Agile Adoption from the middle. Yet this is where, from my experience, change typically comes from. This is due to the fact that your middle management is typically where you have slack in a traditional organization. Slack is where you get your adaptability, because it is there that you have the bandwidth to try new things and aren’t under the optimization and efficiency pressure. If an organism or organisation is optimized, then it will be unable to change. Like the Cheetah who is far too specialized to adapt to new environments or prey, it will die off. Humans, however, can adapt to many environments because they are not optimized at any one thing, (except arguable solving problems and using tools).
Middle management has a role even in top-down and bottom up adoption. While they are typically directing operations and ongoing activities, they are the ones who are in charge of implementing change. As the Harvard Business Review states “First, virtually all major strategic initiatives have to be carried out by the middle managers.” In a top-down Agile adoption, while upper management might fund an adoption or read the “The Agile CIO” whitepaper they will need to ask someone to “go do it”.
This is hard work, in my opinion, especially in a situation where you are learning how to become a servant leader and drive change in the organization. This is why I think Scrum prepares teams particularly well for the role of change agent, as a Scrum Master is in charge of serving and protecting the team, which after the team gets its house in order moves to getting the organization’s house in order to support the team.
In the case when Agile is done in stealth mode, the team is doing the hard work of change. However, you need a line manager who interfaces with the other parts of the org, protecting the team while Agile is in its infancy, and heralding success when it has proven its value. This is where a good middle manager will be able to network with other middle managers, directors etc and socialize and herald change through the organization. Hallway conversations can reduce fear about the new “threat” and familiar faces can introduce it as a new option worth exploring. Again, a key element of this is adopting the courage to try new things and introduce change, without fear.
When I was first learning about Agile, I had a terrific manager (Philip Ljubicich) who empowered me to try new things and managed by exception. His motto was “If you’re not making mistakes you’re not trying hard enough.” A Microsoft vet from the very early days, he understood the concept that the minute you mange by methods, you’ve created a system that can’t cure itself. Microsoft, despite all its faults, has created a culture that believes it is anathema to tell your development teams how to work. It has kept their organization adaptable to many changes in the tech world for the last 30 years.
When I discovered this Agile thing, he encouraged me to try it out and see what worked. We tried it, it worked, adapted it and achieved great results. My point here is that had I not been there, had the capacity to learn and the support to try new things, we may have never tried this out. Only because I had a great manager, and because I had the slack to be able to adapt did we change course. If you’re organization doesn’ have managers like Phil, then your job is harder, which is why pilot projects where you demonstrate that Agile is safe and “we’re not switching to anything” until they prove their worth are a good idea. It’s easier to support what I know has worked in our organizaiton than a new untested theory.
In the nineties there was the empowerment craze of flattening org structures, of leaders with inspired vision and teams who shared that vision. People were doing trust-falls and climbing walls and holding hands and singing kumabya. Middle management was seen as waste. Yet in this craze to flatten org structures organizations they flattened their capacity to change.
Toyota, which has shown itself to be remarkably resilient, past four recessions and the oil crisis, has a surprisingly deep org chart, with many managers for each of its employees. These line managers, however, aren’t career managers, they are those who have great technical expertise in the teams they manage. Why is this important? What happens when you have a spike in the work for a production line, or have a problem that you need to solve? This can go to the middle management core, who can help to eliminate impediments and educate and advocate for their teams throughout the organization.
Of course, the culture of middle management must support these changes, and have the courage to try new things. Otherwise, middle management can often be the biggest impediments to successful adoption, as they work alone, try to cover themselves so they rise to the top and otherwise try to optimize their own organizaitonal silos. Great companies have their middle managers frequently working together, learning and sharing ideas in a culture of collaboration, so they can achieve the strategic objectives of the top brass.
Tags: agile, middle management, Scrum
“Hitting the wall” with your Agile Adoption? Try adding technical practices…
This is a great post that uses the familiar metaphor of the gym and physical fitness to apply to adopting Agile. I’ve seen the pattern described here too often.
Developers start out the first three sprints and produce production ready software every iteration. It seems like everything is going well. Then under the gun of the ScrumMaster to keep their velocity high, they build up technical debt (like sprinters developing lactic acid) by not paying attention to technical excellence and practices that will maintain a sustainable pace. This slows their speed to a halt until they clean up their technical practices and adopt test driven development, continuous integration, mercilous refactoring.
The question for me is not whether or not this pattern occurs, but how to best introduce Agile so teams can recognize when it is happening and address it.
On the Scrum side, folks like Mike Cohn suggest introducing Scrum first (using the iterative or requirements first pattern described in his outstanding Agile Adoption presentation). This has the advantage of allowing the team to self organize around the practices needed to maintain agility.
On the XP side, folks like James Shore recommend introducing the 12 XP Practices first (Mike Cohn describes this as “Technical Practices First” Pattern). The tradeoffs to Jim’s approach is that it is costly to start with all 12 practices from day one. Teams may reject the approach altogether, while getting none of the benefits of the practices. But the teams that do will have sustainable pace and agility. The benefits to Iterative first or requirements first are that the teams learn how to self organize and undergo the cultural change necessary for bottom up commitment based planning. The downside is that somce Scrum is silent on engineering principles, and focuses on developing a self healing system rather than prescriptive practices. The down side to this is that teams may fail. Yet if they are using the retrospective and sprint review effectively, however, effects of failure are minimized (since they can inspect and adapt) and teams will have the added benefit of becoming a self healing system.
My experience is that the end state of having Scrum teams that us XP is a great combination. The paths to getting there are varied, and I’d rather a group learn how to think for itself then think implementing a set of practices will make them Agile. It’s the mind set shift to Agile principles that is important in my opinion, not the discrete practices used. This prevents Agile and Scrum from becoming yet another prescriptive methodology that says “do these steps in these ways and you will be guaranteed success”. What do you think? Have you experienced the pattern described above?
Bay Area Agile Philanthropy Group
A group of folks interested in using agile values and principles to give back to the community is going to meet in January to charter the Bay Area Agile Philanthropy User Group (BAAPUG). This will be on January 17 at Tacit Knowledge headquarters and we will define the community, the mission, vision and values of the group. If you’re interested in attending the chartering meeting, or discussion what we’re about further, you can join the Yahoo! group here. This group is based on inspiration from Bob Payne at Code Green Labs, creating events where people could both participate in an agile project and help out a non-profit at the same time.
Tags: agile, philanthropy
David Anderson Speaks at Bay Area APLN
I attended a special meeting of the Bay area APLN chapter. David Anderson gave a talk on his recipe for success with Agile. Here are the notes. It was a good talk. I especially liked his description of how he pulled his development teams in to an all hands meeting on his second day on the job to give the teams permission to not write bugs any more. That is great servant leadership.
This reminds me of a similar struggle I had once with an individual on a development team when I was a team lead. The team wanted to try TDD and he was very opposed. He was the technical lead on the team, and we had a good relationship. After trying various techniques, tutorials, pairing with those who knew TDD, an “intervention” meeting with upper management, I realized that it wasn’t the lack of knowledge or clarity around our support for for TDD that was the issue. So in our one on one meeting, I asked him what is holding him back from endorsing this. After a long while of discussion, it came out that he felt that using TDD would slow the team down, and we wouldn’t deliver as much value to the client and might miss the date.
Aha! There was the tyranny of the schedule rearing its ugly head again. I realize that I had put him in a position where he had to both A) be in charge of the technical quality and B) was responsible for hitting a date with a fixed amount of functionality. I was the problem! So, rather than go into argument about why TDD is a good idea (he knew it was, but was under an impossible iron triangle problem) I told him that he was no longer in charge of making us hit the date. He was only in charge of delivering high quality software. I would take care of the delivery problem.
And you know what happened? The team embraced TDD, quality went up and we went faster because we stopped having to track and fix bugs from previous sprints. This all came back when David was discussing his slide on Giving Teams a Permission Slip for Quality.
Use Parallel tracks for user experience work
At the APLN Leadership Summit I was fortunate enough to attend a track led by Arlen Bankston and Jeff Patton that discussed some of the patterns and practices that are beginning to emerge for incorporating user experience into the agile process. One of these that I found particularly refreshing, and common sense, was the notion of using parallel tracks of development between the usability folks and the development team. Far from the stern warnings of “big design up front” that are proscribed by agile methods, this practice is lightweight, rapid and allows for the development team to hit the ground running with a well designed interface to code to when the sprint begins.
Parallel tracks basically tells your usability team to stay 1-2 sprints ahead of your development team. During this period, they are doing paper prototyping, interviewing users, creating personas, developing scenarios and rapidly iterating on rough mockups of the design with actual users to discover usability bugs. After a sprint of prototyping and developing, the usability team has a conversation with the development team about the stories that are going to occur in the next sprint. The stories are sized and negotiated between the product owner, the designer and the developer.
For example, A developer might point out that what would be a 13 point story for a search interface design, for instance, might be accomplished in only 3 points with a couple tweaks. This meeting might be called a product definition meeting, and could occur a day or so ahead of the sprint planning to give the design team a chance to change the design after the developer feedback. The development team then develops against the design for the next sprint. Meanwhile the design team is busy preparing the next top eight or so stories from the backlog that the team threw into their next two sprint’s lookahead plan. If the development team had delivered any functionality from the previous sprint, the user experience team can start engage in user testing on those stories.
This approach was discussed in an article by Desiree Sy who used this process at a company called Alias, which is now AutoDesk. I have a crude drawing of the approach described in the article, shown below:
Since we were in a modified Open Space format, there was a fair bit of anecdotal confirmation from practitioners attending about the value in this approach. The fascinating thing was that for the individuals in the room, some with many years of scrum experience, you could see there was almost a visible sigh of relief, as they realized that others were using this practice, and that it wasn’t “wrong”. However, as it worked with many teams who had not previously read about this approach, it is looking promising as an emerging best practice.
One of the reasons I believe that this method is consistent with the agile approach, is that if you consider the usability and user interaction designers as strongly allied to the product owner teams, they are actually using a common best practice which is to keep a backlog that is well groomed for the next few sprints. A good user interface design, far from being a cast in stone user specification, can be a tool that can demonstrate more succinctly the user’s goals and value from a system than words can.
Another reason I think it might work to produce really good user experiences, and I’m thankful to Arlen for this insight, is that it allows the design team to employ a type of set based design, where a number of options for the interface can be simultaneously explored at once, to create innovative designs, rather than the single simplest design that could possibly work. While this is a good practice for backend architectures, evolutionary design can only take a mediocre design to an OK design. To create compelling user experiences, you need to start from a good or great design and iterate to make it better.
This practice, taken with the other 12 practices that Jeff recommends can integrate more successfully with usability teams and create the kind of user interfaces that customers are now demanding.
Tags: agile, design, usability, user experience
Look who’s got a Lookahead Plan?
After seeing Mike Cohn’s presentation on Agile Estimation and Planning, I got very excited about a technique he described as lookahead planning. A lookahead plan is simply a quick look at the next couple sprints to determine what stories are coming up, typically done at the end of a sprint planning meeting.
All you do is after the team is committed to the sprint, just take 15-20 minutes with the team to move stories from the backlog into two quadrants (butcher paper or whiteboard squares) labelled sprint n+1, sprint n+2. Indicate the velocity your team has committed to (I will used the velocity we committed on as a team in the last sprint) in each quadrant. Then, just have your product owner and team move them into the sprint until the points from the story fill up your sprint velocity buckets. Bang, you’re done.
We just tried this after our normal sprint planning, and it worked pretty well. We noticed immediately that there were a few stories that were irrelevant, and a couple missing stories that we needed to get estimates on, one story that needed more acceptance tests filled out for it and one that needed a followup on a third party vendor. This kind of work we used to wait until a few days before the sprint to do, and made our sprint planning meetings take much longer than necessary. I suspect that doing it 30 minutes at the end of a sprint planning meeting will more than pay for itself by having a more tightly run sprint planning meeting next sprint, with all the lookahead work we’ve done. I’ll keep you posted.
The best part of this, is that for the longest time, I could not figure out how to keep my release plan up to date. It would look great after maybe one sprint, but after a few would become staler than tube socks in a high school locker room. With lookahead planning, it just take a few minutes to update the most important sprints (the next two or three) from the product backlog.
Tags: agile, lookahead planning, Scrum
How I do standups
Everyone has their own flavor of standups. Some do it standing up. Some do it sitting down. Some do it in a club with a microphone. I’ve never been that brave.
For me, the scrum standup goes like this. I break it into 3 parts.
- Preparation
- Meeting
- Close
Preparation
As you can see, the meeting begins before everyone joins. For me, answering the question “What did I do yesterday” can lead to me missing a few things. So I like to bring a list, written on a 3×5 card of what I did yesterday, what I’m planning on today, and what’s blocking. It helps me to remember, especially if it is the Monday after a weekend. Also, if anyone is out, I print out their standup report so I can read it aloud.
The space
I like to have everyone stand around a circular table, where we have our conference phone. The team members should stand be fairly close together, not HR violation close, but close enough to hear the soft spoken introverts without having to repeat anything. We stand in the team open space, by our task board, whiteboard, burndown chart and our blockers board.
I will call into the conference call a minute or two before the standup begins. My product owner typically will join the call, since she is located off site. Note, it’s a good idea to turn off the conference call feature that makes callers wait for a chairperson. Otherwise, you’ll end up missing a standup one day and no one knows how to dial in the product owner.
For my standups, I actually standup and have all the team standup in the meeting. I find you reach decisions more quickly if you do.
Even though I’m the Scrum Master, I’ll typically stand with the team in the circle. I know Mike Cohn doesn’t, for fear that everyone will report to him, rather than eachother. However, I feel I that I’m a part of standup as much as anyone else, that since I’m asking others what they’ve done yesterday and will do today, I should be held to the same standard, even if it is just going to meetings, filing paperwork and sending emails.
Latecomers
We punish latecomers by making them dance or sing a song. I have yet to have someone sing a song, but have seen some very entertaining dancing (our SDET has graced us with the Madagascar dance “I like to Move It Move It!” a few times.) It’s a gentle way to reinforce that we start on time.
Meeting
During the actual meeting, I’ll ask who would like to start. Rather than start with one person, I find it’s more democratic to let someone who is ready go first.
We’ll go clockwise. Once we tried to go in alternating order, like a pinball machine. It didn’t work. Perhaps if we had a “conch shell” ala Lord of the Flies it would.
What I do during this meeting is very carefully listen to people for any hidden impediments. Things that they are really stuck on, but they just mention it in passing. Jeff Sutherland came to speak to us at a company meeting a while back, and he said, that the most valuable part of standup is the impediments. Even if they are buried in the mass of status, these need to be pulled out and recorded.
Blockers Board
Therefore, I actually have a pile of Post Its, a Sharpie and a block of butcher paper that I use to record impediments during standup. Any impediment that is not resolved by the end of the person’s report (allowing 1 minute to resolve issues max to keep things moving) goes on the “Blockers Board” . This has three columns. Impediment, Who, When. Typically, my impediments just have the name of the impediment (with a note about who reported it on the sticky) and a who (I go through and assign whos after standup). If the impediment will be there for awhile, or it has been there for awhile, I’ll assign a due date to it so there is more impetus to clear it. Occasionally we’ll go a few days with some stale impediments on the board, but the majority usually get cleared by the next standup. This helps individuals, I believe, to feel like there is value to them bringing impediments, because they will be actioned and someone held accountable.
Offline Topics
We also record offline topics that come up during the standup on the whiteboard, along with who needs to stay to discuss. Folks are pretty good about taking issues that might extend standup past 15 minutes offline by asking “Can we take that offline”?
Close
After the official standup, I’ll excuse the product owner and go through any outstanding impediments on the Blockers Board. Usually, I’ll tear off quite a few, but the ones that stay get a star so we can track how stale they are. Then, we’ll ask those who need to stay for offline topics to stay. If we are good, we’ll have kept the meeting to 15 minutes. If we are bad, we’ll have dragged on a few minutes after, but that is not so bad, as long as it doesn’t happen too often. If it does, people are de-energized by standup and do not leave feeling like they got something out of the meeting.
I’ve toyed around with the idea of ending with a catchy phrase like “let’s go get things done!” or “I love it when a plan comes together”. Maybe I’ll try this tomorrow.





