I am taking notes on the Agile Practice Guide, a companion volume to the 6th Edition of the Project Management Body of Knowledge developed by the Agile Alliance in partnership with PMI.
I’m starting the third chapter on Life Cycle Selection, which contrasts agile methodologies with other project management life cycles, including predictive (traditional), iterative and incremental. It’s only after making this distinction clear in the third chapter that the Agile Practice Guide will go on in the next chapter how to create an agile environment.
I really appreciate this chapter because I am not familiar with incremental and iterative life cycles. In the 4th edition of the PMBOK Guide, agile was not even named (it was called an “adaptive” life cycle). In the 5th edition of the PMBOK Guide, the life cycles were named but the distinctions were only mentioned in the introductory chapters–the rest of the Guide dealt with the processes of the traditional or predictive life cycle.
Agile has grown so much that a project manager needs some familiarity with it, so the 6th Edition of the PMBOK Guide actually has small sections in each chapter showing how the content can be adapted for an agile environment. And another improvement I see in this introductory chapter is that it spells out the differences in the characteristics of the various project life cycles a lot more clearly
In the 6th Edition of the PMBOK Guide, in Figure X3-1 of Appendix X3, the Iterative and Incremental life cycles are listed on a one-dimensional continuum like this:
Predictive ————- Iterative ————- Incremental ——————– Agile
However, in the Agile Practice Guide, the Continuum of Life Cycles is explained using a two-dimensional square, as shown in Figure 3-1 on p. 19 of the Guide, with the two variables being degree of change and frequency of delivery to the customer.
The four life cycles are contrasted below in terms of these two variables:
- Predictive–projects that have a low degree of change and a low frequency of delivery to the customer. In this case the reduced uncertainty and complexity allows teams to break work down and put in into a sequence that is predictable.
- Iterative–for a project that has a high degree of change (but a low frequency of delivery to the customer), an iterative approach allows feedback on partially completed or unfinished work to improve and modify that work so that it is repeated until correct.
- Incremental–for a project that has a low degree of change but a high frequency of delivery to the customer), an incremental approach provides finished deliverables that the customer may be able to use immediately.
- Agile–for a project that has BOTH a high degree of change AND a high frequency of delivery to the customer, an agile approach leverages both the aspects of iterative (repeated until correct) and incremental (frequent smaller deliveries) characteristics. When teams use agile approaches, they iterate over the product to create finished deliverables. With each iteration, the team gains early feedback and provides customer visibility, confidence, and control of the product. Because the team delivers the highest value work first, the project may provide an earlier return on investment.
In the next post, the four life cycles will be compared and contrasted with how they deal with the concept of planning.
Filed under: Uncategorized |
Leave a Reply