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.