Sei sulla pagina 1di 26

Agile Planning

by Kenny Rubin

Includes slides from:

Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved. 1
Instructor—Kenny Rubin

Managing Director

krubin@innolution.com

(303) 827-3333 (office)

(303) 589-5938 (mobile)

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

• At which points in your SDLC do you perform


planning?
• What are your typically critical constraints
when planning (e.g., date, features, etc.)?
• What is your source of estimates and dates?
4
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

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.

Product owners are willing to


discuss tradeoffs between
scope and schedule.

Product owners prioritize


work for teams.

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.

At the end of each iteration,


we create a release burndown
chart, which shows how much
work remains in the release.
We create and update iteration
burndown charts, which shows
how much estimated work is
remaining each day.
Features are either complete
or not; no partial credit is
given.

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.

Exercise: “Double Black Diamond”


Survival Project
• Project goal is to get
to from the top of the
mountain to the
bottom using the
equipment, time and
resources that you
have been allocated
• Plan your project!

11
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
Does Agile Mean Don’t Plan?

No! The opposite, agile puts a premium on


planning
Planning
Frequency Who Focus
Level
1-2 times per Product owner Product evolution over
Product
year and executives time

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.

The Planning Onion

Strategy

Portfolio Agile Product


Management is
Product
mostly concerned
Release with the space from
Sprint
Product to Sprint.

Daily

13
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
Product Roadmap

Q107 Q207 Q307 Q407


Market Launch &
Map Retire

Feature/ Class Listings Membership Searching


Benefit Map CST Support Bulk Loading Filtering

Architecture Ruby on RegOnline


Map Rails Integration

Market Scrum
Agile 2007
Events Gathering

Release 0.5 1.0


Schedule Based on design from Luke Hohmann
14
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

Roadmaps and Backlogs Are


Independent But Linked
Q107 Q207 Q307 Q407

Story 1 Market
Launch &
Retire
Map

Story 2 Class Listings Membership Searching


Feature/ CST Support Bulk Loading Filtering
Benefit Map
Story 3 Ruby on RegOnline
Architecture Rails Integration
Story 4 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 1 Release 2 Release 3

Release Plan

Sprint 1 Sprint 2 Sprint 3 Sprint 4 - 7

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 1 Sprint 2 Sprint 3 Sprint 4 - 7

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.

When Does Planning Occur?

Team & Leader Leader


SM
PO Leader Leader Leader Leader Leader Leader

Stake
holders

Release PO Sprint PO Estimate Sprint Sprint Sprint


Planning Planning Planning Planning Review Retro Planning

Jan Feb Mar

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.

What’s a Good Plan?

• A good plan is one that supports


reliable decision-making
• Will go from
• We’ll be done in the fourth quarter
• We’ll be done in November
• We’ll be done November 7th

“It’s better to be roughly


right than precisely wrong.”
~John Maynard Keynes
21
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
...Three Levels of Precision
Product Backlog Sprint Backlog
As
As aa frequent
frequent Code
Code the
the UI UI 88
33
flyer,
flyer, II want
want to...
to... Write
Write test
test fixture
fixture 66
As
As aa frequent
frequent Code
Code middle
middle tier
tier 12
12
55
flyer,
flyer, II want
want to...
to... Write
Write tests
tests 55
As
As aa frequent
frequent Automate
55 Automate tests
tests 44
flyer,
flyer, II want
want to...
to...
As
As aa frequent
frequent 22
flyer,
flyer, I want
I want to...
to...
As “Yesterday
“Yesterday II started
started
As aa frequent
frequent 33
flyer, on
on the
the UI;
UI; II should
should
flyer, II want
want to...
to...
finish
finish before
before thethe end
end
of
of today.”
today.”
22
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.

What Features to Include: MuSCoW

Product Backlog
1
2
3
Must have

Should have

Could have

Moved to the next


Won’t have
release (out of scope)

25
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
Minimum Marketable Features

• Components with intrinsic marketable


value
• Creates business value by:
• Competitive differentiation
• Revenue generation
• Cost Saving
• Brand projection
• Enhanced loyalty

26
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

An Example “Theme”

As a frequent flyer, I want to book a flight.

..., I want to book a flight using miles.

..., I want to book a flight and pay for it.

..., I want to re-book a flight I take often.

..., I want to request an upgrade to first class.

..., I want to see if my upgrade cleared.

Be sure you are organizing stories around user needs;


not around how you’ll build the software or
how the company is organized.
27
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
28
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

Initial Velocity

Three ways to determine Initial Velocity


1
Use
Use historical
historical averages
averages

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.

Extrapolate from Velocity


Assume:
There are five
iterations left.

At our slowest velocity we’ll finish here


(5×28)

At our long-term average we’ll finish here


(5×33)
At current velocity we’ll finish here (5×36)

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.

Example: Update This Release Plan


6 × worst 3 = ____ 6 × average of last 8 = ____ 6 × most recent = ____
Running
Estimate Story
Total
5 5 As a user, I can...
10 5 As a user, I can...
23 13 As a user, I can...
31 8 As a user, I can...
51 20 As a user, I can...
59 8 As a user, I can...
64 5 As a user, I can...
72 8 As a user, I can...
77 5 As a user, I can...
85 8 As a user, I can...
90 5 As a user, I can...
93 3 As a user, I can... 33
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
Fixed-date Planning

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.

Fixed-date Planning: An Example

Desired release
30 June
date
Will have
Today’s Date 1 January

6×15
Number of
6 (monthly)
iterations
Might have

Nominal velocity 15 6×20

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.

Fixed-scope planning: an example


Total story points desired 120

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.

Which Are We Talking About?


Product Backlog Sprint Backlog
As a frequent flyer, Code the UI 8
Sprint 1

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.

Sprint Planning Meeting


eerr

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

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.

Make the application run on SQL


Server in addition to Oracle.
Financial services
Support more technical
indicators than company ABC
with real-time, streaming data.

42
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.

From Sprint Goal to Sprint Backlog

• Team working in conjunction with Product


Owner select Product Backlog items that
are aligned with Sprint Goal
• Team self-organizes around how they’ll
meet the sprint goal
• ScrumMaster doesn’t assign tasks to
individuals
• ScrumMaster doesn’t make decisions for the
team
• Sprint Backlog is created
• List of tasks necessary to achieve the work is
selected for the Sprint
43
Copyright (c) 2006-2007, Innolution, LLC and Mountain Goat Software, Inc. All Rights Reserved.
A Sprint Backlog
Mon
Mon
Code the user interface 8
As
As aa user,
user, II want
want to
to Code the middle tier 16
read
read profiles
profiles ofof people
people
Create & automate tests 8
I’d
I’d like
like to
to date
date
Design user interface 12

As Code the user interface 8


As aa user,
user, II want
want to
to
search
search for
for prospective
prospective Code the middle tier 16
dates
dates on
on age
age range
range Test the middle tier 8

•• 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.

Purpose of Sprint Planning

• The purpose of the sprint planning t to a


en
meeting is to arrive at a commitm
log
sprint goal or set of product back
items.
• The purpose of the meeting is not tos.
ur
come up with a list of tasks and ho
• The tasks and estimates are a tool for
to.
determining what we can commit

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.

Why Agile Planning Works

• 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.

Potrebbero piacerti anche