Wednesday, June 11, 2008

How does Scrum work?

Scrum is a software development process for small teams. It is more effective for the teams that work independently. Well seasoned research in social dynamics supports this view. The phenomenon called social loafing, identified as early as 1927, empirically measured individual contribution to a group effort.

As in all projects, there must be an initial planning phase. During this phase, the project team must develop an architecture and identify a chief architect. During development, the team should be prepared to make changes to this architecture, but they need a plan, an architecture, and a chief architect at the start. The chief architect defines the development project’s vision based on this architecture and ensures that vision’s consistency throughout all the development phases.

After initial planning, a series of short development phases, or sprints, deliver the product incrementally. A sprint typically lasts one to four weeks. A closure phase usually completes product development.

The team tracks all currently identified tasks, capturing them in a list called the backlog. The backlog drives team activity. Before each sprint, the team updates the backlog and reprioritizes the tasks - each team signs up for a number of tasks and then executes a sprint. Individual team members agree to complete tasks they believe are feasible during each sprint. The team defines task granularity as appropriate, commonly specifying that a task must be completed in less than a week - larger tasks are more difficult to define and report.

During a sprint, no changes are allowed from outside the team.

Figure: Scrum Workflow

No comments: