45
Estimation Games Pascal Van Cauwenberghe Nayima

Agile 2010 Estimation Games

Embed Size (px)

DESCRIPTION

"Estimation Games" presentation at Agile 2010 by Pascal Van Cauwenberghe

Citation preview

Page 1: Agile 2010 Estimation  Games

Estimation Games

Pascal Van CauwenbergheNayima

Page 2: Agile 2010 Estimation  Games

His Blog: blog.nayima.be

NAYIMAWe make play work

Consultant. Project Manager. Games Maker.

Page 3: Agile 2010 Estimation  Games

Estimate the height of the highest place in Belgium

In meters or feet

Page 4: Agile 2010 Estimation  Games

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

Page 5: Agile 2010 Estimation  Games

# 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: Agile 2010 Estimation  Games

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: Agile 2010 Estimation  Games

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 permissionTime’s up! 10 min

Page 8: Agile 2010 Estimation  Games

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: Agile 2010 Estimation  Games

Why estimate?

What is the expected error margin?

Page 10: Agile 2010 Estimation  Games

#2 Always ask what the estimate will be used for

Page 11: Agile 2010 Estimation  Games

What have you committed to?

Based on what information?

Page 12: Agile 2010 Estimation  Games

Cone of uncertainty

400%

25%Watch out: this is the best possible case!

Page 13: Agile 2010 Estimation  Games

#3 Estimation != Commitment

Getting an estimate wrong doesn’t hurt

Page 14: Agile 2010 Estimation  Games

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: Agile 2010 Estimation  Games

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: Agile 2010 Estimation  Games

#4 First try to measure, count and computeEstimate only when necessary

Page 17: Agile 2010 Estimation  Games

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: Agile 2010 Estimation  Games

Aggregate estimates

• Independent estimators– For example, by playing Planning Poker

• Independent estimation methods– For example, by combining:1. Comparison with previous project2. Expert estimation3. Counting high level stories

Page 19: Agile 2010 Estimation  Games

#5 Aggregate independent estimates

“Wisdom of the Crowds”

Page 20: Agile 2010 Estimation  Games

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: Agile 2010 Estimation  Games

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: Agile 2010 Estimation  Games

#6 Use the law of large numbers

Decompose Just enough, just in time

Page 23: Agile 2010 Estimation  Games

Sprint CommitmentSprint Burndown

Page 24: Agile 2010 Estimation  Games

Release Burndown

Page 25: Agile 2010 Estimation  Games

Velocity Chart

0

5

10

15

20

25

1 2 3 4 5 6 7 8

Velocity per iteration

Velocity

Linear (Velocity)

Page 26: Agile 2010 Estimation  Games

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: Agile 2010 Estimation  Games

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: Agile 2010 Estimation  Games

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: Agile 2010 Estimation  Games

#7 Calibrate your estimates with real velocity data

Project data > Company data >

Industry data

Page 30: Agile 2010 Estimation  Games

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: Agile 2010 Estimation  Games

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

A: because there are so many Dilberts

Page 32: Agile 2010 Estimation  Games

#8 Never negotiate estimates

Always question the reasoning and assumptions behind estimates

Page 33: Agile 2010 Estimation  Games

#9 Never negotiate commitments

Page 34: Agile 2010 Estimation  Games

#10 Solve problems together

Make assumptions explicitQuestion assumptions

Offer options

Page 35: Agile 2010 Estimation  Games

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: Agile 2010 Estimation  Games

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: Agile 2010 Estimation  Games

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: Agile 2010 Estimation  Games

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: Agile 2010 Estimation  Games

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 permissionTime’s up! 6 min

Page 40: Agile 2010 Estimation  Games

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 tonnesThis quiz is from “Software Estimation” by Steve McConnell (Microsoft Press)(C) 2006 Steve McConnell. Used with permission

Page 41: Agile 2010 Estimation  Games

And the winner is?

Life is like a box of tasty Belgian chocolates!

Page 42: Agile 2010 Estimation  Games

presentation

Software Estimation – Steve McConnell

42 |

Page 43: Agile 2010 Estimation  Games
Page 44: Agile 2010 Estimation  Games

Merci

Thank You

Page 45: Agile 2010 Estimation  Games

www.agilecoach.netwww.nayima.beblog.nayima.be

If you want to know more