Page 95 -
P. 95

78   Chapter 3   Agile software development




                        The Scrum method is an agile method that provides a project management framework. It is
                         centered around a set of sprints, which are fixed time periods when a system increment is
                         developed. Planning is based on prioritizing a backlog of work and selecting the highest-
                         priority tasks for a sprint.
                        Scaling agile methods for large systems is difficult. Large systems need up-front design and
                         some documentation. Continuous integration is practically impossible when there are several
                         separate development teams working on a project.






                  FURTHER RE ADING


                      Extreme Programming Explained. This was the first book on XP and is still, perhaps, the most
                      readable. It explains the approach from the perspective of one of its inventors and his
                      enthusiasm comes through very clearly in the book. (Kent Beck, Addison-Wesley, 2000.)

                      ‘Get Ready for Agile Methods, With Care’. A thoughtful critique of agile methods that discusses
                      their strengths and weaknesses, written by a vastly experienced software engineer. (B. Boehm,
                      IEEE Computer, January 2002.) http://doi.ieeecomputersociety.org/10.1109/2.976920.
                      Scaling Software Agility: Best Practices for Large Enterprises. Although focused on issues of
                      scaling agile development, this book also includes a summary of the principal agile methods
                      such as XP, Scrum, and Crystal. (D. Leffingwell, Addison-Wesley, 2007.)

                      Running an Agile Software Development Project. Most books on agile methods focus on a
                      specific method but this book takes a different approach and discusses how to put XP into
                      practice in a project. Good, practical advice. (M. Holcombe, John Wiley and Sons, 2008.)






                  E XERCISES

                      3.1. Explain why the rapid delivery and deployment of new systems is often more important
                           to businesses than the detailed functionality of these systems.
                      3.2. Explain how the principles underlying agile methods lead to the accelerated development
                           and deployment of software.
                      3.3. When would you recommend against the use of an agile method for developing a software
                           system?

                      3.4. Extreme programming expresses user requirements as stories, with each story written
                           on a card. Discuss the advantages and disadvantages of this approach to requirements
                           description.
   90   91   92   93   94   95   96   97   98   99   100