the art of estimation

55
The Art of Software Estimation john burns

Upload: codeburns

Post on 20-Aug-2015

50.273 views

Category:

Entertainment & Humor


2 download

TRANSCRIPT

Page 1: The Art Of Estimation

The Art of Software Estimation

john burns

Page 2: The Art Of Estimation

A presentation I put together as part of a digestion and book review of the excellent Art Of Estimation by Steve McConnell. Any mistakes

or inaccuracies are entirely my own doing.

Page 3: The Art Of Estimation

What is an estimate?

Page 4: The Art Of Estimation

The client needs RiskForce IV before next month or the Death Star will implode.

How long do you think it will take?

P.s. We should softcode the architecture in case we need to integrate with their Other System running on Paula Bean’s VM.

Love,

The Boss x

Page 5: The Art Of Estimation

An estimate is an unbiased, analytical process to predict the duration or cost of a project.

Page 6: The Art Of Estimation

We need RiskForce IV ready to demo at a conference in February.

Page 7: The Art Of Estimation

We will have something to demo at the conference in February.

Page 8: The Art Of Estimation

It’s a prediction.It is NOT planning!

Page 9: The Art Of Estimation

Estimation is not 100% accurateAll estimates are probabilities

Page 10: The Art Of Estimation

Why bother making estimates

at all?

Page 11: The Art Of Estimation

Better estimation…

Page 12: The Art Of Estimation

Better planning…

Page 13: The Art Of Estimation

Lower costs…

Page 14: The Art Of Estimation

Greater chance of project success!

Page 15: The Art Of Estimation

How do we know if our estimate is good?*

Page 16: The Art Of Estimation

Hi RiskWorks!

A good estimate should be within 25% of actual results75% of the time.

Steve McConnell

Page 17: The Art Of Estimation
Page 18: The Art Of Estimation

Low estimate

High estimate

1. Surface temperature of sun

2. Latitude of Shanghai

3. Area of Asian continent

4. The year of Alexanda the Great’s birth

5. Total value of U.S currency in circulation in 2004

6. Total volume of the Great Lakes

7. Worldwide box office receipts for the movie Titanic

8. Total length of the coastline of the Pacific Ocean

9. Number of book titles published in the U.S. since 1776

10. Heaviest blue whale ever recorded

For each question, fill in the upper and lower bounds that, in your opinion, give you a 90% chance of including the correct value.

Page 19: The Art Of Estimation

1. Surface temperature of sun 10,000°F /6,000°C

2. Latitude of Shanghai 31 degrees North

3. Area of Asian continent 17,139,000 square miles

4. The year of Alexanda the Great’s birth 356 BC

5. Total value of U.S currency in circulation in 2004 $719.9 billion

6. Total volume of the Great Lakes 2.3 x 10^16 litres

7. Worldwide box office receipts for the movie Titanic $1.835 billion

8. Total length of the coastline of the Pacific Ocean 84,300 miles

9. Number of book titles published in the U.S. since 1776 22 million

10. Heaviest blue whale ever recorded 170 metric tons

Answers

Page 20: The Art Of Estimation

How did you do?

Page 21: The Art Of Estimation

Where did the pressure to narrow your ranges come from?

Page 22: The Art Of Estimation

They came from within

Page 23: The Art Of Estimation

Narrow ranges != greater accuracy;

Make your ranges as wide as they need to be

Page 24: The Art Of Estimation

estimate?

under

over

Page 25: The Art Of Estimation

Work expands to fill time

Parkinson’s Law

Page 26: The Art Of Estimation

Goldratt’s student syndrome

Page 27: The Art Of Estimation

Underestimating will make them fearful, increasing their rate of work. The empire will soon be mine.

Page 28: The Art Of Estimation

Underestimating leads to project plan destruction

Page 29: The Art Of Estimation

More bugs

Page 30: The Art Of Estimation

Bad team healthImage: sick

Bad team health

Page 31: The Art Of Estimation

More time spent in status meetings at the end of the project

More time in status meetings to discuss slippage

Page 32: The Art Of Estimation

Control the effects of overestimation using project planning and status visibility

Not by bufferingyour estimates

Page 33: The Art Of Estimation

What’s the source of uncertainty in our estimates?

Page 34: The Art Of Estimation

Cone of uncertainty

Page 35: The Art Of Estimation

Cloud of uncertainty

Page 36: The Art Of Estimation

The cone doesn’t narrowitself

You have to force it to narrow by reducing variability

Page 37: The Art Of Estimation

Unstable requirements are the worst offender

Page 38: The Art Of Estimation

Project chaos leads to uncertainty in estimates

Page 39: The Art Of Estimation

Remember to include:

TestingSupport of old projectsVersion controlBuilding the installerMore meetings…

Page 40: The Art Of Estimation

Optimismisbad

Page 41: The Art Of Estimation

How do we become better estimators?

Page 42: The Art Of Estimation

Don’t give off the cuff estimates

Page 43: The Art Of Estimation

Precision is notaccuracy

The project will not take 233.725 hours

Page 44: The Art Of Estimation

Find somethingmeaningful to count and keep a record of it

Page 45: The Art Of Estimation

Use expert judgement only as a last resort

Page 46: The Art Of Estimation

What about when you’re agile?

Page 47: The Art Of Estimation

Measure story points per sprint

Page 48: The Art Of Estimation

Use t-shirt sizingat the start of

the project

S, M, L

Page 49: The Art Of Estimation

Feature Business value Development cost

Feature A Large Small

Feature B Small Large

Feature C Medium Large

Feature D Medium Medium

Feature Z Small Small

We can easily identify early on anything not worth pursuing

T-Shirt sizing chart

Page 50: The Art Of Estimation

We can be better at expert judgement

Page 51: The Art Of Estimation

Make tasks more granular

2days max per task

Page 52: The Art Of Estimation

Use ranges not single points with best case and worst caseestimates

Feature Best Case Worst Case

Feature A 1.25 2.0

Feature B 1.5 2.5

Feature C 2.0 3.0

Feature D 0.75 2.0

Feature E 0.5 1.25

Total 6.0 10.75

Page 53: The Art Of Estimation

Expected case = [Best Case + 4(MostLikelyCase) + WorstCase] / 6

Use the PERT formula to get the effort in the Expected Case

Page 54: The Art Of Estimation

Always compare your estimates to your actuals or you’ll never be

a better estimator

Page 55: The Art Of Estimation

Questions?