You are on page 1of 18

Planning Is Good For You

Really!
Backlogs & Burn-downs for Project Planning
Agile 2007
Kelly Weyrauch
Senior Principal Software Engineer, Medtronic Inc.

Introduction
„ Purpose
„ Explain the use of Backlogs and Burndowns
to manage Software projects
„ Desired Result of the Meeting
„ Know how a backlog works
„ Know how a burndown works
„ Determine whether this is useful to you
„ Understand how to apply it to your world
„ Could persuade others to help you
Agile 2007 Planning is Good For You - 2

Agenda - Goals
„ Why are we talking about this?
„ Why are you here?
„ Establish a foundation
„ The Theory
„ Make it Real
„ An Example
„ Understand a Deeper Reality
„ Advanced Topics
„ Questions

Agile 2007 Planning is Good For You - 3


Introduction: Disclaimers
„ Some of this material is:
„ Current Practice
„ Current Thinking
„ Wishful Thinking
„ What is he Thinking!?!?

Agile 2007 Planning is Good For You - 4

Why are we talking about this?


„ Why are you here?

Agile 2007 Planning is Good For You - 5

Why are we talking about this?


„ Problems with the Gantt-Chart model that a
Backlog/Burndown model overcomes
„ Tasks are not continuous, sequencing is very dynamic
„ “How long will it take?” has too many factors in one answer
„ Dis-aggregation of tasks becomes overwhelming
„ Tasks don’t have hard dependencies (at least not finish-to-finish)
„ Load leveling can be complicated, too many choices
„ Hard to use current data to project forward
„ Hard to make the plan match execution reality

Agile 2007 Planning is Good For You - 6


Why are we talking about this?
„ Benefits of the Backlog / Burn-Down
model
„ Separate Estimation and Planning into two
distinct elements, improving both
„ Ownership
„ Planning and Tracking mechanisms are the
same
„ Allows (encourages) multiple levels of
granularity
Agile 2007 Planning is Good For You - 7

Agenda - Goals
„ Why are we talking about this?
„ Why are you here?

„ Establish a foundation
„ The Theory
„ Make it Real
„ An Example
„ Understand a Deeper Reality
„ Advanced Topics
„ Questions

Agile 2007 Planning is Good For You - 8

Establish a foundation –
Scope for this technique
„ Layers of Planning
Portfolio

Product

Release

Iteration / Sprint
Day

„ Mike Cohn. 2006. Agile Estimating and Planning. Prentice Hall

Agile 2007 Planning is Good For You - 9


Establish a foundation – Terms
„ Backlog
„ List of functionality to deliver, covering all work to be done.
„ Features *
„ Large grouping of functionality - Organizes the project
„ Stories / Sub-Stories
„ Piece of functionality – Organizes the team’s work
„ Tasks *
„ Work done to deliver the functionality of the story

* Watch our for overloaded definitions of these terms.

Agile 2007 Planning is Good For You - 10

Feature / Story / Sub-Story Points


Feature A 40
Feature B 13
Story B1 8
Needs more stories

Backlog
Feature C
Story C1 8
Story C2 13
Story C3 30
Feature D
Story D1
„ Product Backlog --> Sub-Story D1-1
Sub-Story D1-2
5
3
„ Features Sub-Story D1-3
Story D2
2
20

Stories / Sub-stories
Story D3
„ Sub-Story D3-1 8
Sub-Story D3-2 5
„ With estimates Feature E
Story E1 20
Story E2 13
Story E3

„ Sprint Backlog Sub-Story E3-1


Sub-Story E3-1
5
3
Sub-Story E3-1 1
„ Stories for the Sprint Feature F
„ Tasks Story F1
Story F2
2
1
(Not covered in this presentation) Story F3 0
Feature G 100
Feature H 40
Feature J 20
Agile 2007 Feature K Planning is Good For You - 11 40
POINT TOTAL FOR BURNDOWN 400

Establish a foundation – Terms


„ Burndown
„ Mechanism used to plan, track, and re-plan
„ Points
„ Magnitude of the work, measure of scope
„ Velocity
„ Rate at which the team can deliver
„ Duration Projection
„ “With these inputs and these assumptions, we
project to be done on...”
Agile 2007 Planning is Good For You - 12
Burndown
Project Burn Down (Green = Original Plan's assumptions going forward Velocity Plan Down (Green = Planned Velocity,
Blue = Yesterday's Weather - Current data going forward) 150
Blue = Projections of "average current" velocity)

6000.0 140

130

120

110

100

5000.0 90

80

70

60

4000.0 50

40

30

20

10

3000.0 0

9/8/2004

10/6/2004

11/3/2004

12/1/2004

12/29/2004

1/26/2005

2/23/2005

3/23/2005

4/20/2005

5/18/2005

6/15/2005

7/13/2005

8/10/2005

9/7/2005

10/5/2005

11/2/2005

11/30/2005

12/28/2005

1/25/2006

2/22/2006

3/22/2006

4/19/2006

5/17/2006

6/14/2006

7/12/2006

8/9/2006

9/6/2006

10/4/2006

11/1/2006
Actual Velocity Planned Constant Velocity Average Velocity (Act/Proj)

2000.0

1000.0

0.0
12/29/2004

11/30/2005

12/28/2005
9/8/2004

10/6/2004

11/3/2004

12/1/2004

1/26/2005

2/23/2005

3/23/2005

4/20/2005

5/18/2005

6/15/2005

7/13/2005

8/10/2005

9/7/2005

10/5/2005

11/2/2005

1/25/2006

2/22/2006

3/22/2006

4/19/2006

5/17/2006

6/14/2006

7/12/2006

8/9/2006

9/6/2006

10/4/2006

11/1/2006

Agile 2007 Planning is Good For You - 13

Points
„ Effort, not days
„ Measure of Scope, in terms of relative size
„ How much work is there?
„ How much has to be delivered?

„ Removes velocity factors from estimation


„ Estimation is faster / easier / better
„ Best guess as of right now
„ Updated whenever you learn more
Agile 2007 Planning is Good For You - 14

Points
„ Point System
„ Tiny (0, 1/2), Small (1,2), Medium (3, 5, 8), Large (13, 20),
Extra Large (40, 100), Jumbo(<yikes>)
„ Planning Poker
„ Mike Cohn’s book, “Agile Estimating and Planning”
„ Cards

„ Traits
„ Don’t imply precision you don’t have
„ Allow only a few choices - Keep it simple, Avoid quibbling
„ Relative magnitude, comparable to others on this Backlog
„ Calibrates itself over time as learning occurs

Agile 2007 Planning is Good For You - 15


Points
„ “Ideal days” are an option
„ Easier to start with, can calibrate to previous data, easier to
explain others (allegedly)
„ BUT DON’T!
„ “Ideal for who?”
„ Muddles velocity factors into estimates and results, which
hides an important lever of project management
„ Point inflation when “durations” aren’t as planned

„ Always ask, “How big is this one relative to those


other ones?”

Agile 2007 Planning is Good For You - 16

Points Projection
„ What you think points will do in the future
„ “Point Growth”

„ Three reasons for points to change:


„ Scope changes
„ Finishing the not-done definition and estimation
„ Expect to add/remove functionality
„ Handling uncertainty / risk
„ Technical risk
„ Definition risk
„ “Known uncertainty”
„ “Units change”

Agile 2007 Planning is Good For You - 17

Velocity Projection
„ Factors
„ How many people
„ Which people
„ Full-time / part-time
„ Distractions from non-project activities (vacation, holidays,
non-project meetings, work on other projects, etc.)
„ Learning curve
„ Productivity
„ “Known uncertainty”
„ “Units change”
„ “Actual” versus “Projection”
Agile 2007 Planning is Good For You - 18
Projections
„ What do you think will happen?
„ Yesterday’s weather
„ Original plan
„ What has to happen to hit some target
„ Whatever you can reasonably define,
assume, explain, track, and adjust

„ You pick!
„ And when you find out you were wrong, pick again.

Agile 2007 Planning is Good For You - 19

Duration Projection
„ “With these inputs and these assumptions,
we project to be done on...”
„ Given a definition represented by the backlog
„ Points we “know” now
„ Velocity we’ve had so far
„ What we think points will do
„ What we think velocity will do
„ Duration is derived
„ Does it give you a target you like?
Agile 2007 Planning is Good For You - 20

Duration Projection:
Turn it around
„ “To hit this date with this much to do, what
would have to happen is…”
„ Given a definition represented by the backlog
„ Duration target we want
„ Points we “know” now
„ Velocity we’ve had so far
„ Points & velocity projections are derived
„ Can you make that happen?

Agile 2007 Planning is Good For You - 21


Duration Projection:
Or another direction
„ “What can we get by…”
„ Given a rough, guiding vision for a
definition represented by a course backlog
„ Duration target we want
„ Assumed velocity based on what we’ve
done so far and how many people we have
„ Points we can take on are derived
„ Does this give you a product
you want?
Agile 2007 Planning is Good For You - 22

