An Introduction To Scrum
An Introduction To Scrum
An Introduction To Scrum
to Scrum
Mountain Goat
Software, LLC
n Introduction to Scru
Presented
by <you>
<date>
Mountain Goat
Software, LLC
We’ re losing the relay
race
“ The… ‘ relay race’ approach
to product development…may
conflict with the goals of
maximum speed and flexibility.
Instead a holistic or ‘ rugby’
approach—where a team tries to
go the distance as a unit,
Hirotaka Takeuchi and Ikujiro
passing the ball
Nonaka,back
“ The Newand
New Product
forth—may better serve today’ s
Development Game” , Harvard
Business Review, January 1986.
competitive requirements.”
Mountain Goat
Software, LLC
•Scrum inan100
Scrum is agile process that allows us
words
to focus on delivering the highest
business value in the shortest time.
•It allows us to rapidly and repeatedly
inspect actual working software (every
two weeks to one month).
•The business sets the priorities. Teams
self-organize to determine the best way
to deliver the highest priority
features.
•Every two weeks to a month anyone can
see real working software and decide to
release it as is or continue to enhance
it for another sprint.
Mountain Goat
Software, LLC
Scrum origins
• Jeff Sutherland
• Initial scrums at Easel Corp in
1993
• IDX and 500+ people doing Scrum
• Ken Schwaber
• ADM
• Scrum presented at OOPSLA 95 with
Sutherland
• Author of three books on Scrum
• Mike Beedle
• Scrum patterns in PLOPD4
• Ken Schwaber and Mike Cohn
• Co-founded Scrum Alliance in 2002,
initially within the Agile
Alliance
Mountain Goat
Software, LLC
Scrum has been used by:
•Microsoft •Intuit
•Yahoo •Nielsen Media
•Google •First American Real Estat
•Electronic Arts
•BMC Software
•High Moon Studios
•Ipswitch
•Lockheed Martin
•John Deere
•Philips •Lexis Nexis
•Siemens •Sabre
•Nokia •Salesforce.com
•Capital One •Time Warner
•BBC •Turner Broadcasting
•Intuit •Oce
Mountain Goat
Software, LLC
Scrum has been used for:
• Commercial software •Video game development
• In-house development •FDA-approved, life-
critical systems
• Contract development
• Fixed-price projects •Satellite-control
software
• Financial applications
• Websites
• ISO 9001-certified
•Handheld software
applications
• Embedded systems •Mobile phones
• 24x7 systems with •Network switching
99.999% uptime applications
requirements
•ISV applications
• the Joint Strike
•Some of the largest
Fighter
applications in use
Mountain Goat
Software, LLC
Characteristics
• Self-organizing teams
• Product progresses in a series of month-
long “ sprints”
• Requirements are captured as items in a
list of “ product backlog”
• No specific engineering practices
prescribed
• Uses generative rules to create an agile
environment for delivering projects
• One of the “ agile processes”
Mountain Goat
Software, LLC
The Agile Manifesto–a
statement of values
Individuals
Individuals and
and Process
Process and
and
over
interactions
interactions tools
tools
Comprehensive
Comprehensive
Working
Working software
software over
documentation
documentation
Customer
Customer Contract
Contract
over
collaboration
collaboration negotiation
negotiation
Responding
Responding to
to over Following
Following aa plan
plan
change
change
Source: www.agilemanifesto.org
Mountain Goat
Software, LLC
Project noise level
Far from
Agreement
Anarchy
Requirements
Complex
Co
mp
li Source: Strategic Management
ca and Organizational Dynamics
te by Ralph Stacey in Agile
d Software Development with
toSimple
Scrum by Ken Schwaber and
Close Mike Beedle.
Agreement
Certainty
Close to
Far from
Certainty
Technology
Mountain Goat
Software, LLC
Scrum 24 hours
Sprint
2-4 weeks
Sprint goal
Return
Sprint Potentially shippabl
Cancel
Return backlog product increment
Gift
Coupons
wrap
Gift
Cancel
wrap Coupons
Product
backlog
Mountain Goat
Software, LLC
Putting it all together
Image available at
www.mountaingoatsoftware.com/scr
um
Mountain Goat
Software, LLC
Sprints
• Scrum projects make progress in a
series of “ sprints”
• Analogous to Extreme Programming
iterations
• Typical duration is 2–4 weeks or a
calendar month at most
• A constant duration leads to a better
rhythm
• Product is designed, coded, and tested
during the sprint
Mountain Goat
Software, LLC
Sequential vs.
overlapping development
Mountain Goat
Software, LLC
Scrum framework
Roles
•Product
owner
•ScrumMasterCeremonie
•Team
sSprint planning
•
•Sprint review
•Sprint
retrospective
•Daily scrum
Artifact
meeting
sProduct backlog
•
•Sprint backlog
•Burndown charts
Mountain Goat
Software, LLC
Scrum framework
Roles
•Product
owner
•ScrumMasterCeremonies
•Team
•Sprint planning
•Sprint review
•Sprint
retrospective
•Daily scrum
Artifact
meeting
sProduct backlog
•
•Sprint backlog
•Burndown charts
Mountain Goat
Software, LLC
Product owner
• Define the features of the product
• Decide on release date and content
• Be responsible for the profitability
of the product (ROI)
• Prioritize features according to
market value
• Adjust features and priority every
iteration, as needed
• Accept or reject work results
Mountain Goat
Software, LLC
The ScrumMaster
• Represents management to the project
• Responsible for enacting Scrum values
and practices
• Removes impediments
• Ensure that the team is fully functional
and productive
• Enable close cooperation across all
roles and functions
• Shield the team from external
interferences
Mountain Goat
Software, LLC
The team
• Typically 5-9 people
• Cross-functional:
• Programmers, testers, user
experience designers, etc.
• Members should be full-time
• May be exceptions (e.g., database
administrator)
Mountain Goat
Software, LLC
The team
Mountain Goat
Software, LLC
Scrum framework
Roles
•Product
owner
•ScrumMaster
•Team Ceremonies
•Sprint planning
•Sprint review
•Sprint
retrospective
•Daily scrum
Artifact
meeting •sProduct backlog
•Sprint backlog
•Burndown charts
Mountain Goat
Software, LLC
Team
Sprint planning
Team
capacity
capacity meeting
Sprint
Product
Product
•prioritization
Analyze and evaluate Sprint
Sprint
product backlog goal
backlog
backlog
• Select sprint goal
goal
Business
Business
conditio
conditio Sprint
ns
ns
•planning
Decide how to achieve
sprint goal (design) Sprint
Sprint
Current
Current
product
product • Create sprint backlog backlo
backlo
(tasks) from product
backlog items (user
gg
Technolo
Technolo stories / features)
gy
gy • Estimate sprint backlog
in hours
Mountain Goat
Software, LLC
Sprint planning
• Team selects items from the product
backlog they can commit to completing
• Sprint backlog is created
• Tasks are identified and each is estimated
(1-16 hours)
• Collaboratively, not done alone by the
ScrumMaster
• High-level design is considered
As
As aa vacation
vacation Code the middle tier (8 hours)
planner,
planner, II want
want to
to
Code the user interface (4)
Write test fixtures (4)
see
see photos
photos of
of the
the Code the foo class (6)
hotels.
hotels.
Update performance tests (4)
Mountain Goat
Software, LLC
The daily scrum
• Parameters
• Daily
• 15-minutes
• Stand-up
• Not for problem solving
• Whole world is invited
• Only team members, ScrumMaster,
product owner, can talk
• Helps avoid other unnecessary
meetings
Mountain Goat
Software, LLC
Everyone answers 3
questions
1
What did
did you do yesterday?
yesterday?
2
What will you do
do today?
today?
3
Is anything in your way?
• These are not status for the ScrumMaster
• They are commitments in front of peers
Mountain Goat
Software, LLC
The sprint review
• Team presents what it accomplished
during the sprint
• Typically takes the form of a demo
of new features or underlying
architecture
• Informal
• 2-hour prep time rule
• No slides
• Whole team participates
• Invite the world
Mountain Goat
Software, LLC
Sprint retrospective
• Periodically take a look at
what is and is not working
• Typically 15–30 minutes
• Done after every sprint
• Whole team participates
• ScrumMaster
• Product owner
• Team
• Possibly customers and others
Mountain Goat
Software, LLC
Start / Stop / Continue
Stop doing
This is just one Continue
of many ways to
do a sprint doing
retrospective.
Mountain Goat
Software, LLC
Scrum framework
Roles
•Product
owner
•ScrumMasterCeremonies
•Team
•Sprint planning
•Sprint review
•Sprint
retrospective
•Daily scrum
Artifact
meeting
sProduct backlog
•
•Sprint backlog
•Burndown charts
Mountain Goat
Software, LLC
Product backlog
•The requirements
•A list of all desired
work on the project
•Ideally expressed
such that each item
has value to the
users or customers of
the product
•Prioritized by the
product owner
This
This isis the
the
product
product
•Reprioritized at the
start of each sprint
backlog
backlog
Mountain Goat
Software, LLC
A sample product backlog
Estimat
Backlog item
e
Allow a guest to make a
3
reservation
As a guest, I want to cancel a
5
reservation.
As a guest, I want to change
3
the dates of a reservation.
As a hotel employee, I can run
RevPAR reports (revenue-per- 8
available-room)
Improve exception handling 8
... Goat
Mountain 30
Software, LLC
The sprint goal
•A short statement of what the work
will be focused on during the sprint
Life Sciences
Support features necessary for
Database Application population genetics studies.
Mountain Goat
Software, LLC
Managing the sprint
backlog
• Any team member can add, delete or
change the sprint backlog
• Work for the sprint emerges
• If work is unclear, define a sprint
backlog item with a larger amount
of time and break it down later
• Update work remaining as more
becomes known
Mountain Goat
Software, LLC
A sprint backlog
Tasks
Tasks Mon
Mon Tues
Tues Wed
Wed Thur
Thur Fri
Fri
Code the user interface 8 4 8
Code the middle tier 16 12 10 4
Test the middle tier 8 16 16 11 8
Write online help 12
Write the foo class 8 8 8 8 8
Add error logging 8 4
Mountain Goat
Software, LLC
A sprint burndown chart
Hours
Mountain Goat
Software, LLC
Tasks
Tasks Mon
Mon Tues
Tues Wed
Wed Thur
Thur Fri
Fri
Code the user
8 4 8
interface
Code the middle
16 12 10 7
tier
Test the middle
8 16 16 11 8
tier
Write online help 12
50
40
Hours
30
20
10
0
Mon Tue Wed Thu Fri
Mountain Goat
Software, LLC
Scalability
• Typical individual team is 7 ± 2
people
• Scalability comes from teams of teams
• Factors in scaling
• Type of application
• Team size
• Team dispersion
• Project duration
• Scrum has been used on multiple 500+
person projects
Mountain Goat
Software, LLC
Scaling through the Scrum
of scrums
Mountain Goat
Software, LLC
Scrum of scrums of scrums
Mountain Goat
Software, LLC
Where to go next
• www.mountaingoatsoftware.com/scr
um
• www.scrumalliance.org
• www.controlchaos.com
• [email protected]
Mountain Goat
Software, LLC
A Scrum reading list
• Agile and Iterative Development: A
Manager’ s Guide by Craig Larman
• Agile Estimating and Planning by Mike Cohn
• Agile Project Management with Scrum by Ken
Schwaber
• Agile Retrospectives by Esther Derby and
Diana Larsen
Mountain Goat
Software, LLC
A Scrum reading list
• Agile Software Development Ecosystems by
Jim Highsmith
• Agile Software Development with Scrum by
Ken Schwaber and
Mike Beedle
• Scrum and The Enterprise by Ken Schwaber
• Succeeding with Agile by Mike Cohn
• User Stories Applied for Agile Software
Development by Mike Cohn
Mountain Goat
Software, LLC
Copyright notice
•You are free:
• to Share―to copy, distribute and and transmit the work
• to Remix―to adapt the work
•Under the following conditions
• Attribution. You must attribute the work in the manner
specified by the author or licensor (but not in any
way that suggests that they endorse you or your use of
the work).
Mountain Goat
Software, LLC
Contact information
Presentation
Presentation by:
by: Mike
Mike
Cohn
Cohn
mike@mountaingoatsoftwar
mike@mountaingoatsoftwar
e.com
e.com
www.mountaingoatsoftware
www.mountaingoatsoftware
.com
.com
(720)
(720) 890-6110
890-6110 (office)
(office)
y
You can remove this (or an
the
slide) but you must credit
source somewhere in your
and
presentation. Use the logo
company name (as at bottom
clude a
left, for example) or in
at
slide somewhere saying th
portions (or all) of your
is
presentation are from th
source. Thanks.
Mountain Goat
Software, LLC