February 2010: Scrum: Developed and Sustained by Ken Schwaber and Jeff Sutherland
February 2010: Scrum: Developed and Sustained by Ken Schwaber and Jeff Sutherland
People
History
© 2008-2010 Ken Schwaber and Jeff Sutherland, All Rights Reserved Page | 2
Purpose
Scrum has been used to develop complex products since the early
1990s. This paper describes how to use Scrum to build products.
Scrum is not a process or a technique for building products; rather, it
is a framework within which you can employ various processes and
techniques. The role of Scrum is to surface the relative efficacy of your
development practices so that you can improve upon them while
providing a framework within which complex products can be
developed.
Scrum Theory
Scrum, which is grounded in empirical process control theory, employs
an iterative, incremental approach to optimize predictability and
control risk. Three pillars uphold every implementation of empirical
process control.
© 2008-2010 Ken Schwaber and Jeff Sutherland, All Rights Reserved Page | 3
The third leg is adaptation
If the inspector determines from the inspection that one or more
aspects of the process are outside acceptable limits, and that the
resulting product will be unacceptable, the inspector must adjust the
process or the material being processed. The adjustment must be
made as quickly as possible to minimize further deviation.
There are three points for inspection and adaptation in Scrum. The
Daily Scrum meeting is used to inspect progress toward the Sprint
goal, and to make adaptations that optimize the value of the next
work day. In addition, the Sprint Review and Planning meetings are
used to inspect progress toward the Release Goal and to make
adaptations that optimize the value of the next Sprint. Finally, the
Sprint Retrospective is used to review the past Sprint and determine
what adaptations will make the next Sprint more productive, fulfilling,
and enjoyable.
Scrum Content
The Scrum framework consists of a set of Scrum Teams and their
associated roles; Time-Boxes, Artifacts, and Rules.
© 2008-2010 Ken Schwaber and Jeff Sutherland, All Rights Reserved Page | 4
length throughout a development effort. All Sprints use the same
Scrum framework, and all Sprints deliver an increment of the final
product that is potentially releasable. One Sprint starts immediately
after the other.
Scrum Roles
The Scrum Team consists of the ScrumMaster, the Product Owner, and
the Team. Scrum Team members are called “pigs.” The Product
Owner is the “pig” of the Product Backlog. The Team is the “pig” of
the Sprint work. The ScrumMaster is the “pig” of the Scrum process.
Everyone else is a “chicken.” Chickens cannot tell “pigs” how to do
their work. Chickens and pigs come from the story,
© 2008-2010 Ken Schwaber and Jeff Sutherland, All Rights Reserved Page | 5
“A chicken and a pig are together when the chicken says, "Let's
start a restaurant!"
The pig thinks it over and says, "What would we call this
restaurant?"
© 2008-2010 Ken Schwaber and Jeff Sutherland, All Rights Reserved Page | 6
The Product Owner
The Product Owner is the one
and only person responsible for
Tip
managing the Product Backlog
For commercial development,
and ensuring the value of the the Product Owner may be the
work the Team performs. This product manager. For in-house
development efforts, the
person maintains the Product
Product Owner could be the
Backlog and ensures that it is manager of the business
visible to everyone. Everyone function that is being
automated.
knows what items have the
highest priority, so everyone
knows what will be worked on.
© 2008-2010 Ken Schwaber and Jeff Sutherland, All Rights Reserved Page | 7
The Team
Teams of developers turn Product Backlog into increments of
potentially shippable functionality every Sprint. Teams are also cross-
functional; Team members must have all of the skills necessary to
create an increment of work. Team members often have specialized
skills, such as programming, quality control, business analysis,
architecture, user interface design, or data base design. However, the
skills that Team member share – that is, the skill of addressing a
requirement and turning it into a usable product – tend to be more
important than the ones that they do not. People who refuse to code
because they are architects or designers are not good fits for Teams.
Everyone chips in, even if that requires learning new skills or
remembering old ones. There are no titles on Teams, and there are no
exceptions to this rule. Teams do not contain sub-Teams dedicated to
particular domains like testing or business analysis, either.
The optimal size for a Team is seven people, plus or minus two. When
there are fewer than five Team members, there is less interaction and
as a result less productivity gain. What’s more, the Team may
encounter skill constraints during parts of the Sprint and be unable to
deliver a releasable piece of the product. If there are more than nine
members, there is simply too much coordination required. Large
Teams generate too much complexity for an empirical process to
manage. However, we have encountered some successful Teams that
have exceeded the upper and lower bounds of this size range. The
Product Owner and ScrumMaster roles are not included in this count
unless they are also pigs, working on tasks in the Sprint Backlog.
© 2008-2010 Ken Schwaber and Jeff Sutherland, All Rights Reserved Page | 8
Team composition may change at the end of a Sprint. Every time
Team membership is changed, the productivity gained from self-
organization is diminished. Care should be taken when changing Team
composition.
Time-Boxes
The Time-Boxes in Scrum are the Release Planning Meeting, the
Sprint, the Sprint Planning Meeting, the Sprint Review, the
Sprint Retrospective, and the Daily Scrum.
Products are built iteratively using Scrum, wherein each Sprint creates
an increment of the product, starting with the most valuable and
riskiest. More and more Sprints create additional increments of the
product. Each increment is a potentially shippable slice of the entire
product. When enough increments have been created for the Product
to be of value, of use to its investors, the product is released.
© 2008-2010 Ken Schwaber and Jeff Sutherland, All Rights Reserved Page | 9
Most organizations already have a release planning process, and in
most of these processes most of the planning is done at the beginning
of the release and left unchanged as time passes. In Scrum release
planning, an overall goal and probable outcomes are defined. This
release planning usually requires no more than 15-20% of the time an
organization consumed to build a traditional release plan. However, a
Scrum release performs just-in-time planning every Sprint Review and
Sprint Planning meeting, as well as daily just-in-time planning at every
Daily Scrum meeting. Overall, Scrum release efforts probably consume
slightly more effort than tradition release planning efforts.
The Sprint
A Sprint is an iteration. Sprints
are time-boxed. During the Tip
Sprint, the ScrumMaster ensures If the Team senses that it has
that no changes are made that overcommitted, it meets with
the Product Owner to remove
would affect the Sprint Goal. or reduce the scope of Product
Both Team composition and Backlog selected for the Sprint.
quality goals remain constant If the Team senses that it may
have extra time, it can work
throughout the Sprint. Sprints with the Product Owner to
contain and consist of the Sprint select additional Product
Planning meeting, the Backlog.
© 2008-2010 Ken Schwaber and Jeff Sutherland, All Rights Reserved Page | 10
the horizon is too long, the
definition may have changed, too Tip
many variables may have When a Team begins Scrum,
entered in, the risk may be too two-week Sprints allow it to
learn without wallowing in
great, etc. Scrum is a framework uncertainty. Sprints of this
for a project whose horizon is no length can be synchronized with
other Teams by adding two
more than one month long,
increments together.
where there is enough
complexity that a longer horizon
is too risky. The predictability of the project has to be controlled at
least each month, and the risk that the project may go out of control
or become unpredictable is contained at least each month.
Sprints can be cancelled before the Sprint time box is over. Only the
Product Owner has the authority to cancel the Sprint, although he or
she may do so under influence from the stakeholders, the Team, or
the ScrumMaster. Under what kind of circumstances might a Sprint
need to be cancelled? Management may need to cancel a Sprint if the
Sprint Goal becomes obsolete. This could occur if the company
changes direction or if market or technology conditions change. In
general, a Sprint should be cancelled if it no longer makes sense given
the circumstances. However, because of the short duration of Sprints,
it rarely makes sense to do so.
© 2008-2010 Ken Schwaber and Jeff Sutherland, All Rights Reserved Page | 11
allocate proportionately less of the total Sprint length to this meeting
(for example, two weeks would be a four-hour Sprint Planning
Meeting). The Sprint Planning Meeting consists of two parts. The first
part is when what will be done in the Sprint is decided upon. The
second part (a four-hour time-box for a monthly Sprint) is when the
Team figures out how it is going to build this functionality into a
product increment during the Sprint.
There are two parts to the Sprint Planning Meeting: the “What?” part
and the “How?” part. Some Scrum Teams combine the two. In the first
part, the Scrum Team addresses the question of “What?” Here, the
Product Owner presents the top priority Product Backlog to the Team.
They work together to figure out what functionality is to be developed
during the next Sprint. The input to this meeting is the Product
Backlog, the latest increment of product, the capacity of the Team,
and past performance of the Team. The amount of backlog the Team
selects is solely up to the Team. Only the Team can assess what it can
accomplish over the upcoming Sprint.
The reason for having a Sprint Goal is to give the Team some wiggle
room regarding the functionality. For example, the goal for the above
Sprint could also be: “Automate the client account modification
functionality through a secure, recoverable transaction middleware
capability.” As the Team works, it keeps this goal in mind. In order to
satisfy the goal, it implements the functionality and technology. If the
work turns out to be harder than the Team had expected, then the
Team collaborates with the Product Owner and only partially
implement the functionality.
© 2008-2010 Ken Schwaber and Jeff Sutherland, All Rights Reserved Page | 12
In the second part of the Sprint Planning Meeting, the Team addresses
the question of “How?” During the second part of the Sprint Planning
Meeting (four hour time-box for a monthly Sprint), the Team figures
out how it will turn the Product Backlog selected during Sprint Planning
Meeting (What) into a done increment. The Team usually starts by
designing the work. While designing, the Team identifies tasks. These
tasks are the detailed pieces of work needed to convert the Product
Backlog into working software. Tasks should have decomposed so they
can be done in less than one day. This task list is called the Sprint
Backlog. The Team self-organizes to undertake the work in the Sprint
Backlog, either during the Sprint Planning meeting or just-in-time
during the Sprint.
The Product Owner is present during the second part of the Sprint
Planning Meeting to clarify the
Product Backlog and to help
make trade-offs. If the Team Tip
determines that it has too much Usually, only 60-70% of the
or too little work, it may total Sprint Backlog will be
devised in the Sprint Planning
renegotiate the Product Backlog meeting. The rest is stubbed
with the Product Owner. The out for later detailing, or given
large estimates that will be
Team may also invite other
decomposed later in the Sprint.
people to attend in order to
provide technical or domain
advice. A new Team often first realizes that it will either sink or swim
as a Team, not individually, in this meeting. The Team realizes that it
must rely on itself. As it realizes this, it starts to self-organize to take
on the characteristics and behavior of a real Team.
Sprint Review
At the end of the Sprint, a Sprint Review meeting is held. This is a four
hour time-boxed meeting for one month Sprints. For Sprints of lesser
duration, allocate proportionately less of the total Sprint length to this
meeting (for example, two weeks would be a two-hour Sprint Review).
During the Sprint Review, the Scrum Team and stakeholders
© 2008-2010 Ken Schwaber and Jeff Sutherland, All Rights Reserved Page | 13
collaborate about what was just done. Based on that and changes to
the Product Backlog during the Sprint, they collaborate about what are
the next things that could be done. This is an informal meeting, with
the presentation of the functionality intended to foster collaboration
about what to do next.
Sprint Retrospective
After the Sprint Review and prior to the next Sprint Planning meeting,
the Scrum Team has a Sprint Retrospective meeting. This is a three
hour, time-boxed meeting for monthly Sprints (allocate proportionately
less of the total Sprint length to this meeting). At this meeting, the
ScrumMaster encourages the Scrum Team to revise, within the Scrum
process framework and practices, its development process to make it
more effective and enjoyable for the next Sprint. Many books
document techniques that are helpful to use in Retrospectives.
The purpose of the Retrospective is to inspect how the last Sprint went
in regards to people, relationships, process and tools. The inspection
should identify and prioritize the major items that went well and those
items that-if done differently-could make things even better. These
include Scrum Team composition, meeting arrangements, tools,
definition of “done,” methods of communication, and processes for
turning Product Backlog items into something “done.” By the end of
the Sprint Retrospective, the Scrum Team should have identified
actionable improvement measures that it implements in the next
© 2008-2010 Ken Schwaber and Jeff Sutherland, All Rights Reserved Page | 14
Sprint. These changes become the adaptation to the empirical
inspection.
Daily Scrum
Each Team meets daily for a 15-minute inspect and adapt meeting
called the Daily Scrum. The Daily Scrum is at the same time and same
place throughout the Sprints. During the meeting, each Team member
explains:
The ScrumMaster ensures that the Team has the meeting. The Team is
responsible for conducting the Daily Scrum. The ScrumMaster teaches
the Team to keep the Daily Scrum short by enforcing the rules and
making sure that people speak briefly. The ScrumMaster also enforces
the rule that chickens are not allowed to talk or in anyway interfere
with the Daily Scrum.
The Daily Scrum is not a status meeting. It is not for anyone but the
people transforming the Product Backlog items into an increment (the
Team). The Team has committed to a Sprint Goal, and to these
Product Backlog items. The Daily Scrum is an inspection of the
progress toward that Sprint Goal (the three questions). Follow-on
meetings usually occur to make adaptations to the upcoming work in
the Sprint. The intent is to optimize the probability that the Team will
meet its Goal. This is a key inspect and adapt meeting in the Scrum
empirical process.
© 2008-2010 Ken Schwaber and Jeff Sutherland, All Rights Reserved Page | 15
Scrum Artifacts
Scrum Artifacts include the Product Backlog, the Release Burndown,
the Sprint Backlog, and the Sprint Burndown.
© 2008-2010 Ken Schwaber and Jeff Sutherland, All Rights Reserved Page | 16
clarity and increased detail. The
lower the priority, the less the Tip
detail, until you can barely make Scrum Teams often spend 10%
of each Sprint grooming the
out the item.
product backlog to meet the
above definition of the Product
As a product is used, as its value Backlog. When groomed to this
increases, and as the level of granularity, the Product
Backlog items at the top of the
marketplace provides feedback,
Product Backlog (highest
the product’s backlog emerges priority, greatest value) are
into a larger and more decomposed so they fit within
one Sprint. They have been
exhaustive list. Requirements analyzed and thought through
never stop changing. Product during the grooming process.
Backlog is a living document. When the Sprint Planning
meeting occurs, these top
Changes in business priority Product Backlog items
requirements, market conditions, are well understood and easily
selected.
technology, and staffing cause
changes in the Product Backlog.
To minimize rework, only the
highest priority items need to be Tip
detailed out. The Product Backlog
Acceptance tests are often used
items that will occupy the Teams as another Product Backlog
for the upcoming several Sprints item attribute. They can often
supplant more detailed text
are fine-grained, having been descriptions with a testable
decomposed so that any one description of what the Product
item can be done within the Backlog item must do when
completed.
duration of the Sprint.
Multiple Scrum Teams often work together on the same product. One
Product Backlog is used to describe the upcoming work on the Product.
A Product Backlog attribute that groups items is then employed.
Grouping can occur by feature set, technology, or architecture, and it
is often used as a way to organize work by Scrum Team.
© 2008-2010 Ken Schwaber and Jeff Sutherland, All Rights Reserved Page | 17
whatever unit of work the Scrum
Team and organization have Tip
decided upon. The units of time In some organizations, more
work is added to the backlog
are usually Sprints. than is completed. This may
create a trend line that is flat or
Product Backlog item estimates even slopes upwards. To
are calculated initially during compensate for this and retain
transparency, a new floor may
Release Planning, and thereafter be created when work is added
as they are created. During or subtracted. The floor should
Product Backlog grooming they add or remove only significant
changes and should be well
are reviewed and revised. documented.
However, they can be updated at
any time. The Team is
responsible for all estimates. The
Product Owner may influence the
Tip
Team by helping understand and
The trend line may be
select trade-offs, but the final unreliable for the first two to
estimate is made by the Team. three Sprints of a release
The Product Owner keeps an unless the Teams have worked
together before, know the
updated Product Backlog list product well, and understand
Release Backlog Burndown the underlying technology.
posted at all times. A trend line
can be drawn based on the
change in remaining work.
© 2008-2010 Ken Schwaber and Jeff Sutherland, All Rights Reserved Page | 18
tasks, it may find out that more or fewer tasks are needed, or that a
given task will take more or less time than had been expected. As new
work is required, the Team adds it to the Sprint Backlog. As tasks are
worked on or completed, the estimated remaining work for each task
is updated. When tasks are deemed unnecessary, they are removed.
Only the Team can change its Sprint Backlog during a Sprint. Only the
Team can change the contents or the estimates. The Sprint Backlog is
a highly visible, real time picture of the work that the Team plans to
accomplish during the Sprint, and it belongs solely to the Team.
© 2008-2010 Ken Schwaber and Jeff Sutherland, All Rights Reserved Page | 19
Done
Scrum requires Teams to build an increment of product functionality
every Sprint. This increment must be potentially shippable, for Product
Owner may choose to immediately implement the functionality. To do
so, the increment must be a complete slice of the product. It must be
“done.” Each increment should be additive to all prior increments and
thoroughly tested, ensuring that all increments work together.
© 2008-2010 Ken Schwaber and Jeff Sutherland, All Rights Reserved Page | 20
FINAL THOUGHTS
Some organizations are incapable of building a complete increment
within one Sprint. They may not yet have the automated testing
infrastructure to complete all of the testing. In this case, two
categories are created for each increment: the “done” work and the
“undone” work. The “undone” work is the portion of each increment
that will have to be completed at a later time. The Product Owner
knows exactly what he or she is inspecting at the end of the Sprint
because the increment meets the definition of “done” and the Product
Owner understands the definition. “Undone” work is added to a
Product Backlog item named “undone work” so it accumulates and
correctly reflects on the Release Burndown graph. This technique
creates transparency in progress toward a release. The inspect and
adapt in the Sprint Review is as accurate as this transparency.
© 2008-2010 Ken Schwaber and Jeff Sutherland, All Rights Reserved Page | 21