Page 42 -
P. 42
2 - PROJECT LIFE CYCLE AND ORGANIZATION
2.4.2.3 Iterative and Incremental Life Cycles
According to Section 2.4.2.3 of the PMBOK Guide, iterative and incremental life cycles are those in which
®
the project scope is generally determined early in the project life cycle, but time and cost estimates are routinely
modified as the project team’s understanding of the product increases.
For software projects, requirements are often modified in addition to routinely modifying time and cost estimates,
thus making trade-offs possible among requirements, time, and cost as the project team’s understanding of the
product increases. One or more of these three factors may be constrained, thus limiting the trade-off options.
Constraining all three factors usually results in project and product failure.
As described in Section 2.4.2.2 of this Software Extension, process iterations and product increments are distinct
concepts. Iterations are elements of the development process while increments are elements of the product. The
intangible nature of software permits interleaving, overlapping, and intermixing of iterations and increments in
various ways.
• Iterative project life cycles. Iterative life cycles for software projects repeat one or more of the software
development stages; the number of stages included in one iteration may vary from iteration to iteration.
Some iterations may involve only one development stage, whereas others may involve multiple stages.
The software product is progressively elaborated; feedback is incorporated as new information is gained
and understanding increases. New requirements may emerge, existing requirements may be modified,
and derived requirements may be added. A life cycle is often beneficial when complexity is high, when
the project incurs frequent changes, or when the scope is subject to differing stakeholders’ views of the
desired final software product. Figure 2-3 illustrates some elements of a software project life cycle for a
single product delivery that iterates between two project phases and among three stages in each of the
phases.
• Incremental product development. Each increment of incremental product development adds
functionality that increases the product scope. This approach provides the opportunity for project
managers and stakeholders to view intermediate demonstrations of working software and for the
Analyze Construct
Product Deliverable
Scope Architect Integrate Product
Design Test
Figure 2-3. A Software Project Life Cycle with Two Iterative Phases, Each Having Three Iterative Stages
30 ©2013 Project Management Institute. Software Extension to the PMBOK Guide Fifth Edition
®