28
© ThoughtWorks 2008 An Introduction to Agile Estimation and Release Planning Phillip Calçado [email protected]

Agile Estimation And Planning

Embed Size (px)

DESCRIPTION

http://fragmental.tw

Citation preview

Page 1: Agile Estimation And Planning

© ThoughtWorks 2008

An Introduction to Agile Estimation and

Release PlanningPhillip Calçado

[email protected]

Page 2: Agile Estimation And Planning

© ThoughtWorks 2008

Agile Estimation

ThoughtWorks ThoughtWorks ThoughtWorks

ThoughtWorks ThoughtWorks ThoughtWorks

ThoughtWorks ThoughtWorks ThoughtWorks

1 - Product Backlog

Page 3: Agile Estimation And Planning

© ThoughtWorks 2008

ThoughtWorks

2 - Estimate Each Item

How long is this going to take?

-1 day?-1 week?-Forever?

Page 4: Agile Estimation And Planning

© ThoughtWorks 2008

Is likely to take longer than ?

ThoughtWorks

2 - Estimate Each ItemThoughtWorks

#1

#2

Page 5: Agile Estimation And Planning

© ThoughtWorks 2008

How much longer?

ThoughtWorks

#2ThoughtWorks

#1ThoughtWorks

#1ThoughtWorks

#1ThoughtWorks

#1ThoughtWorks

#1ThoughtWorks

#1ThoughtWorks

#1ThoughtWorks

#1ThoughtWorks

#1

?

?

?=

Page 6: Agile Estimation And Planning

© ThoughtWorks 2008

How much longer?

ThoughtWorks

#2ThoughtWorks

#1ThoughtWorks

#1ThoughtWorks

#1ThoughtWorks

#1ThoughtWorks

#1ThoughtWorks

#1ThoughtWorks

#1ThoughtWorks

#1ThoughtWorks

#1

?

?= ☑

Page 7: Agile Estimation And Planning

© ThoughtWorks 2008

Let’s create a unitThoughtWorks

#1 = 2

Page 8: Agile Estimation And Planning

© ThoughtWorks 2008

Let’s create a unit

ThoughtWorks

#2 =

ThoughtWorks

#1 = 26

then

Page 9: Agile Estimation And Planning

© ThoughtWorks 2008

ThoughtWorks ThoughtWorks ThoughtWorks

ThoughtWorks ThoughtWorks ThoughtWorks

ThoughtWorks ThoughtWorks ThoughtWorks

2

2

2 4

4

6 4

6

4

2 - Estimate Each Item

Page 10: Agile Estimation And Planning

© ThoughtWorks 2008

2 - Estimate Each Item•Stories will change•Everyone estimates•Points aren’t a unit of time•Being consistent is more important than being accurate•Estimates must include uncertainty

Page 11: Agile Estimation And Planning

© ThoughtWorks 2008

ThoughtWorks ThoughtWorks ThoughtWorks

ThoughtWorks ThoughtWorks ThoughtWorks

ThoughtWorks ThoughtWorks ThoughtWorks

2

2

2 4

4

6 4

6

4

3 - Prioritise

Page 12: Agile Estimation And Planning

© ThoughtWorks 2008

ThoughtWorks ThoughtWorks ThoughtWorks

ThoughtWorks ThoughtWorks ThoughtWorks

ThoughtWorks ThoughtWorks ThoughtWorks

2

2

2 4

4

6 4

6

4

3 - Prioritise

$$$

$

$

$ $$$

$

$$ $$

$$

Page 13: Agile Estimation And Planning

© ThoughtWorks 2008

3 - PrioritiseThoughtWorks

2$$$

ThoughtWorks

2 $

ThoughtWorks

2 $

ThoughtWorks

6 $

ThoughtWorks

4$$$

ThoughtWorks

4 $

ThoughtWorks

4 $$

ThoughtWorks

4 $$

ThoughtWorks

