Page 46 -
P. 46

2 - PROJECT LIFE CYCLE AND ORGANIZATION






                                  Table 2-2 Attributes of Iterations in Adaptive Software Project Life Cycles


                                             Attribute                              Goal

                                Multi-Stage Iterations: Iterations incorporate as many   Systematic elaboration of product scope
                                software engineering stages as desired (from analyze   Reduction of technical risk using iterations of
                                to test).
                                                                     construction, integration, and testing followed by
                                                                     demonstration
                                Vertical Slices: Iterations can deliver increments of   Detection and correction of integration issues and
                                functionality that include as many architecture   interface defects on a continuing basis
                                components as desired.
                                                                     Increased understanding for software developers,
                                                                     customers, users, and other stakeholders based on
                                                                     intermediate software deliverables
                                Short Durations: Iterations typically range in duration   Timely oversight and corrective action based on
                                from daily to monthly.               frequent demonstrations and reviews of evolving,
                                                                     working software
                                Time Boxes: All iterations are planned to have the   Simplified project planning
                                same duration.                       Improved estimates, based on accumulated data such
                                                                     as velocity and burndown rate




                      Another important aspect of adaptive software project life cycles is the relationship among product scope, size,
                   cost, and schedule. For many adaptive life cycle projects, the cost and schedule for each iterative cycle are fixed
                   because the number of personnel and the time box are fixed for each iteration. The scope of work, and therefore
                   the product features that can be implemented on each iteration are adjusted to fit the constraints of fixed cost and
                   fixed schedule per iteration.

                      For adaptive software projects, the software to be developed is often characterized by stories, use cases, or
                   features implemented rather than modules or lines of code implemented. An adaptive project team quickly learns
                   how much work can be accomplished during each iterative cycle. Accumulated experience also allows teams to
                   accurately forecast how much time it will take to complete the implementation of a set of features. A measure of
                   productivity derived from the production rate, called velocity, is the ratio of work products produced to the amount
                   of effort expended by the team during an iteration cycle. Velocity measurements can be accumulated during
                   development iterations and used to track planned versus actual progress and to forecast final cost and completion
                   date, which is similar to the way earned value is used to track the construction phase of predictive life cycle projects.

                      A generic example of a software development method for an adaptive software project life cycle is illustrated in
                   Figure 2-5. This is a common software development pattern, often used as a basis for agile development methods.
                   Examples that use variations of this pattern include Scrum, eXtreme Programming, Feature-Driven Development,
                   Test-Driven Development, and the Dynamic System Development Method.













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