mike cohn - background...planning poker for estimating •an iterative approach to estimating...

17
Planning and Tracking on Agile Projects Mike Cohn - background © Mountain Goat Software, LLC 1 2 Wednesday, August 23, 2006

Upload: others

Post on 09-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mike Cohn - background...Planning poker for estimating •An iterative approach to estimating •Steps • Each estimator is given a deck of cards, each card has a valid estimate written

Planning and Trackingon Agile Projects

Mike Cohn - background

© Mountain Goat Software, LLC

1

2

Wednesday, August 23, 2006

Page 2: Mike Cohn - background...Planning poker for estimating •An iterative approach to estimating •Steps • Each estimator is given a deck of cards, each card has a valid estimate written

Copyright Mountain Goat Software, LLC

Imagine...

• That you’re fed up with software development as a career

• And you decide to go into the landscaping business

• Your first job is moving this pile of rock from the front of my house to the back

Copyright Mountain Goat Software, LLC

How might you estimate this?• One way:

• Look at the pile of rock and estimate how many wheelbarrow loads it represents

• After an hour, see how many wheelbarrow loads you’ve moved then extrapolate the total duration

3

4

Wednesday, August 23, 2006

Page 3: Mike Cohn - background...Planning poker for estimating •An iterative approach to estimating •Steps • Each estimator is given a deck of cards, each card has a valid estimate written

Copyright Mountain Goat Software, LLC

My landscaping

0

20

40

60

80

100

Noon 1pm 2pm 3pm 4pm 5pm

Wheelb

arr

ow

Loads

Copyright Mountain Goat Software, LLC

Release, iteration, & velocity

•A release comprises multiple iterations

•Each iteration can be thought of as a same-sized box

•Stories are put into each box until it’s full

•The size of the box is the planned velocity

5

6

Wednesday, August 23, 2006

Page 4: Mike Cohn - background...Planning poker for estimating •An iterative approach to estimating •Steps • Each estimator is given a deck of cards, each card has a valid estimate written

Copyright Mountain Goat Software, LLC

The planning onion

Copyright Mountain Goat Software, LLC

Relating the different planning levels

As a frequent flyer, I want to...

As a frequent flyer, I want to...

As a frequent flyer, I want to...

As a frequent flyer, I want to...

As a frequent flyer, I want to...

3

5

5

2

2

Itera

tion 2

Itera

tion 1

Product Backlog Iteration Backlog

7

8

Wednesday, August 23, 2006

Page 5: Mike Cohn - background...Planning poker for estimating •An iterative approach to estimating •Steps • Each estimator is given a deck of cards, each card has a valid estimate written

Copyright Mountain Goat Software, LLC

An agile approach to planning

Feedback

Feedback

Copyright Mountain Goat Software, LLC

Estimating

Release planning

Burndown charts

Task boards

Agenda

9

10

Wednesday, August 23, 2006

Page 6: Mike Cohn - background...Planning poker for estimating •An iterative approach to estimating •Steps • Each estimator is given a deck of cards, each card has a valid estimate written

Copyright Mountain Goat Software, LLC

Story points

• The most common way for agile teams to estimate these days is in “Story Points”

• Based on a combination of the size and complexity of the work

• Unitless but numerically relevant estimates

• A 10-point story is expected to take twice as long as a 5-point story

Copyright Mountain Goat Software, LLC

Consider these two piles of work

11

12

Wednesday, August 23, 2006

Page 7: Mike Cohn - background...Planning poker for estimating •An iterative approach to estimating •Steps • Each estimator is given a deck of cards, each card has a valid estimate written

© Mountain Goat Software, LLC

Dog points

Assign “dog

points” to the

following breeds

Copyright Mountain Goat Software, LLC

Two key advantages

• Estimating in story points

1. Forces the use of relative estimating

• Studies have shown we’re better at this

2. Focuses us on estimating the size, not the duration

• We derive duration empirically by seeing how much we complete per iteration

3. Puts estimates in units that we can add together

13

14

Wednesday, August 23, 2006

Page 8: Mike Cohn - background...Planning poker for estimating •An iterative approach to estimating •Steps • Each estimator is given a deck of cards, each card has a valid estimate written

© Mountain Goat Software, LLC

Planning poker for estimating

• An iterative approach to estimating

• Steps

• Each estimator is given a deck of cards, each card has a valid estimate written on it

• Customer/Product owner reads a story and it’s discussed briefly

• Each estimator selects a card that’s his or her estimate

• Cards are turned over so all can see them

• Discuss differences (especially outliers)

• Re-estimate until estimates converge

© Mountain Goat Software, LLC

Planning poker - an example