6 $$

Page 14: Agile Estimation And Planning

© ThoughtWorks 2008

3 - Prioritise•It is important to help the client prioritise•But the client has the final word•Technical dependencies are relevant•Priorities will change over time

Page 15: Agile Estimation And Planning

© ThoughtWorks 2008

4 - Assess Velocity

Points = EffortDuration = ?

Page 16: Agile Estimation And Planning

© ThoughtWorks 2008

Iteration 1 Iteration 2 Iteration 3 Iteration 4 Iteration 5 Iteration 6

ThoughtWorks

ThoughtWorks

ThoughtWorks

ThoughtWorks

2

2

2

2

ThoughtWorks

ThoughtWorks

ThoughtWorks

ThoughtWorks

2

2

4

2

ThoughtWorks

ThoughtWorks

ThoughtWorks

ThoughtWorks

2

2

4

6

ThoughtWorks

ThoughtWorks

ThoughtWorks

ThoughtWorks

4

4

4

2

ThoughtWorks

ThoughtWorks

ThoughtWorks

ThoughtWorks

2

4

6

2

ThoughtWorks

ThoughtWorks

ThoughtWorks

ThoughtWorks

2

4

6

6

8 10 14 14 14 18

Page 17: Agile Estimation And Planning

© ThoughtWorks 2008

Iteration 1 Iteration 2 Iteration 3 Iteration 4 Iteration 5 Iteration 6

8 10 14 14 14 18

Velocity

Page 18: Agile Estimation And Planning

© ThoughtWorks 2008

4 - Assess Velocity

What’s our average Velocity likely to be?

Page 19: Agile Estimation And Planning

© ThoughtWorks 2008

4 - Assess Velocity•Planned Velocity is useful only until we have real data - just an educated guess•“Yesterday’s weather” is more important than average•Iterations must create production-quality increments•Velocity is specific for a team

Page 20: Agile Estimation And Planning

© ThoughtWorks 2008

Say planned Velocity is 6

5 - Candidate Schedule

Page 21: Agile Estimation And Planning

© ThoughtWorks 2008

5 - Candidate Schedule

Backlog is points total34

Say planned Velocity is 6

Page 22: Agile Estimation And Planning

© ThoughtWorks 2008

/ 6= Iterations34 6

5 - Candidate Schedule

Page 23: Agile Estimation And Planning

© ThoughtWorks 2008

Iteration 1 Iteration 2 Iteration 3 Iteration 4 Iteration 5 Iteration 6

5 - Candidate ScheduleThoughtWorks

2$$$

ThoughtWorks

4$$$

ThoughtWorks

6$$

ThoughtWorks

2$

ThoughtWorks

4$$

ThoughtWorks

2$

ThoughtWorks

4$$

ThoughtWorks

6$

ThoughtWorks

4$

Page 24: Agile Estimation And Planning

© ThoughtWorks 2008

5 - Candidate Schedule•Ramp-up time usually has a huge impact•Pay attention to cost/scope/time constraints•Aim at delivering early and often

Page 25: Agile Estimation And Planning

© ThoughtWorks 2008

6 - Monitor and Adapt

Plans are not that important.Planning is.

Page 26: Agile Estimation And Planning

© ThoughtWorks 2008

6 - Monitor and Adapt

0

15

30

45

60

Start 1 2 3 4 5 6 7 8 9

Poin

ts

Iteration

Original Plan Actual Total Scope

Real World Example

Page 27: Agile Estimation And Planning

© ThoughtWorks 2008

6 - Monitor and Adapt•You can’t embrace change and have a plan written in stone•Re-estimate whenever necessary•Don’t try and force real life to look like your plan - It’s the other way around

Page 28: Agile Estimation And Planning

© ThoughtWorks 2008

Concluding•This is just a framework - there are multiple variants•The customer is a partner during estimation and planning•Don’t try to change the world, change your plan