Levers of Project Management


„ Schedule (Date) => Duration, on the X-Axis
„ Scope => Effort, on the Y-Axis
Points Projection
„ People => Velocity
„ Quality => Points or Velocity
„ Productivity => Velocity
„ Risk => Points estimate
Point Projections
Velocity Projections
Agile 2007 Planning is Good For You - 23

Agenda - Goals
„ Why are we talking about this?
„ Why are you here?
„ Establish a foundation
„ The Theory

„ Make it Real
„ An Example
„ Understand a Deeper Reality
„ Advanced Topics
„ Questions

Agile 2007 Planning is Good For You - 24


Make it Real – An Example
„ Assumptions
„ Someone needs a plan/projection before
you start executing it
„ Tolerant of Risk
„ Chunk of work that is 10-ish people
covering months-ish time
„ A point is a couple-person-days-ish of time
„ And that’s the last time I’ll use that comparison.

Agile 2007 Planning is Good For You - 25

Step 1: Build an Initial Backlog


„ Scope of the Backlog
„ Whatever this Backlog / Burndown will be managing

„ Content
„ Features – Large grouping, organizes the project
„ Stories – Piece of functionality to deliver

„ Sub-Stories – Allows for hierarchy of granularity

9 All work must be accounted for somewhere.


9 Backlog has varying levels of granularity.
Agile 2007 Planning is Good For You - 26

Step 1a: Feature, no Stories


„ Define the first Feature
„ Vague, ugly definition
„ Will have a vague, ugly estimate

9 Features must be defined in terms of Stories before


execution begins on it.
9 Features carry higher uncertainty of definition and
estimate than Stories.
Agile 2007 Planning is Good For You - 27
Step 1b: Feature, with some
Stories
„ Define the second Feature and some of its
Stories
„ Feature has a high-level definition
„ Stories elaborate on that definition
„ Can’t elaborate everything

9 OK to have varying level of granularity, as long as all


work is accounted for.

Agile 2007 Planning is Good For You - 28

Step 1c: Feature, with all Stories


„ Define the third Feature and its Stories
„ As definition matures, all the stories are
created

9 Features eventually need Stories to describe everything


about it.

Agile 2007 Planning is Good For You - 29

Step 1d: Feature, Stories,


Sub-Stories
„ Define the fourth Feature and its Stories
„ Some of the larger stories are broken into
sub-stories
„ Similar to breaking up Features

9 Stories can have varying level of granularity.

Agile 2007 Planning is Good For You - 30


Step 1e: Prioritization
„ Agile teams work on a prioritized backlog
„ Feature prioritization might show high-level
priority, but…
„ Story prioritization shows the plan for execution
„ Constantly adjust priority as work proceeds
„ More attention to highest priority features to work on next

9 Story prioritization (vs Feature) gives project more


control of the scope lever.
Agile 2007 Planning is Good For You - 31

Step 1 – When are you done?


How Much is Enough?
„ Tolerance for Risk
„ Cost/Benefit of doing more planning
100%
Accuracy of Plan

0%
0 1 2 3 4 5 6 7

Time Spent Planning

Agile 2007 Planning is Good For You - 32

Step 2a – Initial Estimates


„ Estimate reflects:
„ Effort to deliver the functionality
„ Complexity
„ Risk (more on this later)
„ Use the points system
„ Don’t go for precision you don’t have
„ Don’t quibble
„ Account for all work somewhere

9 Big ugly features have big ugly estimates.


9 Be careful not to over-granularize.
Agile 2007 Planning is Good For You - 33
Step 2a – Initial Estimates
„ We now have the beginning of a burndown
Project Burn Down

450.0

400.0

350.0

300.0

250.0

200.0

150.0

100.0

50.0

0.0
12/21/05

1/4/06

1/18/06

2/1/06

2/15/06

3/1/06

3/15/06

3/29/06

4/12/06

4/26/06

5/10/06

5/24/06

6/7/06

6/21/06

7/5/06

7/19/06

8/2/06

8/16/06

8/30/06

9/13/06

9/27/06

10/11/06

10/25/06

11/8/06

11/22/06

12/6/06

12/20/06

1/3/07

Agile 2007 Points Remaining (Estimate) Points Complete


Planning is Good For You - 34

Step 2b – Estimation Uncertainty


„ Risk / Uncertainty
„ Technical risk
„ How well do we understand what it takes to build this

„ Definition risk
„ How well do we understand requirements

„ Is the backlog done – Scope Changes


„ Do you expect to find more work as you proceed?