20138532

1

15

16

Wednesday, August 23, 2006

Page 9: Mike Cohn - background...Planning poker for estimating •An iterative approach to estimating •Steps • Each estimator is given a deck of cards, each card has a valid estimate written

© Mountain Goat Software, LLC

Why planning poker works

• Emphasizes relative estimating

• Focuses most estimates within an approximate one order of magnitude

• Everyone’s opinion is heard

• Estimators are required to justify estimates

• Estimates are constrained to a set of values

• It’s quick and fun

Copyright Mountain Goat Software, LLC

Estimating

Release planning

Burndown charts

Task boards

Agenda

17

18

Wednesday, August 23, 2006

Page 10: Mike Cohn - background...Planning poker for estimating •An iterative approach to estimating •Steps • Each estimator is given a deck of cards, each card has a valid estimate written

Copyright Mountain Goat Software, LLC

An agile release plan

We’ll be here by the planned deadline

Prio

ritiz

ed p

rodu

ct b

ackl

og

Copyright Mountain Goat Software, LLC

Look at velocity in a few ways

0

10

20

30

40

1 2 3 4 5 6 7 8 9

Velocity

Iterations

Mean (Worst 3) = 28

Mean (Last 8) = 33Last Observation = 36

19

20

Wednesday, August 23, 2006

Page 11: Mike Cohn - background...Planning poker for estimating •An iterative approach to estimating •Steps • Each estimator is given a deck of cards, each card has a valid estimate written

Copyright Mountain Goat Software, LLC

Extrapolate from velocity

At current velocity we’ll finish here

At our slowest velocity we’ll finish here

At our long-term average we’ll finish here

Copyright Mountain Goat Software, LLC

Estimating

Release planning

Burndown charts

Task boards

Agenda

21

22

Wednesday, August 23, 2006

Page 12: Mike Cohn - background...Planning poker for estimating •An iterative approach to estimating •Steps • Each estimator is given a deck of cards, each card has a valid estimate written

Copyright Mountain Goat Software, LLC

How’s my landscaping coming?

0

20

40

60

80

100

Noon 1pm 2pm 3pm 4pm 5pm

Wheelb

arr

ow

Loads

Copyright Mountain Goat Software, LLC

Remember the different levels?

As a frequent flyer, I want to...

As a frequent flyer, I want to...

As a frequent flyer, I want to...

As a frequent flyer, I want to...

As a frequent flyer, I want to...

3

5

5

2

2

Itera

tion 2

Itera

tion 1

Product Backlog Iteration Backlog

23

24

Wednesday, August 23, 2006

Page 13: Mike Cohn - background...Planning poker for estimating •An iterative approach to estimating •Steps • Each estimator is given a deck of cards, each card has a valid estimate written

Copyright Mountain Goat Software, LLC

An iteration burndown chart

0

200

400

600

800

1,0004/2

9/0

2

5/6

/02

5/1

3/0

2

5/2

0/0

2

5/2

4/0

2

Hours

Copyright Mountain Goat Software, LLC

When will this project be released?

Sto

ry P

oin

ts

Sprints

600

450

300

150

01 2 3 4 5

25

26

Wednesday, August 23, 2006

Page 14: Mike Cohn - background...Planning poker for estimating •An iterative approach to estimating •Steps • Each estimator is given a deck of cards, each card has a valid estimate written

Copyright Mountain Goat Software, LLC

Estimating

Release planning

Burndown charts

Task boards

Agenda

Copyright Mountain Goat Software, LLC

Task boardsStory To Do

InProcess

ToVerify Done

27

28

Wednesday, August 23, 2006

Page 15: Mike Cohn - background...Planning poker for estimating •An iterative approach to estimating •Steps • Each estimator is given a deck of cards, each card has a valid estimate written

Copyright Mountain Goat Software, LLC

A sample task board

Copyright Mountain Goat Software, LLC

A cork task board

29

30

Wednesday, August 23, 2006

Page 16: Mike Cohn - background...Planning poker for estimating •An iterative approach to estimating •Steps • Each estimator is given a deck of cards, each card has a valid estimate written

Copyright Mountain Goat Software, LLC

A hanging tack board

Copyright Mountain Goat Software, LLC

Velcro in a team room

31

32

Wednesday, August 23, 2006

Page 17: Mike Cohn - background...Planning poker for estimating •An iterative approach to estimating •Steps • Each estimator is given a deck of cards, each card has a valid estimate written

Copyright Mountain Goat Software, LLC

Repurposing the cabinets

Copyright Mountain Goat Software, LLC

Mike Cohn contact info

33

34

Wednesday, August 23, 2006