- 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.15 ALM and the Agile Principles
Mature agile processes should obviously adhere to agile principles. The agile ALM is customer-centric and facilitates the early and continuous delivery of valuable software. We welcome changing requirements, even late in development, and harness change for the customer’s competitive advantage. The agile ALM should help deliver working software by frequently facilitating daily collaboration between all stakeholders, including businesspeople and developers. Projects should be built around motivated individuals with the environment and support they need while encouraging face-to-face interactions. Working software is the primary measure of progress.
The agile ALM should promote sustainable development, including a constant pace throughout the duration of the project. There also should be continuous attention to technical excellence and good design enhancing agility, along with valuing simplicity instead of overly complex design and processes. The agile ALM empowers the cross-functional self-organizing team, resulting in the best architectures, requirements, and designs. The mature agile ALM also includes regular opportunities to reflect on how the process can become more effective, tuning and adjusting its processes and behavior. The mature agile process adheres to these agile principles on a constant and reliable basis. This is why you need to start off with processes that are repeatable and predictable.