This is an overview of the ScrumProcess
, an AgileProcess
for software development.
To avoid the MethodOrMethodology
debate, this page's author(s) prefer(s) the term process, as is used on the Scrum website at http://www.controlchaos.com
From scrum or scrummage 1 : a rugby play in which the forwards of each side come together in a tight formation and struggle to gain possession of the ball when it is tossed in among them
2. British : MADHOUSE
A good way to begin to understand Scrum is through the terminology used in the process:
Scrum is made up of two InspectAndAdapt
cycles: the monthly ScrumSprint
and the daily Scrum Meeting. All
activity takes place within these two cycles. (There's a half-exception to this: when a team first starts using Scrum, they can't begin a Sprint until there is something on the ProductBacklog
. Building just enough ProductBacklog
to start the Sprint may therefore happen before the Sprint officially begins. It may also happen as part of the first SprintPlanningMeeting
, which would make it part of the monthly cycle.)
The monthly Sprint
This is a 30-day cycle that results in a potentially shippable increment of the software product. During this period the team is empowered to do whatever
it takes to meet their goal.
The Sprint begins with a SprintPlanningMeeting
attended by the ProductOwner
, the ScrumTeam
, and any other parties that want to see how the next 30 days will likely go. At the first half of this meeting the ScrumTeam
and the ProductOwner
select some items from the ProductBacklog
that can be implemented in the next 30 days. Based on these items, the ProductOwner
and the ScrumTeam
agree on a SprintGoal
for the next 30 days. This half of the meeting is usually about 4 hours.
The second half of the meeting is where the ScrumTeam
takes the items from the ProductBacklog
and distills them into items for the SprintBacklog
items are high-level and loosely defined. They will be estimated from 1 - 20 days or so. SprintBacklog
items are lower-level and much more defined. They should be measured in hours, not days, and will be estimated from 1 - 16 hours or so.
The daily Scrum Meeting
The chance to InspectAndAdapt
comes every day in Scrum at the DailyScrum
. Each work day the Scrumteam gathers in the same place at the same time. The ScrumMaster
asks each person 3 questions, in turn:
- "What have you done since the last Scrum meeting?"
- "What do you plan to do before the next Scrum meeting?"
- "What impediments are in your way?"
This is a good place to introduce the idea of ChickensAndPigs
. A not-so-funny joke:
A chicken and a pig decide to start a restaurant.
The pig says, "What should we call it?"
The chicken says, "How about 'Ham & Eggs'?"
The pig says, "No thanks. I'd be committed, but you'd just be involved."
In Scrum, people on the ScrumTeam
are pigs. Everyone else is a chicken. At the DailyScrum
, only pigs can talk. Chickens can come to the meeting to observe and learn, but they can't talk, make funny faces, whisper, take notes loudly, or in any other way communicate during the meeting. If they do, they have to leave. If they persist, they can be banned from the meeting. This applies to all chickens, including (especially?) executives.
After the DailyScrum
, the team gets to work, and the ScrumMaster
sets about removing impediments. LatherRinseRepeat
During the Sprint, the ScrumTeam
has two requirements: attend the DailyScrum
and update the SprintBacklog
with number of hours remaining. Notice that this is estimated work remaining, not a measure of work done. A task that had 3 hours remaining on Monday may have 5 hours remaining on Tuesday and 10 hours remaining on Wednesday, even though the developer has worked on it solid for 2 days. Updates to the SprintBacklog
do not reflect the amount of work that has been done on a task; they reflect the work remaining to complete the task.
At the end of 30 days, there is a SprintReview
where the team demonstrates the increment of the software they have completed. This meeting has a two hour
rule: no more than two hours of prep time are allowed, and PowerPoint
is forbidden...unless you're using Scrum to develop PowerPoint
. The primary focus of this is to allow the ProductOwner
and other parties to see the working software, and comment on it. Things they say as they play with it and use it will become items on the ProductBacklog
for future sprints.
That's Scrum, in a nutshell. The concepts are easy, the practice is hard.
Perhaps Scrum is not a HighToleranceMethodology
as nowadays a new term has been coined: ScrumBut?
, which are dialects of traditional application of ScrumMethodology
. -- DericoFilho
See Also: ScrumProcess