45
Estimation Games Pascal Van Cauwenberghe Nayima

Scrum Coach : Estimation

Embed Size (px)

Citation preview

Page 1: Scrum Coach : Estimation

Estimation Games

Pascal Van Cauwenberghe

Nayima

Page 2: Scrum Coach : Estimation

His Blog: blog.nayima.be

NAYIMAWe make play work

Consultant. Project Manager. Games Maker.

Page 3: Scrum Coach : Estimation

Estimate the height of the highest place in Belgium

In meters or feet

Page 4: Scrum Coach : Estimation

# 1: Always give a range Never give them a number

Page 5: Scrum Coach : Estimation

# 1: Numbers are for factsRanges are for estimates

I estimate “Between 650 and 700m”

Or “Between 0 et 4000m”

I know it’s 694m (2092 ft)

Page 6: Scrum Coach : Estimation

Estimation exercise

• One result per table• Choose one of three collaboration techniques• If you can’t choose, let the Post-It choose for you• RED Post-It

– Estimate as a group, come to consensus

• GREEN Post-It– Divide the work among you

• YELLOW Post-it– First estimate individually– Then combine the estimates as a group

Page 7: Scrum Coach : Estimation

Estimation exercise 1

• Surface temperature of the sun (in degrees C)• Latitude of Shanghai (in degrees)• Surface area of Asia (in km2)• Birth date of Alexander The Great (year)• Dollars in circulation in the US in 2004 (in $)• Volume of the Great American lakes (in litres)• Global revenue of “Titanic” (in $)• Length of the Pacific coastline (Ca, Or, Wa) (in km)• Number of books published in USA, 1776 to 2004• Weight of the largest whale (in tonnes)

This quiz is from “Software Estimation” by Steve McConnell (Microsoft Press)(C) 2006 Steve McConnell. Used with permission

Time’s up! 10 min

Page 8: Scrum Coach : Estimation

An estimation joke

• An engineer, a mathematician and an accountant are sitting at the bar

• The barman asks: “What’s 68+73 ?”

• Engineer: 141

• Mathematician: 68 + 73 = 73 + 68

• Accountant: Usually it’s 141, but what do you want to do with the number?

Page 9: Scrum Coach : Estimation

Why estimate?

What is the expected error margin?

Page 10: Scrum Coach : Estimation

#2 Always ask what the estimate will be used for

Page 11: Scrum Coach : Estimation

What have you committed to?

Based on what information?

Page 12: Scrum Coach : Estimation

Cone of uncertainty

400%

25%

Watch out: this is the best possible case!

Page 13: Scrum Coach : Estimation

#3 Estimation != Commitment

Getting an estimate wrong doesn’t hurt

Page 14: Scrum Coach : Estimation

Estimating money (individually)

• How much money is there in this room?

– Counting only cash dollars

• Re-do the estimation, but this time

– Count the number of people: N

– Count how much money you have on you: M

– Estimate how much money the average person holds, based on M: M1-M2

– Compute the amount: N * M1 – N * M2

Page 15: Scrum Coach : Estimation

What can you count?

• Number of stakeholders

• Number of goals

• Number of events

• Number of business processes

• Number of high-level user stories

• Number of detailed user stories

• Number of screens

• ....

Page 16: Scrum Coach : Estimation

#4 First try to measure, count and compute

Estimate only when necessary

Page 17: Scrum Coach : Estimation

Estimating money (in group)

• Estimate as one group per table

• Combine individual estimations into a group estimate

– Planning Poker style: announce estimates, low/high estimators explain, again

– Take min and max for a range that covers all estimates

– Take average of min and max for a range that covers much of the estimates

– ...

Page 18: Scrum Coach : Estimation

Aggregate estimates

• Independent estimators

– For example, by playing Planning Poker

• Independent estimation methods

– For example, by combining:

1. Comparison with previous project

2. Expert estimation

3. Counting high level stories

Page 19: Scrum Coach : Estimation

#5 Aggregate independentestimates

“Wisdom of the Crowds”

Page 20: Scrum Coach : Estimation

The law of large numbers (or: statistics is on our side, for once)

• If we estimate with an error of x%

• The estimate of each scope item will have an error of x%

• But...

• Some items will be over-estimated, others under-estimated (maybe....)

• => The error on the total estimate is < x%

Page 21: Scrum Coach : Estimation

The law of 15

• Have about 15-20 same-sized elements at each planning horizon

– Program, Project, Release, Iteration

• Enough for the law of large numbers to have an effect

• But not too many, easy to manage

Page 22: Scrum Coach : Estimation

#6 Use the law of large numbers

Decompose

Just enough, just in time

Page 23: Scrum Coach : Estimation

Sprint CommitmentSprint Burndown

Page 24: Scrum Coach : Estimation

Release Burndown

Page 25: Scrum Coach : Estimation

Velocity Chart

0

5

10

15

20

25

1 2 3 4 5 6 7 8

Velocity per iteration

Velocity