9 Make assumptions visible, then monitor them.


Agile 2007 Planning is Good For You - 35

Step 2c – Points Projection


(aka Point Growth)
„ For uncertainty / risk / estimation-error
„ Algorithm that combines Technical Risk and Definition Risk
„ And any other estimation assumptions you want to highlight
„ For scope changes
„ New work you expect to find later
„ Put both together into an assumption of when those
new points will be discovered.

9 Make assumptions visible, then monitor them.

Agile 2007 Planning is Good For You - 36


Step 2c – Points Projection
(aka Point Growth)
„ Burndown with point growth projection
Project Burn Down Point Growth Projection

700.0 20

600.0

500.0

400.0

10
300.0

200.0

100.0

0.0
4/18/06

5/2/06

5/16/06

5/30/06

6/13/06

6/27/06

7/11/06

7/25/06

8/8/06

8/22/06

9/5/06

9/19/06

10/3/06

10/17/06

10/31/06

11/14/06

0
5/2/2006

5/30/2006

6/27/2006

7/25/2006

8/22/2006

9/19/2006

10/17/2006

11/14/2006
Points Remaining (Estimate) Points Complete Story Point Total
Point Grow th (Scope) Point Grow th Uncertainty

Agile 2007 Planning is Good For You - 37

Who does the estimate


„ Agile-theory says the team doing the work
provides the estimate
„ In practice, an initial estimate is often done
by a smaller/separate team
„ So when does the team take ownership of such an
estimate?
„ Allow opportunity to change the estimate, and
factor those changes into the Points-Projection
model.

9 Team owns the schedule / estimates


Agile 2007 Planning is Good For You - 38

Step 2 – When are you done?


How Good is Good Enough?
„ Tolerance for Risk
„ Use the Uncertainty Factors
„ Cost/Benefit of doing more planning
100%
Accuracy of Plan

0%
0 1 2 3 4 5 6 7

Time Spent Planning

Agile 2007 Planning is Good For You - 39


Step 3: Given a Target
„ Project says:
„ “We want this in 20 weeks (10 Sprints),
what will it take to get us there?”

„ Could go the other way


„ Velocity first, deriving duration

Agile 2007 Planning is Good For You - 40

Step 4: Determine Velocity


Projection
„ Start with the average velocity needed to get
there
„ Then factor in assumptions about known
velocity impactors
„ When do resources become available?
„ Major holiday or vacation interruptions
„ Distractions outside the project
„ Learning curve
„ …
Agile 2007 Planning is Good For You - 41

Step 4: Determine Velocity Point Growth Projection

Burndown with point growth &


20

„
velocity projection
Project Burn Down
10

700.0

600.0

0
500.0
5/2/2006

5/30/2006

6/27/2006

7/25/2006

8/22/2006

9/19/2006

10/17/2006

11/14/2006

Point Grow th (Scope) Point Grow th Uncertainty


400.0
Velocity Projection

300.0
120

110

200.0 100

90

80
100.0
70

60

0.0
50
4/18/06

5/2/06

5/16/06

5/30/06

6/13/06

6/27/06

7/11/06

7/25/06

8/8/06

8/22/06

9/5/06

9/19/06

10/3/06

10/17/06

10/31/06

11/14/06

40

30

20

Points Remaining (Estimate) Points Complete Points Left Story Point Total Current Target Date 10

Agile 2007 0 Planning is Good For You - 42


4/18/06

5/2/06

5/16/06

5/30/06

6/13/06

6/27/06

7/11/06

7/25/06

8/8/06

8/22/06

9/5/06

9/19/06

10/3/06

10/17/06

10/31/06

11/14/06

Actual Velocity Planned Constant Velocity


Step 4 – When are you done?
How Good is Good Enough?
„ Tolerance for Risk
„ Cost/Benefit of doing more planning
100%
Accuracy of Plan

0%
0 1 2 3 4 5 6 7

Time Spent Planning

Agile 2007 Planning is Good For You - 43

Step 5 – Execute and Track


„ At the end of the first sprint
„ Record points complete (“Actual” velocity)
„ Reassess Points remaining, considering:
„ Existing backlog items with unchanged estimates
„ Backlog items added or removed (scope increase or decrease)
„ Existing backlog items with new estimates
„ Re-evaluate Point Projection
„ Re-evaluate Velocity
„ Update current Duration Projection

Agile 2007 Planning is Good For You - 44

