I was recently asked to help a consulting firm who is working with a client having trouble with a very large enterprise-level Agile implementation. It seems that the company had gone head-over-heels into Agile across the whole company and the senior executives were unhappy with the way it was going. Many projects were going off track and senior management didn’t feel like they had much visibility and predictability to see if all the development efforts were really well-aligned with the company’s business strategy. I think this is a typical problem that many companies face for large-scale, enterprise-level Agile implementations.
The problem is that large companies typically have some kind of management infrastructure such as a PMO for managing projects as well as some kind of project portfolio management approach to align projects with the company’s business strategy and that existing management infrastructure probably isn’t totally compatible with an Agile development approach. The choices are:
- Dismantle the existing management infrastructure and simply implement Agile at a development team level with no guiding management infrastructure. That typically results in problems such as projects going out of control and not being well-aligned with the company’s business strategy.
- Implement a new top-to-bottom Agile management approach such as the Scaled Agile Framework. This is a good solution but requires a major redefinition of the company’s management infrastructure and some companies are just not ready to make that kind of gut-wrenching change.
- Implement a “bridge” between the existing management infrastructure and the Agile development approach using a hybrid management approach overlaid on top of the Agile development process.
The most important point is that you can’t ignore the need for these higher levels of management and implement Agile as a development process without defining some way that it integrates with the company’s overall business strategy. The choices look something like this:
This can be a difficult thing to do because standard Agile methodologies such as Scrum do not provide much guidance above the development team level and there are a number of choices at each of these levels. At each level, there is a choice of implementing a more Agile or a more traditional, plan-driven management approach. It is somewhat like a chess game as shown in the diagram below:
Here’s how I would position some of the frameworks for filling this need:
The three frameworks shown above are:
- My own Managed Agile Development model
- Scott Ambler’s Disciplined Agile Delivery model
- Dean Leffingwell’s Scaled Agile Framework (SAFe)