Page 44 -
P. 44

2 - PROJECT LIFE CYCLE AND ORGANIZATION






                   most, in conjunction with features that are added subsequently. The analysis and architect phases may be revisited
                   based on demonstrations of the deliverable product increments.

                      As illustrated in Figure 2-4, increments 2, 3, and 4 add features that build on previously built features in
                   accordance with prioritization of the feature sets. Each increment of product capability is verified with respect to
                   the requirements for that feature set during the Test stage and validated by demonstrating incremental capabilities
                   for the appropriate stakeholders during the Demo Working Product stage. Verification techniques during the Test
                   stage may include testing, analysis, inspection, and review.

                      Iteration may occur (or not) within the Design, Construct, and Iterate stages and within the Test stage, as well
                   as between the two phases.

                      In Figure 2-4, the feedback arrows from development of an increment to a previous one indicates that adding
                   new features may expose defects to be fixed in the previous increment or that refactoring of a previous increment
                   may be needed to better accommodate the features being added.

                      The number of features included in a feature set, the time allocated for development of the features, and the
                   resources to be applied provide a trade-off space of features, time, and resources. The duration of each incremental
                   development phase is often limited to one month or less so that feedback is provided frequently and corrections
                   can be made before defects are propagated to larger units of software, which would require more rework.

                      Development of increments may be overlapped in time, as indicated in Figure 2-4, or they may be developed
                   sequentially. Incremental development can be overlapped when a partially completed increment provides a basis
                   to allow the following phase to proceed, and provided there are sufficient resources to permit development of two
                   increments to proceed concurrently.
                      Incremental software development may be on the predictive side of the life cycle continuum or on the adaptive
                   side of the life cycle continuum, depending upon how the prioritized feature sets are managed. Predictive product
                   development establishes the feature sets and the priorities among them prior to starting the incremental development
                   phases, perhaps to satisfy schedule and resource constraints when the requirements are known and are stable;
                   changes to feature sets are tightly controlled. An adaptive approach allows features and feature sets designated for
                   subsequent increments to be reprioritized and modified prior to starting the incremental phase in which they will be
                   implemented but features are tightly controlled during development of the corresponding increment.
                                                                                              ®
                         •   Iterative-incremental product development. Section 2.4.2.3 of the PMBOK  Guide states that most
                           life cycles develop the product both iteratively and incrementally. As indicated in Sections 2.4.2.2 and
                           2.4.2.3 of this extension, iterative and incremental development are distinct concepts that allow software
                           project life cycles to combine project iterations and product increments in various ways.


                   2.4.2.4 Adaptive Life Cycles

                                                          ®
                      According to Section 2.4.2.4 of the PMBOK  Guide: “Adaptive life cycles (also known as change-driven or agile
                   methods) are intended to facilitate change and require a high degree of ongoing stakeholder involvement.”






          32       ©2013 Project Management Institute. Software Extension to the PMBOK  Guide Fifth Edition
                                                                   ®
   39   40   41   42   43   44   45   46   47   48   49