Summary of Example:
Levers of Project Management
„ Schedule (Date)
„ Duration, on the X-Axis
„ Scope
„ Effort, on the Y-Axis
„ Scope uncertainty is in the Points Projection
„ Cost (People & Tools)
„ Velocity
„ Quality
„ Points or Velocity
„ Productivity
„ Velocity
„ Risk
„ Points estimates, Point Projections, Velocity Projections
Agile 2007 Planning is Good For You - 45
Questions / Play Time
„ What realistic situations should we use
to test our understanding and use of
the Backlog and Burndown?

Agile 2007 Planning is Good For You - 46

Agenda - Goals
„ Why are we talking about this?
„ Why are you here?
„ Establish a foundation
„ The Theory
„ Make it Real
„ An Example

„ Understand a Deeper Reality


„ Advanced Topics
„ Questions

Agile 2007 Planning is Good For You - 47

One Lump or Two?


How many Backlogs/Burndowns?
„ One team? Separate teams? Both?
„ Sequential or parallel work?
„ Different point systems?
„ Different tracking/managing?
„ Map to higher level – One superset or
many subsets?
„ E.g. Mapping to Concerto
Agile 2007 Planning is Good For You - 48
Buffer, Uncertainty, Risk
„ In the current estimate of Points?
„ In the Points Projection?
„ In the Velocity Projection?
„ In the Duration?

„ YES – All of these

„ How does your project manage a “Buffer”,


and what things count as Buffer?

Agile 2007 Planning is Good For You - 49

Mapping To A Higher Level Plan


„ Higher-level of abstraction, with “tasks”
whose granularity is driven by
„ Dependencies
„ Risk management
„ Resource management
„ What visibility you want
„ Other project rules???
„ One Burn-down supporting a single task
„ Or a well understood mapping
Agile 2007 Planning is Good For You - 50

Commitments and Contracts


„ Scope commitment
„ Does the backlog have the right stuff?
„ Is the definition understood?
„ Cost commitment
„ Does velocity projection reflect people & resources the
project needs and can get?
„ Duration commitment
„ Estimates and projections have team buy-in?
„ Assumptions identified, visible, and reasonable?
„ Risk
„ Are risks identified, visible, and tolerable?

„ What boundaries trigger a contract break?


Agile 2007 Planning is Good For You - 51
Projection Examples
„ Plan to remove points
„ Backlog has a story/task that will determine what functionality is not
needed. When we complete that task, the points will drop.

Project Burn Down


Point Growth Projection

50
45
800.0 40
35
30
25
700.0 20
15
10
600.0 5
0
-5
5/2/06

5/16/06

5/30/06

6/13/06

6/27/06

7/11/06

7/25/06

8/8/06

8/22/06

9/5/06

9/19/06

10/3/06

10/17/06

10/31/06

11/14/06
-10
500.0 -15
-20
-25
400.0 -30
-35
-40
-45
300.0 -50
-55
-60
200.0 -65
-70
-75
-80
100.0 -85
-90
-95
0.0 -100
-105
4/18/06

5/16/06

5/30/06

6/13/06

6/27/06

7/11/06

7/25/06

8/22/06

9/19/06

10/3/06
5/2/06

8/8/06

9/5/06

10/17/06

10/31/06

11/14/06

-110
-115
-120
Points Remaining (Estimate) Points Complete Points Lef t Story Point Total Current Target Date -125
-130
-135
-140
-145
-150
-155
-160
-165
-170
-175
-180

Agile 2007 Planning is Good For You - 52


-185
-190
-195
-200

Point Change (Actual) Point Grow th (Scope) Point Grow th Uncertainty New Points (Predicted)

Projection Examples
„ Plan to add points
„ Investigation team is still doing Feasibility. When they complete that task,
the points will go up.

Project Burn Down


Point Growth Projection

50
700.0

45
600.0

40
500.0

35
400.0

30
300.0

25
200.0

20
100.0

15
0.0
4/18/06

5/2/06

5/16/06

5/30/06

6/13/06

6/27/06

7/11/06

7/25/06

8/8/06

8/22/06

9/5/06

9/19/06

10/3/06

10/17/06

10/31/06

11/14/06

10

Points Remaining (Estimate) Points Complete Points Lef t Story Point Total Current Target Date
5

0
5/2/06

5/16/06

5/30/06

6/13/06

6/27/06

7/11/06

7/25/06

8/8/06

8/22/06

9/5/06

9/19/06

10/3/06

10/17/06

10/31/06

11/14/06

Agile 2007 Planning is Good For You - 53


Point Change (Actual) Point Grow th (Scope) Point Grow th Uncertainty New Points (Predicted)

You might also like