Transitioning to agile means going from a Variable or Routine culture to a Steering culture. Indicators for a Steering culture are the ideas of empirical process control, embrace change, and apply-inspect-adapt.
The agile community provides all kinds of process models that are in fact mental models of software development: e.g. Extreme Programming, Scrum, Lean Software Development, Crystal Clear, the stories people tell, external consultants’ pet peeves. These are a good source for routines to choose from.
Practices like daily standup meetings, short iterations, frequent releases, iteration retrospectives, test driven development, continuous integration, big visible charts, stop the production line mentality all help improve the visibility and stability of the software development system.
An agile transition has a number of failure modes. I will briefly describe three of them.
Introducing visibility can be scary. I have seen and heard about multiple XP and Scrum initiatives that got killed because the sudden visibility of problems and (lack of) progress was threatening to middle management. Instead of becoming a Steering culture, it remains Variable or Routine. I’ve met for example a manager who waved away any agile practice as soon as it didn’t fit with his own agenda, saying that you shouldn’t be dogmatic with agile…
To reduce the backlash problem, ensure higher management support for your agile initiative.
Agile by the book
Now that agile has crossed the chasm, I see more and more organizations that do agile ‘by the book’, basically going through the motions without a good understanding of why they are doing it (saying e.g. that you should stick to the rules). This is ok if it’s a temporary phase in the transition process. When people start understanding the ‘why’, the organization can transform to an effective Steering culture.
If a team gets stuck in this phase, it basically settles on a Routine culture. It will go awry sooner or later and the people will blame the agile ‘method’ for the problems.
An experienced agile coach can help you through this phase.
Agile getting into a rut
Steering is based on finding deviations between observations and objectives. This is the basis for improvement. If everything is running smoothly and going so well that there are no obstacles any more, there’s a risk of complacency. Peope forget why they are doing the things they do and the system slowly becomes a Routine culture.
To avoid this failure mode, you can train yourself and your team to become conscious of this process and learn to introduce changes and experiments just for the sake of change. Learn how to keep the software development system awake by jiggling it. It’s a first step towards an Anticipating culture.
Would you like coaching and guidance in transitioning effectively to a Steering culture? Would you like to learn how to jiggle your agile system and how to keep it alive and kicking? We can help you – feel free to contact us.