Scrum hangs all of its practices on an iterative, incremental process skeleton. Scrum’s skeleton is shown in Figure 1-2. The lower circle represents an iteration of development activities that occur one after another. The output of each iteration is an increment of product. The upper circle represents the daily inspection that occurs during the iteration, in which the individual team members meet to inspect each others’ activities and make appropriate adaptations. Driving the iteration is a list of requirements. This cycle repeats until the project is no longer funded.
The skeleton operates this way: At the start of an iteration, the team reviews what it must do. It then selects what it believes it can turn into an increment of potentially shippable functionality by the end of the iteration. The team is then left alone to make its best effort for the rest of the iteration. At the end of the iteration, the team presents the increment of functionality it built so that the stakeholders can inspect the functionality and timely adaptations to the project can be made.
The heart of Scrum lies in the iteration. The team takes a look at the requirements, considers the available technology, and evaluates its own skills and capabilities. It then collectively determines how to build the functionality, modifying its approach daily as it encounters new complexities, difficulties, and surprises. The team figures out what needs to be done and selects the best way to do it. This creative process is the heart of the Scrum’s productivity.
Scrum implements this iterative, incremental skeleton through three roles. I’ll provide a quick overview of these people operating within the Scrum process. Then I’ll describe the Scrum process flow and its artifacts. Appendix A, “Rules,” and Appendix B, “Definitions,” provide a list of rules as well as Scrum definitions that can be referred to as you read this book. More detailed information about Scrum can be found in Appendix C, “Resources,” and in Ken Schwaber and Mike Beedle’s, Agile Software Development with Scrum (Prentice Hall, 2002).