Beruflich Dokumente
Kultur Dokumente
Scrum
Page 1 of 20
The first activity of each sprint is a sprint planning meeting. During this
meeting the product owner and team talk about the highest-priority
items on the product backlog. Team members figure out how many
items they can commit to and then create a sprint backlog, which is a
list of the tasks to perform during the sprint.
On each day of the sprint, a daily scrum meeting is attended by all
team members, including the ScrumMaster and the product owner.
This meeting is timeboxed to no more than fifteen minutes. During that
time, team members share what they worked on the prior day, will
work on today, and identify any impediments to progress. Daily scrums
serve to synchronize the work of team members as they discuss the
work of the sprint.
At the end of a sprint, the teams conducts a sprint review. During the
sprint review, the team demonstrates the functionality added during
the sprint. The goal of this meeting is to get feedback from the product
owner or any users or other stakeholders who have been invited to the
review. This feedback may result in changes to the freshly delivered
functionality. But it may just as likely result in revising or adding items
to the product backlog.
Another activity performed at the end of each sprint is the sprint
retrospective. The whole team participates in this meeting, including
the ScrumMaster and product owner. The meeting is an opportunity to
reflect on the sprint that is ending and identify opportunities to
improve in the new sprint.
Scrum
Page 2 of 20
Scrum
Page 3 of 20
Scrum
Page 4 of 20
Overview of Scrum
Daily scrum
Product backlog
Product owner
Release burndown
ScrumMaster
Scrum team
Sprint backlog
Sprint planning meeting
Sprint review meeting
Using a task board
Scrum illustrations and wallpapers
A Presentation on Scrum
If after reading a bit about Scrum, you decide youd like to take the
next step, consider attending Certified ScrumMaster class or
scheduling one for your company.
The product owner is the projects key stakeholder and represents users,
customers and others in the process. The product owner is often
Scrum
Page 5 of 20
At the end of each sprint, the team demonstrates the completed functionality
at a sprint review meeting, during which, the team shows what they
accomplished during the sprint. Typically, this takes the form of a
demonstration of the new features, but in an informal way; for
example, PowerPoint slides are not allowed. The meeting must not
become a task in itself nor a distraction from the process.
Note :
The term backlog can get confusing because its used for two different
things. To clarify: the product backlog is a list of desired features for the
product. The sprint backlog is a list of tasks to be completed in a
sprint.
Scrum
Page 6 of 20
Scrum
Page 7 of 20
thanks," says the pig, "I'd be committed, you'd only be involved." The
joke is meant to point out the difference between those who are
committed on a project and those who are only involved. Scrum affords
special status to those who are committed and many teams enforce a
rule in which only those who are committed are allowed to talk during
the daily scrum.
All team members are required to attend the daily scrum. Since both the
ScrumMaster and Product Owner are committed team members, they
are expected to attend and participate. Anyone else (for example, a
departmental VP, a salesperson, or a developer from another project)
is allowed to attend but is there only to listen. This makes the daily
scrums an excellent way for a Scrum team to disseminate status
information--if you're interested in hearing where things are at, attend
that day's meeting.
The daily scrum is not used as a problem-solving or issue resolution meeting.
Issues that are raised are taken offline and usually dealt with by the
relevant sub-group immediately after the daily scrum. During the daily
scrum each team member provides answers to the following three
questions:
What did you do yesterday?
What will you do today?
Are there any impediments in your way?
By focusing on what each person accomplished yesterday and will accomplish
today the team gains an excellent understanding of what work has
been done and what work remains. The daily scrum is not a status
update meeting in which a boss is collecting information about who is
behind schedule. Rather, it is a meeting in which team members make
commitments to each other. If a programmer stands up and says
"Today I will finish the data storage module" everyone knows that in
tomorrow's meeting he will say whether or not he did finish. This has
the wonderful effect of helping a team realize the significance of these
commitments and that their commitments are to each other, not to
some far-off customer or salesman.
Any impediments that are raised become the ScrumMaster's responsibility to
resolve as quickly as possible. Typical impediments are:
Scrum
Page 8 of 20
The Product Backlog is the master list of all functionality desired in the
product. When using Scrum, it is not necessary to start a project with a
lengthy, upfront effort to document all requirements. Typically, a Scrum team
and its product owner begin by writing down everything they can think of
easily. This is almost always more than enough for a first sprint. The Product
Backlog is then allowed to grow and change as more is learned about the
product and its customers.
Product backlog items can be technical tasks ("Refactor the Login class to
throw an exception") or more user-centric ("Allow undo on the setup screen").
My preference is to express the product backlog in the form of user stories,
which are a technique borrowed from Extreme Programming, another agile
process.
The product owner shows up at the sprint planning meeting with the
prioritized product backlog and describes the top items to the team. The
team then determines which items they can complete during the coming
sprint. The team then moves items from the Product Backlog to the Sprint
Backlog. In doing they expand each Product Backlog item into one or more
Sprint Backlog tasks so they can more effectively share work during the
Sprint. Conceptually, the team starts at the top of the prioritized Product
Backlog list and draws a line after the lowest of the high priority items they
feel they can complete. In practice it is not unusual to see a team select, for
example, the top five items and then two items from lower on the list but that
are associated with the initial five.
Scrum
Page 9 of 20
This Excel spreadsheet shows each product backlog item assigned a general
priority (Very High, High, etc.) by the Product Owner. Estimates have been
developed by the developers but it is understood that they are very imprecise
and are useful only for rough assignments of tasks into the various sprints.
Scrum
Page 10 of 20
commits that he or she will not throw new requirements at the team during
the sprint. Requirements are allowed to change (and change is encouraged)
but only outside the sprint. Once the team starts on a sprint it remains
maniacally focused on the goal of that sprint.
Release Burndown Charts - Agile Scrum Release Burndown Charts for Scrum
& agile projects
Release Burndown
On a Scrum project, the team tracks its progress against a release plan by
updating a release burndown chart at the end of each sprint. The horizontal
axis of the release burndown chart shows the sprints; the vertical axis shows
the amount of work remaining at the start of each sprint. Work remaining can
be shown in whatever unit the team prefers--story points, ideal days, team
days, and so on. My preference is for story points, for all of the reasons
described in the Agile Estimating and Planning book.
On this burndown chart, the team started a project that was planned to be
eleven two-week sprints. They began with 200 story points of work. The first
sprint went well and from the chart you can infer that they had around 180
story points of work remaining after the first sprint. During the second sprint,
however, the estimated work remaining actually burned up. This could have
been because work was added to the project or because the team changed
some estimates of the remaining work. From there the project continued well.
Progress slowed during sprint 7 but then quickly resumed.
Scrum
Page 11 of 20
This type of release burndown chart works very well in many situations and in
many teams. However, on projects with lots of changing requirements you
may want to look at an alternative release burndown chart.
ScrumMaster
The ScrumMaster is responsible for making sure a Scrum team lives by the
values and practices of Scrum. The ScrumMaster protects the team by
making sure they do not over-commit themselves to what they can achieve
during a sprint.
The ScrumMaster facilitates the daily scrum and becomes responsible for
removing any obstacles that are brought up by the team during those
meetings.
The ScrumMaster role is typically filled by a project manager or a technical
team leader but can be anyone.
Scrum
Page 12 of 20
Scrum teams. These meetings are analogous to the Daily Scrum Meeting, but
do not necessarily happen every day. In many organizations, having a Scrum
of Scrums meeting two or three times a week is sufficient.
The illustration below shows how a Scrum of Scrums approach allows Scrum
to scale up (in this case to 243 people). Each cell represents one person on a
Scrum team. The bottom of this illustration shows teams with nine developers
on them. One person from each team (the differently colored cell) also
participates in a Scrum of Scrum to coordinate work above that team. Then
from those nine-person teams another person is selected (this time shown
with diagonal lines) to participate in what is called a Scrum of Scrums of
Scrums.
You can also read further for advice on conducting the Scrum of Scrums
meeting.
Scrum
Page 13 of 20
During the Sprint the ScrumMaster maintains the sprint backlog by updating
it to reflect which tasks are completed and how long the team thinks it will
take to complete those that are not yet done. The estimated work remaining
in the sprint is calculated daily and graphed, resulting in a sprint burndown
chart like this one:
The team does its best to pull the right amount of work into the sprint but
sometimes too much or too little work is pulled in during the Sprint planning
meeting. In this case the team needs to add or remove tasks. In the above
sprint burndown chart you can see that the team had pulled in too much
work initially and still had nearly 600 hours to go on 5/16/02. In this case the
Product Owner was consulted and it was agreed to remove some work from
the sprint, which resulted in the big drop on the chart between 5/16/02 (619
Scrum
Page 14 of 20
hours) and 5/17/02. From there the team made good consistent progress and
finished the sprint successfully.
Scrum
Page 15 of 20
Scrum
Page 16 of 20
StoryThe story description (As a user I want to) shown on that row.
To DoThis holds all the cards that are not done or in process.
Work In ProcessAny card being worked on goes here. The programmer
who chooses to work on it moves it over when shes ready to start the
task. Often this happens during the Daily Scrum when someone says,
Im going to work on the boojum today.
To VerifyA lot of tasks have corresponding test task cards. So, if
theres a Code the boojum class card there is likely one or more task
cards related to testing: Test the boojum, Write FitNesse tests for
the boojum, Write FitNesse fixture for the boojum, etc. Some task
cards dont often get corresponding test cards (Fix Bug #321 in
Bugzilla) so those are placed in the To Verify column.
DoneCards pile up over here when theyre done. Theyre removed at
the end of the sprint. Sometimes I remove some or all during a sprint if
there are a lot of cards.
Scrum
Page 17 of 20
indicate the tests are specified. Ideally, not a lot of work (in the form of
task cards) crosses this column without a checkmark in it.
Here are some photos of actual task boards in use. Click on any to enlarge.
Scrum
Page 18 of 20
A task board made with black tape on a large wall-sized cabinet. There's food
in the cabinet!
Scrum
Page 19 of 20
Scrum
Page 20 of 20