Page 48 -
P. 48

2 - PROJECT LIFE CYCLE AND ORGANIZATION










                                                    Select Next           Specify
                                                      Feature           Requirement(s)


                                                                Frequent
                                                Team           Iterations            Prepare
                                               Members          and Daily           Test Cases
                                                               Standups

                                                    Demonstrate         Add Code for
                                                    Capabilities        New Features,
                                                                          Test, and
                                           Potential                      Refactor
                                            Product
                                            Delivery

                                Figure 2-6. Internal Development Cycles for Adaptive Software Development




                      Figure 2-6 illustrates the internal details of the software development cycles in Figure 2-5. Note that features
                   are translated into requirements and that test cases are written before the code for new features is added (i.e., test-
                   driven development). Code is added and the software is tested (perhaps iteratively). The software is then refactored
                   to improve the structure without altering the behavior. Some software developers alter the sequence “add code
                   for new features, test, and refactor” to “test, add code for new features, test, and refactor.” The latter sequence
                   indicates an approach that iteratively applies the tests to the code, which will fail without the new features, the
                   code is iteratively written and the test scenarios are applied until the new code passes the tests; the code is then
                   refactored.

                      The next increment of tested, deliverable software is demonstrated to the customer, users, and other stakeholders
                   when the features in the feature set are implemented. The demonstration may result in acceptance of the software
                   or may result in requests for revisions. Corrections, additions, and adjustments to the software can usually be
                   accommodated during the next iteration cycle without disrupting the cadence of iterations because the iteration
                   cycles are short and the added functionality to be corrected is not large. The short-cycle feedback loop is efficient
                   because the software developers have all of the details in mind. The team velocity accounts for frequent, small
                   updates typically encountered in the daily iteration cycles.


                      In some cases, a correction or addition may be added to the product feature set for later consideration. The
                   iteration cycles depicted in Figure 2-5 continue until all features in the feature set are implemented or until the
                   customer, user, and other stakeholders are satisfied with the outcome; or perhaps until time, money, and resources
                   are exhausted. In the latter case, the most important features have been implemented according to the prioritization
                   of features in the feature set.

                      It should also be noted that the scope of an adaptive software project includes other elements of project scope,
                   as appropriate to the needs of the project, such as architectural design, independent verification and validation,
                   configuration management, and quality assurance and quality control.





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