- 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.5 Applying the Principles
Implementing the agile ALM requires that you understand the agile values and principles and, more importantly, how to utilize them in practical terms. Technology projects require a deep understanding of exactly what the system should do and how it should work. These are important details that are typically expressed in terms of requirements. There are many different types of requirements, from system-level response time to functional usage, including navigation. Many professionals use epics7 and stories8 to describe requirements in high-level terms. Writing and maintaining a requirements document is often less than fruitful, with most requirements documents out of date even before they have been approved by the user. Agile takes a pragmatic approach to requirements management that focuses on working software instead of writing requirements documents that are often of limited value.
One very effective way to manage requirements is to supplement them with well-written test cases and test scripts. Test cases often contain exactly the same information that you might expect in a requirements document.