- 4.1 Goals of Agile Process Maturity
- 4.2 Why Is Agile Process Improvement Important?
- 4.3 Where Do I Start?
- 4.4 Understanding Agile Process Maturity
- 4.5 Applying the Principles
- 4.6 Recognition by the Agile Community
- 4.7 Consensus within the Agile Community
- 4.8 What Agile Process Maturity Is Not
- 4.9 What Does an Immature Agile Process Look Like?
- 4.10 Problems with Agile
- 4.11 Waterfall Pitfalls
- 4.12 The Items on the Right
- 4.13 Agile Coexisting with Non-Agile
- 4.14 IT Governance
- 4.15 ALM and the Agile Principles
- 4.16 Agile as a Repeatable Process
- 4.17 Deming and Quality Management
- 4.18 Agile Maturity in the Enterprise
- 4.19 Continuous Process Improvement
- 4.20 Measuring the ALM
- 4.21 Vendor Management
- 4.22 Hardware Development
- 4.23 Conclusion
4.18 Agile Maturity in the Enterprise
Implementing processes across any large organization can be very challenging, and agile process maturity should be measured across the enterprise. While we are not advocating comparing groups to each other, which could actually be counterproductive, we do want to have common criteria to help each team plan their own process improvement efforts. It is best to understand processes within the group context itself. We have seen teams that had technical flaws in their processes, tools, or procedures and in one group these issues presented a significant challenge, but for another it was almost irrelevant. For example, we have seen teams lack strong version control procedures but somehow manage to avoid problems that we would have expected through sheer force of will or even manual controls. Obviously these situations are optimal, but still each team may have a very different view of their priorities and pain points. We implement agile processes consistently across the enterprise, while still understanding that each team may have a somewhat different culture, environment, and priorities. We can manage this balance by establishing the goals and objectives while understanding that there could be some difference in processes, tools, and procedures.
4.18.1 Consistency across the Enterprise
Process maturity models can be helpful in establishing common criteria to help ensure consistency across the enterprise. We also use industry standards and frameworks as a source of consistent best practices to implement across the enterprise. For example, we might ask a team to explain how they implement automated build, package, and deployment, including their procedures to verify and validate that the correct code has been deployed. Teams are often quite up-front about what they are doing well and what could be improved. Helping each team to focus on its own perceived priorities is essential for successful process improvement. But there is also room for ensuring that industry best practices are implemented consistently across the firm. This work requires excellent communication and even some good marketing of the new approach.
4.18.2 Marketing the New Approach
We never assume that teams will just automatically agree to implement the best practices that we advocate. Sometimes, it is best to help a team create its own plan. We balance this approach with enterprise process improvement efforts to essentially market industry best practices using the latest processes and tools. Throughout this effort it is essential to continuously focus on process improvement.