Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
by Kenny Rubin
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved. 1
Instructor—Kenny Rubin
Managing Director
krubin@innolution.com
2
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
Multi-level
Planning
3
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
Exercise—Planning Retrospective
Sequential Agile
• All-encompassing task-
• Created at multiple levels
oriented plans created
of detail
upfront
• Frequently updated
• Reluctance to update plans
• Created by team with full
• Little buy-in to dates from
buy-in
team
Exercise—Planning Assessment
(Planning Levels)
True More More False N/A
True False
than than
False True
At the start of each iteration
we create a plan showing the
tasks that we’ll work on
during that iteration.
Before the first iteration, we
create an initial plan that
shows an incremental release
of features and we update
this plan during the project.
5
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
Exercise—Planning Assessment
(Critical Variables)
True More More False N/A
True False
than than
False True
One or more of scope,
schedule, or resources is
allowed to change during a
project.
6
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
Exercise—Planning Assessment
(Progress Tracking)
True More More False N/A
True False
than than
False True
Teams knows their velocity.
7
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
Exercise—Planning Assessment
(Source of Dates and Estimates)
True More More False N/A
True False
than than
False True
Developers are included in
the planning process in a
way that they can
meaningfully and
appropriately affect scope
and deadlines.
Estimates are created
collaboratively by the people
who will do the work.
8
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
Exercise—Planning Assessment
(When Do We Plan)
True More More False N/A
True False
than than
False True
Upfront planning is helpful
without being excessive.
Team members leave planning
meetings knowing what needs
to be done and have
confidence they can meet their
commitments.
Teams communicate the need
to change release date or
scope as soon as they are
discovered.
Effort spent on planning is
spread approximately evenly
throughout the project.
9
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
What Makes Planning Agile?
Is
Is more
more focused
focused on
on
planning
planning than
than the
the plan
plan
Encourages
Encourages change
change
Results
Results in
in plans
plans that
that
are
are easily
easily changed
changed
Is
Is spread
spread throughout
throughout
the
the project
project
Balances
Balances effort
effort with
with
probability
probability of
of change
change
10
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
11
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
Does Agile Mean Don’t Plan?
Tradeoffs between
3-4 times per Product owner
Release features and delivery
year and team
date
What features can be
Every Product owner
Sprint delivered within the
iteration and team
sprint
How to complete
Daily Every day Team
committed features
12
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
Strategy
Daily
13
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
Product Roadmap
Market Scrum
Agile 2007
Events Gathering
Story 1 Market
Launch &
Retire
Map
Scrum Agile
Market Gathering 2007
••• Events
0.5 1.0
Story 15 Release
Schedule
Story 16
•••
Story 41
•••
15
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
Release Planning
Release Plan
16
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
Sprint Planning
Sprint 1
Task 1 8
Task 2 6
Task 3 12
Task 4 5
Task 5 4
17
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
Putting It All Together
Product
Roadmap Release 1 Release 2 Release 3
Release Plan
Sprint
Backlog
Task 1 8
Task 2 6
Task 3 12
Task 4 5
Task 5 4
18
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
Stake
holders
19
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
Core Agile Planning Elements
Story 1 5 Individual
Individual product
product Team
Team velocity
velocity
backlog
backlog estimates
estimates
Story 2 3
Story 3 8
Story 4 1 Velocity is measured
in the units you use
••• to estimate Product
Backlog items
Story 15 2
Story 16 13 ∑ of individual
estimates
•••
Story 41 5
••• Release
Release size
size estimates
estimates
Sum 200
20
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
l e a s e Plan n ing
Re
23
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
What is Release Planning?
Purpose
To answer questions such as:
• How much will be done by June 30?
• When can we ship with this set of features?
• How many people or teams should be on this
project?
Inputs
• Velocity—the amount of work completed
in a Sprint
• The length of the project
• Prioritized Product Backlog
24
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
Product Backlog
1
2
3
Must have
…
Should have
Could have
25
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
Minimum Marketable Features
26
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
An Example “Theme”
Initial Velocity
2
Wait
Wait until
until you
you run
run at
at least
least one
one sprint
sprint
3
Forecast
Forecast it
it
Express velocity as a range that matches your
uncertainty in it
29
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
Look at Velocity in a Few Ways
Last Observation = 36
Mean (Last 8) = 33
Mean (Worst 3) = 28
Sprints
30
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
31
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
Example: Updating a Release Plan
Here
Here are
are the
the results
results ofof the
the last
last 88 iterations.
iterations. There
There are
are 66
iterations
iterations left.
left. Using
Using this
this data,
data, update
update thethe release
release plan
plan
on
on the
the following
following slide
slide by
by drawing
drawing threethree arrows
arrows into
into it.
it.
Velocity
Mean of worst 3 =
Most recent =
Long-term average = 15
Iterations
32
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
How
How much
much can
can II get
get by
by <date>?
<date>?
1.Determine how many iterations you have
2.Measure or estimate velocity as a range
3.Multiply nominal velocity × number of iterations
• Count off that many points
• These are “Will Have” items
4.Multiply optimistic velocity × number of iterations
• Count off that many more points
• These are “Might Have items”
34
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
Desired release
30 June
date
Will have
Today’s Date 1 January
6×15
Number of
6 (monthly)
iterations
Might have
Optimistic
20 Won’t have
velocity
35
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
Fixed-scope Planning
When
When will
will all
all of
of this
this be
be done?
done?
1.Sum all the backlog items the customer needs
2.Measure or estimate velocity as a range
3.Divide total story points by optimistic velocity
• This is the shortest number of iterations it
could take
4.Divide total story points by nominal velocity
• This is the “most” iterations it could take
36
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
Nominal velocity 15
Optimistic velocity 20
120÷20=
120÷15=
37
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
p ri n t Pl a n n i ng
S
38
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
3
I want to…
Write test fixture 6
As a frequent flyer,
5 Code middle tier 12
I want to…
Write tests 5
As a frequent flyer,
5 Automate tests 4
I want to…
Sprint 2
As a frequent flyer,
2
I want to…
As a Cr
frequent g this2
eatinflyer, “Yesterday
“Yesterday II started
started
I want to… on the UI; I should
on the UI; I should
is Sprint finish
finish before
before the
the
Planning end
end of
of today.”
today.”
39
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
Sprint
-3 -2 -1
prioritization
Sprint
1 2 3 4 5
Planning
6 7 8 9 10
11 12 13 14 15
Sprint Review
and
16 17 18 19 20
Retrospective
+1 Sprint
Planning 40
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
err
aamm
sstte
wwnn
TTee
Maa
t OO
mM
uucct
rruum
ruum
m
odd
r
SScc
PPrro
SScc
Product
Product backlog
backlog
Team
Team capabilities
capabilities Sprint Planning Sprint
Sprint Goal
Goal
Meeting
Business
Business conditions
conditions (Conducted by
Product Owner)
Technology
Technology Sprint
Sprint Backlog
Backlog
Current
Current product
product
41
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
The Sprint Goal
Life Sciences
Support features necessary for
Database Application population genetics studies.
42
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
•• You
You leave
leave Sprint
Sprint planning
planning with
with an
an estimated
estimated set
set of
of
tasks
tasks
•• And
And the
the team’s
team’s commitment
commitment to
to complete
complete the
the product
product
backlog
backlog items
items represented
represented by
by this
this Sprint
Sprint Backlog
Backlog
44
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
45
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
Commitment-Driven Sprint
Planning
Can commit;
not full
Adjust
Priorities Select
A Story Can commit;
but full
To Add
Ask For Sprint
Team Planning
Identify Split User Commitment Is Done
Sprint Stories Into
Cannot
Goal Tasks
commit
Estimate Remove a
Tasks User Story
46
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
• Eliminate Waste
• Don’t plan too far into the future for features that
we might never build
• Work in Progress is eliminated (completed) every
Sprint
• Schedule buffering (rather than task buffering)
eliminates aggressive local safety waste
• Amplified Learning
• Replanning occurs frequently
• Estimates of size and duration are separated
• Uncertainty is acknowledged and planned for
• Leave Options Open as Long as Possible
• Feature buffering allows commitment to exact
deliverables at the time when best information is
available
47
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
Why Agile Planning Works
(Continued)
• Deliver as Fast As Possible
• Plans are based on features, not tasks
• Small stories (features) keep the work moving
• Resource alerts and effective prioritization enable
early finishes
• Empower the Team
• Estimating, planning and tracking are done at the
team level, not individual level
• Schedule buffering is done at the team level
• See the Whole
• Plans are made at different levels
• Focus on the end date (end of Sprint or end of
Release) and not the specific task completion dates
48
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.