Saturday, June 30, 2007

An Introduction to Agile Leadership

Adrenaline Junkies and Template Zombies: Understanding Patterns of Project BehaviorAt Agile 2006, Tim Lister gave a talk on Agile Leadership. Tim starts by defining a process. It is what you do not do naturally. Process is interesting when your instinct to do something natural is not optimal. Tim makes an analogy with swimming. Our natural instinct in water is head up and paddle like mad. Afterwards, we learn to sip air, put our head in the water, and come up when we need to. In freestyle competitions, most swimmers choose the crawl technique because it has become a proven process for short distances. A true test of a process is what happens when we are under stress and pressure. What do we do? How do we behave? How to we build? How do we deliver? We should follow the process when things get rough and not only in the good times.

Next Tim defines a leader as someone who by dint of words or deeds influences the behavior of others. A leader inspires, or leads by example. Leadership is not by position. It moves around based on the topic or problem at hand. It will naturally flow to the appropriate person. Position is mostly irrelevant. A PMs jobs is to cultivate leadership.

Tim then moves on to give his own interpretation of the Agile Project Leadership Network’s Declaration of interdependence.

1. We increase return on investment by making continuous flow of value our focus.
At least with the time we had, we delivered as many of the most valuable features as we could. All features are accepted, even low value features. However, they just get added to the log and sit there because the client prioritizes items of higher value.

2. We deliver reliable results by engaging customers in frequent interactions and shared ownership.
Deliver reliable results means we make pace visible early. Agile makes work rate or velocity obvious with small increments. You know when you are behind schedule. This eliminates surprises. Engaging customers means we force interaction into a partnership. Knowledge of the customer is always needed. Team needs customer domain expertise.

3. We expect uncertainty and manage for it through iterations, anticipation, and adaptation.
Requirements emerge. They are not gathered. Systems need a gestation period. Anticipation: Why anticipate that the customer always knows what they want. It is rare that we know exactly what we need.

4. We unleash creativity and innovation by recognizing that individuals are the ultimate source of value, and creating an environment where they can make a difference.
This means pushing decisions down and out and making the workplace safe. That is, find the right home for every decision. Don’t make a decision that you are not competent to make even though you have the authority to make it. Some decisions need to go down to the developer. Some decisions need to go out to the customer.
Great creativity and innovation is when people start working together on half baked ideas. One person has an idea and others jump in with their own ideas to complement it.
The teams recognize their performance. They don’t care what the outside world thinks.