Scrum: A Pattern Language for Hyperproductive Software Development

By: M. Beedle, M. Devos, Y. Sharon, K. Schwaber, J. Sutherland
Published in: PLoPD4
Pages: 637-651
Category: Organization and Process

Summary: Scrum is a software development process that assumes a chaotic environment. The goal is to incrementally develop software in short, time-boxed intervals, or sprints.

Pattern: Sprint

Pages: 640-643

To allocate project work to a team over the development life cycle, during a sprint of about 30 days, the team is shielded from outside chaos and allowed to produce a deliverable.

Pattern: Backlog

Pages: 643-644

To organize the work remaining on a project, maintain a prioritized list, the Backlog. The list is dynamic and updated at the end of each Sprint

Pattern: Scrum Meetings

Pages: 644-649

To control an empirical and unpredictable development process, meet with the team in a short daily meeting where participants say: (1) what they have done since the last meeting, (2) what roadblocks were encountered, and (3) what they will be doing until the next meeting.