Pete Deemer
CPO, Yahoo! India R&D
The Origins of Scrum
Pete Deemer
CPO, Yahoo! India R&D
Defined Processes
Inputα Outputα
Inputβ Defined Process Outputβ
Inputγ Outputγ
Requirements
Gathering
Design
Documentation, Development
Signoffs, Handoff
Documentation, Testing
Signoffs, Handoff
Launch &
Documentation,
Signoffs, Handoff Maintain
Documentation,
Advantage: Highly Logical Signoffs, Handoff
Inputα Outputβ
Process
Iterative Development
Project is structured as multiple short cycles in
sequence, versus one long cycle
Incremental Development
Each iteration produces a usable increment of
finished product, with actual customer value
The Emergence of Scrum
Pete Deemer
CPO, Yahoo! India R&D
The Basics of Scrum
4-Week
Sprint
Review
Product Owner The Team
1 1
2 2
3 3 Commitment
4 4
5 Potentially
6
7 No Changes Shippable
8
9 (in Duration or Deliverable) Product
10
11
12
13
Retrospective
The Basics of Scrum
4-Week
Sprint
Review
Product Owner The Team
1
2
3 Commitment
4
5 Potentially
6
7 No Changes Shippable
8
9 (in Duration or Deliverable) Product
10
11
12
13
Retrospective
Product Owner
4-Week
Sprint
Review
Product Owner The Team
1
2
3 Commitment
4
5 Potentially
6
7 No Changes Shippable
8
9 (in Duration or Deliverable) Product
10
11
12
13
Retrospective
Team
7 people, + or – 2
Has worked with as high as 15, as few as 3
Can be shared with other teams (but better when not)
Can change between Sprints (but better when they don’t)
Can be distributed (but better when colocated)
Cross-functional
Possesses all the skills necessary to produce an increment
of potentially shippable product
Team takes on tasks based on skills, not just official “role”
Self-managing
Team manages itself to achieve the Sprint commitment
The Basics of Scrum
4-Week
Sprint
Review
Product Owner The Team
1
2
3 Commitment
4
5 Potentially
6
7 No Changes Shippable
8
9 (in Duration or Deliverable) Product
10
11
12
13
Retrospective
The Role of the ScrumMaster
Manager
The Team
What Happens to the “Manager” in Scrum?
?
Scrum Daily Scrum
Master Meeting
Manager
4-Week
Sprint
Review
Product Owner The Team
1
2
3 Commitment
4
5 Potentially
6
7 No Changes Shippable
8
9 (in Duration or Deliverable) Product
10
11
12
13
Retrospective
The New Role of the Manager
4 Possibilities
ScrumMaster
Possible issues?
Product Owner
Possible issues?
Team Member
Possible issues?
“Manager 2.0”
Manager 2.0
Keep track of whether team-members have Surface issues to the team that they might
done the tasks I’ve assigned to them overlook – scaling, performance, security, etc.
Make commitments on behalf of the team Provide input on features, functionality, and
about how much they can get done by X date other aspects of what’s being produced
Give direction to the team on how to do the Do performance evaluations and provide
work, so they can meet the commitment I made feedback to team-members
Convince team that the commitments made on Provide advice and input to the team on
their behalf are attainable difficult technical issues that come up
Conduct weekly update and 1:1 meetings with Stay abreast of latest developments in the
team, to surface issues, and provide direction technology their team uses, industry news, etc.
Recruit, interview and hire new members of the Plan and oversee budgets and financials, and
team think about tools, skills and other future needs
Fire team-members who are consistently not Help remove impediments that the team is not
able to perform able or well-placed to resolve themselves
Manager 2.0
4-Week
Sprint
Review
Product Owner The Team
1
2
3 Commitment
4
5 Potentially
6
7 No Changes Shippable
8
9 (in Duration or Deliverable) Product
10
11
12
13
4-Week
Sprint
Review
Product Owner The Team
1
2
3 Commitment
4
5 Potentially
6
7 No Changes Shippable
8
9 (in Duration or Deliverable) Product
10
11
12
13
6 Sprint 7 8 9 10
Planning
Meeting
1 2 3 4
13 14 15 16 17
5 6 7 8 Sprint Review
& Retrospective
20 21 22 23 24
27 28 29 30 31
Sprint Cycle: 4-Week Sprint
Mon Tues Weds Thurs Fri
1 2 3
6 Sprint 7 8 9 10
Planning
Meeting
1 2 3 4
13 14 15 16 17
5 6 7 8 9
20 21 22 23 24
10 11 12 13 14
27 28 29 30 31
15 16 17 18 Sprint Review
& Retrospective
Available Time During Sprint
Sanjay 7 5 35 (7 * 5)
Phillip 8 3 24 (8 * 3)
Jing 5 5 25 (5 * 5)
“8-Hour Day”
“8-Hour Day”
operational responsibilities
hacking, reading blogs, playing foosball
lunch and tea breaks
meetings, e-mail
Hours Per Day
operational responsibilities
“8-Hour Day”
Sanjay 7 5 35 (7 * 5)
Phillip 8 3 24 (8 * 3)
Jing 5 5 25 (5 * 5)
1/4 Day
1/4 Day
“1 Day”
1/4 Day
1/4 Day
Available Time in ¼ Days
Sanjay 7 28 (7 * 4)
Phillip 8 32 (8 * 4)
Jing 5 20 (5 * 4)
Upgrade
transaction
processing
module
Getting To “Done”
SPRINT
Getting To “Done”
DESIGN
CODE
TEST
Getting To “Done”
SPRINT
Creating the Sprint Backlog
Backlog
Task Owner Estimate
Item
Design business logic Sanjay 4
Design user interface Jing 2
Set up shopping cart module Tracy 2
Enable all
users to place Implement back-end code Tracy 6
book in Implement front-end code Joe 8
shopping cart
Unit testing Philip 4
Regression testing Philip 2
Documentation Tom 3
Upgrade
transaction
processing
module
Available Time During Sprint
Sanjay 7 5 35 31
Phillip 8 3 24
Jing 5 5 25
Total 214
And the Sprint Begins!
Pete Deemer
CPO, Yahoo! India R&D
The Basics of Scrum
4-Week
Sprint
Review
Product Owner The Team
1
2
3 Commitment
4
5 Potentially
6
7 No Changes Shippable
8
9 (in Duration or Deliverable) Product
10
11
12
13
Retrospective
Intensity
Intensity
Waterfall
Scrum
Time
The Basics of Scrum
4-Week
Sprint
Review
Product Owner The Team
1
2
3 Commitment
4
5 Potentially
6
7 No Changes Shippable
8
9 (in Duration or Deliverable) Product
10
11
12
13
Retrospective
No Changes During Sprint
“8-Hour Day”
4-Week
Sprint
Review
Product Owner The Team
1
2
3 Commitment
4
5 Potentially
6
7 No Changes Shippable
8
9 (in Duration or Deliverable) Product
10
11
12
13
Retrospective
Daily Scrum Meeting
Purpose of Daily Scrum Meeting
Keep team coordinated and up-to-date with each other
Surface impediments daily
How it works
Every weekday
Whole team attends
Team chooses a time that works for everyone
Product Owner can attend, but doesn’t speak
Everyone stands in a circle, facing each other (not facing the SM)
Lasts 15 minutes or less
Everyone reports 3 things only to each other
What was I able to accomplish since last meeting
What will I try to accomplish by next meeting
What are my blocks / problems / difficulties
No discussion or conversation until meeting ends
Table Exercise: Daily Scrum Meeting
Owner: Sanjay
Task Board
TO DO IN PROGRESS DONE
Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
Task: Configure database Task: Configure database Task: Configure database Task: Configure database
and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac and SpaceIDs for Trac
4-Week
Sprint
Review
Product Owner The Team
1
2
3 Commitment
4
5 Potentially
6
7 No Changes Shippable
8
9 (in Duration or Deliverable) Product
10
11
12
13
Retrospective
Sprint Review
Purpose of the Sprint Review
Demo what the team has built
Make visible whether the team completed what they set out to
Generate feedback, which the Product Owner can incorporate in
the Product Backlog
Attended by Team, Product Owner, ScrumMaster,
functional managers, and any other stakeholders
A demo of what’s been built, not a presentation about
what’s been built
no Powerpoints allowed!
Usually lasts 1-2 hours
Followed by Sprint Retrospective
The Basics of Scrum
4-Week
Sprint
Review
Product Owner The Team
1
2
3 Commitment
4
5 Potentially
6
7 No Changes Shippable
8
9 (in Duration or Deliverable) Product
10
11
12
13
Retrospective
Sprint Retrospective
What is it?
1-2 hour meeting following each Sprint Demo
Attended by Product Owner, Team, ScrumMaster
Usually a neutral person will be invited in to facilitate
What’s working and what could work better
Why does the Retrospective matter?
Accelerates visibility
Accelerates action to improve
Sprint Retrospective – A Good Approach
Part 1
Create 3 large lists (whiteboard or flipchart)
What’s working
What’s could work better
Things to try in the next Sprint
Go around the room, and give each person an
opportunity to add 1 or more items to the 3 lists
If people agree with something already on the lists, put
a tick mark next to them
Select a subset of the “Things to try...” list to try in the
next Sprint (ScrumMaster responsible for tracking this)
WHAT WORKED WHAT DIDN’T WORK
Team felt more focused than before on We didn’t finish what we committed to in the
hitting its goals time available
Sense of commitment for the team was Our estimations were way off
higher We didn’t think through the dependencies
Team had a better sense of where it was in between tasks
the Sprint because of the burndown chart The coordination between developers and
The Daily Scrum Meeting improved Team testers wasn’t very good
communication during the Sprint Our daily Scrum meeting didn’t start on time
Good idea came out during the Sprint Review The food in the cafeteria was really bad
There were a lot of outside distractions
during the Sprint
Blocks didn’t get removed quickly enough by
the ScrumMaster
There were too many bugs yet to be fixed at
the end of the Sprint
Team didn’t really work together as a team –
still felt like a group of individuals
Planning Poker
Getting Started
1. Everyone creates cards with following
values on them: ?, ½, 1, 2, 3, 5, 8, 13, 20, 50
(WRITE LARGE USING MARKER!)
2. Team agrees on a backlog item to use as a
“baseline” or “benchmark”, and gives it a
size of “5” (item should be neither biggest
nor smallest on list)
3. Size = Effort x Complexity x Uncertainty
Planning Poker
For each Product Backlog item:
1. Each person decides their size estimate relative
to the items that have already been estimated,
and privately selects a card
2. Everyone shows their cards at the same time
(ScrumMaster says “1-2-3-Show”)
3. If estimates vary significantly, high and low
estimators briefly explain
4. Repeat steps 3-5 until estimates stop
converging
5. Decide estimate for backlog item
6. Move to next backlog item
The Release Cycle in Scrum
Pete Deemer
CPO, Yahoo! India R&D
Scrum Release Cycle
2 Common Approaches:
Multi-Sprint Release
RELEASE
RELEASE
RELEASE
HIGH-LEVEL DESIGN
& ARCHITECTURE,
INVESTIGATION,
SETUP OF DEV EL
ENVIRONMENT
Release Planning and
Estimation in Scrum
Pete Deemer
CPO, Yahoo! India R&D
Estimation and Release Planning
You can continue to use your existing estimation
methods, if they’re working for you
Scrum will almost certainly allow you to get the same
or more done in a given timeframe
However, there are Scrum-specific methods that
many teams find more effective that their
previous approaches
Estimation in Scrum is based on what’s called
Velocity
Velocity is measure of how much Product Backlog the
team can complete in a given amount of time
Product Backlog
Velocity – Based on Historical Data
90 points
120 points
100 points
Team’s velocity is
~105 points per This is 620
Sprint points of
Product
Therefore, in 6 Backlog
Sprints, the team
should be able to
complete 6 x 105
= 630 points worth of
Product Backlog
Velocity Calculation
Initial Estimate
Of Velocity at Refinement
Project Start of Estimate Recalculation
based on based on Recalculation
1 Sprint of 2 Sprints of based on Recalculation
Actual Data Actual Data 3 Sprints of based on
Actual Data 4 Sprints of
Actual Data
Release Planning
Product Owner
PO PO PO PO PO
Scrum of Scrums
Daily / 2-3 times per week
Coordination, Dependencies Mgt, Block Surfacing
Scrum Purists
Tend to be the initial instigators
They also tend to be the first to feel anxiety as Scrum
stops being a guerrilla campaign, and becomes how
the army is run
Scrum Pragmatists
Tend to be more effective in big organizations
Also more prone that the purist to compromise,
possibly at the expense of effectiveness
Don’t let either of them win outright
Make sure you have both!
6. Set a High Bar and Low Expectations for
Teams that Want to Use Scrum
LAST