Professional Documents
Culture Documents
n
i
t
a
m
i
t
s
E
Agile
and
g
n
i
n
n
a
l
P
Mike Cohn
m
o
c
.
e
r
a
w
t
f
tso
a
o
g
n
i
a
t
n
u
o
mike@m
0
1
0
2
,
8
e
Jun
Copyright
2009Mountain
MountainGoat
GoatSoftware
Software
Mike Cohn
Founding member and
director of Agile Alliance
and Scrum Alliance
Founder of Mountain
Goat Software
Doing Scrum since 1995
Started my career as a
programmer; worked as
VP Engineering in 4
companies
Copyright Mountain Goat Software
Scrum
24 hours
Sprint
2-4 weeks
Sprint goal
Return
Return
Cancel
Gift
Coupons
wrap
Gift
Cancel
wrap
Product
backlog
Sprint
backlog
Potentially shippable
product increment
Coupons
Release 2
Release 3
Release Plan
Iteration 1 Iteration 2 Iteration 3
Iteration 47
Well focus
here today
Task A
Task B
Task C
Task D
8 hours
16 hours
5 hours
8 hours
Copyright Mountain Goat Software
Agenda
Product Backlog
Iteration Backlog
D27C6BF6?EVJ6C#
want to
D27C6BF6?EVJ6C#
want to
D27C6BF6?EVJ6C#
want to
D27C6BF6?EVJ6C#
want to
D27C6BF6?EVJ6C#
want to
Code the UI
0C:E6E6DEUIEFC6
12
Write tests
Automate tests
Were talking
about these
right now
Copyright Mountain Goat Software
Size
Calculation
Duration
300
kilograms
Velocity =
20
300/20 =
15 iterations
10
Measures of size
Traditional and agile measure size differently
Traditional
measures
of size
Lines of Code
Function Points
Agile
measures
of size
Story points
Ideal days
11
Story points
As a user, I want to be
The bigness of a task able to have some but not
#?VF6?4653J
all items in my cart gift
wrapped.
How hard it is
8
12
Dog points
Assign dog points to the following breeds.
Labrador retriever
Dachshund
Great Dane
Poodle
German Shepherd
Terrier
St. Bernard
Bulldog
13
A typo
10
The largest
new feature
14
Agenda
15
Ideal time
How long something would take if
its all you worked on
you had no interruptions
and everything you need is available
16
17
18
Daily
plan
Daily
plan
Daily
plan
Iteration plan
Daily
plan
Daily
plan
19
30
3
D27C6BF6?EVJ6C#
want to
50
5
D27C6BF6?EVJ6C#
want to
50
5
D27C6BF6?EVJ6C#
want to
20
2
D27C6BF6?EVJ6C#
want to
20
2
Code the UI
0C:E6E6DEUIEFC6
12
Write tests
Automate tests
Copyright
2009Mountain
MountainGoat
GoatSoftware
Software
20
What I usually do
I prefer story points, but they make some teams
uncomfortable, so Ill
Start with ideal time
Gives the team a nice foundation for the initial stories
Helps team get started
21
Agenda
22
Estimate by analogy
Comparing a user story to others
This story is like that story, so its estimate is
what that storys estimate was.
23
Triangulation
@?UC>6DE:>2E6D3J4@>A2C:?8E96DE@CJE@>F=E:A=6
other stories.
Group like-sized stories on table or whiteboard
3
points
Story A
2
points
Story C
Story D
1
point
Story B
Story E
Story F
24
Disaggregation
Breaking a big story into smaller stories or
tasks
You know how long the smaller tasks take
So, disaggregating to something you know lets
you estimate something bigger you dont know
25
Accuracy
Effort
Copyright
2009Mountain
MountainGoat
GoatSoftware
Software
26
Include 0
and if
you want
27
Planning
Poker
28
Planning
Poker 2?6I2>A=6
Vadim
Ann
Chris
8
Copyright Mountain Goat Software
29
Estimate these
Product backlog item
A
B
C
D
E
F
G
H
Estimate
30
Development Effort.
2Hagafors, R., and B. Brehmer. 1983. Does Having to Justify Ones Decisions Change
the Nature of the Decision Process?
3Brenner, et al. 1996. On the Evaluation of One-sided Evidence.
4Miranda, Eduardo. 2001. Improving Subjective Estimates Using Paired
Comparisons.
5Saaty, Thomas. 1996. Multicriteria Decision Making: The Analytic Hierarchy Process.
Copyright Mountain Goat Software
31
32
www.PlanningPoker.com
Free,
or I
wouldnt
mention it
Copyright Mountain Goat Software
33
Agenda
34
Product Backlog
Iteration Backlog
D27C6BF6?EVJ6C#
want to
D27C6BF6?EVJ6C#
want to
D27C6BF6?EVJ6C#
want to
D27C6BF6?EVJ6C#
want to
Creating this
D27C6BF6?EVJ6C#
5
want to list is iteration
Code the UI
0C:E6E6DEUIEFC6
12
Write tests
Automate tests
Tasks
Hours
planning
35
Two approaches
1
L R06U?:D965
DE@CJA@:?ED=2DEE:>6=6ETDA=2?@?
story points this time.
L Very unreliable in what will be accomplished during
an iteration
L Velocity is mostly useful over the long term
36
37
Hours/Day
Hours / Iteration
Sergey
46
4060
Yuri
57
5070
Carina
23
2030
Total
110160
Copyright Mountain Goat Software
38
As a user, I want
3
39
time
time
Copyright
2009Mountain
MountainGoat
GoatSoftware
Software
40
A caution
L The purpose of the iteration planning
41
Agenda
42
Release planning
Release Planning Meeting
Release plan
Iterations
Iteration 1 Iteration 2 Iteration 3
47
43
Velocity
To do a release plan, you need to know or
have an estimate of velocity
Three ways to get velocity:
1. Use historical averages
2. Run 1-2 iterations and see what you get
3. Forecast it
,9@F=5366IAC6DD652D2C2?86
Size of range depends on familiarity of team,
domain, and technologies
Copyright Mountain Goat Software
44
Forecasting velocity
Just like commitment-driven iteration
planning
Estimate available hours for the iteration
Repeat until full:
Pick a story, break into tasks, estimate each task
45
?6I2>A=6
Available Hours /
Person Hours/Day
Iteration
Sergey
46
4060
Yuri
57
5070
Carina
23
2030
Total
To
110160
46
?6I2>A=6
What is the velocity if this team can
work 110160 hours per iteration?
Code
12
Design
Document
Decide
48
Analyze
Automate
22
Story
Points
As a frequent
VJ6C#H2?EE@P
As a visitor, I
can
As a vacation
planner, I can
22
As a frequent
VJ6C#H2?EE@P
Code
Test
31
Design
12
Test
48
48
47
48
2=4F=2E624@?U56?46:?E6CG2=7C@>E96
teams historical velocity data.
Sorted Velocities
27
35
Median
38
39
40
40
41
45
4@?U56?46
interval
nth Highest
& Lowest
Iteration to
Use
11
13
16
18
21
23
26
.D6E96?6IE=@H6C?F>36C
of iterations if you dont have
2?6I24E?F>36C
34
# of
Historical
Iterations
49
IEC2A@=2E67C@>E96G6=@4:EJC2?86
Assume:
There are five
iterations left.
Copyright
2009Mountain
MountainGoat
GoatSoftware
Software
50
Mike Cohn
mike@mountaingoatsoftware.com
www.mountaingoatsoftware.com
twitter: mikewcohn
(720) 8906110
51