Linear (Velocity)

Page 26: Scrum Coach : Estimation

Re-estimation and calibration

• First estimation:

– Relative estimate (1 point, 2 points, ...)

– Calibrate with previous projects (16-22 points per iteration)

• Re-estimate during the project

– Check if relative sizes are ok

– Re-calibrate with measured velocity

Page 27: Scrum Coach : Estimation

Ensure consistency of relative estimates

• Build in internal consistency

– Demonstrated in “XP Game”

• Analyse large errors in retrospectives

– Some variance is normal

• Keep a library of representative reference stories

– Estimate relative to references

– Add stories that were mis-estimated!

Page 28: Scrum Coach : Estimation

Velocity of the first project

• Take a similar, finished project

• Estimate relatively in Story points: N points

• We know it took M mandays

• Decide how many mandays per iteration: K

• Velocity = +/- K * N/M points/iteration

• Attention: M is complete cost– No “Twilight Zone” or “Murky Zone”!

Page 29: Scrum Coach : Estimation

#7 Calibrate your estimates with real velocity data

Project data >

Company data >

Industry data

Page 30: Scrum Coach : Estimation

Evil Estimation Games

• “Guess the number I’ve got in my head!”

• “An awesome team like you can do better than that!”

• “This time it’ll go so much faster, because we learned so much from the previous project!”

• “This project will be very different!”

• “If we just work a bit harder, we’ll increase velocity”

• “I could code this in half the time!”

• “If we lower the estimate, the project will be done faster” (this actually works in some circumstances...)

Page 31: Scrum Coach : Estimation

Q: Why are there so many pointy haired-bosses?

A: because there are so many Dilberts

Page 32: Scrum Coach : Estimation

#8 Never negotiate estimates

Always question the reasoning and assumptions behind estimates

Page 33: Scrum Coach : Estimation

#9 Never negotiate commitments

Page 34: Scrum Coach : Estimation

#10 Solve problems together

Make assumptions explicit

Question assumptions

Offer options

Page 35: Scrum Coach : Estimation

The Options exercise

• Estimate of the project: 5-6 months

• Conference in 3 months

– We need to make a great impression on prospects

– I want to show all our functionality

• Which assumptions are we making?

• What options can you offer?

Page 36: Scrum Coach : Estimation

Roadmap OR Kanban?

• Our dilemma:

– Product manager needs to publish a credible long term roadmap for customers, partners and integrators

– Development team has flow-based process without estimation, planning or velocity tracking

• We can’t have both, can we?

• Yes we can!

Page 37: Scrum Coach : Estimation

Roadmap AND Kanban

• Roadmap with customer goals, not features

• Product Manager estimates value of achieving each goal => priorities of roadmap

• Product Manager determines budget per goal

• Quick feasibility check by team

• Each release, PM and team find a way to achieve release goals within release budget

• Watch flow, ensure release goals are met

Page 38: Scrum Coach : Estimation

Summary

1. Ranges for estimates. Numbers for facts.2. Always ask what the estimate will be used for3. Estimation is not Commitment4. Measure, count, compute before estimating5. Aggregate independent estimates6. Use the law of large numbers (large ~= 15)7. Calibrate estimates with measured velocity8. Never negotiate estimates9. Never negotiate commitments10. Solve problems together

Page 39: Scrum Coach : Estimation

Estimation exercise 2

• Surface temperature of the sun (in degrees C)• Latitude of Shanghai (in degrees)• Surface area of Asia (in km2)• Birth date of Alexander The Great (year)• Dollars in circulation in the US in 2004 (in $)• Volume of the Great American lakes (in litres)• Global revenue of “Titanic” (in $)• Length of the Pacific coastline (Ca, Or, Wa) (in km)• Number of books published in USA, 1776 to 2004• Weight of the largest whale (in tonnes)

This quiz is from “Software Estimation” by Steve McConnell (Microsoft Press)(C) 2006 Steve McConnell. Used with permission

Time’s up! 6 min

Page 40: Scrum Coach : Estimation

Answers

• Sun: 6000° C• Shanghai: 31 degrees North• Asian area: 44,390,000 km²• Alexander was born in 356 BC• Dollars in circulation: $719.9 billion• Great Lakes: 6.8x10^23 litres• Titanic: 1.835 billion $• Pacific Coast: 1293 kilometres• Published books: 22 million• Whale: 170 tonnes

This quiz is from “Software Estimation” by Steve McConnell (Microsoft Press)(C) 2006 Steve McConnell. Used with permission

Page 41: Scrum Coach : Estimation

And the winner is?

Life is like a box of tasty

Belgian chocolates!

Page 42: Scrum Coach : Estimation

Software Estimation – Steve McConnell

presentation 42 |

Page 43: Scrum Coach : Estimation
Page 44: Scrum Coach : Estimation

Merci

Thank You

Page 45: Scrum Coach : Estimation

www.agilecoach.net

www.nayima.be

blog.nayima.be

If you want to know more