Mike Cohn has a great article in the Agile Journal in which he describes ‘patterns’ of agile adoption. The basic premise is that there are 3 choices that an organization needs to make about their agile rollout:
- Small vs. All-In
- Do we start with a small number of projects or do all our software projects go agile all at once?
- Technical Practices First vs. Iterative First
- Do we start by adopting things like test driven development and pair programming, or do we start by adopting short development cycles?
- Stealth Mode vs. A Public Display of Agility?
- Do we keep quiet about it until we figure out how to make it work or do we announce an ‘Agile Initiative’ with great fanfare?
Each decision should be considered in terms of the people, culture, customers, resources, and risk. The result is 8 possible approaches that an organization might take in adopting agile software development methods.
The model isn’t exhaustive or perfect. I’m not sure about the ‘All-In’ / ‘Stealth Mode’ combinations, for example. But I think that it is a useful tool for thinking about how best to introduce agile practices into a given organization.