Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207

Preview:

Citation preview

Why Software Estimation is so Painful and How It Doesn’t Have To BeGregg BoerPrincipal Program ManagerMicrosoft Corporation

SESSION CODE: DPR207

Assuming that there are nearly 7,000,000,000 (7 billion) people on Earth,

Estimate the size of number you'd get if you multiplied together the number

of fingers on everyone's hands.

For this calculation, you may count a thumb as a finger.

How many zeroes would this number have?

Answer: 1. The number is zero.

Someone in the world has no fingers.

“Copyright © Kevin Stone, at www.brainbashers.com. Used with permission.”

W A H E U K F V I P ZH U U H T J O P N W LA E P W O N T D S W ST R H U O L M V R G AI D P A D W U N R T CS R S E X D A K K E AO M E R L X E R K Y ON J Z I S X N M B I QE R X F Q X V G Y E VP P E G F W Z W N R OL A J V R J H F K T XU H F K Y E W I F U CS S W C Q R Q Y H R UO M W E O R Q J K H RN M B W U K A J Y D QE T I Y O E D L R P F

The question is somewhere in the grid.

What’s the answer?

W A H E U K F V I P ZH U U H T J O P N W LA E P W O N T D S W ST R H U O L M V R G AI D P A D W U N R T CS R S E X D A K K E AO M E R L X E R K Y ON J Z I S X N M B I QE R X F Q X V G Y E VP P E G F W Z W N R OL A J V R J H F K T XU H F K Y E W I F U CS S W C Q R Q Y H R UO M W E O R Q J K H RN M B W U K A J Y D QE T I Y O E D L R P F

WHAT IS ONE PLUS ONE

“Copyright © Kevin Stone, at www.brainbashers.com. Used with permission.”

2Answer:

Question:

Below is 99. Moving only two lines, can you turn this into 25?

Below is 99. Moving only two lines, can you turn this into 25?

“Copyright © Kevin Stone, at www.brainbashers.com. Used with permission.”

Let’s get to know each other…

Why is software estimation so painful?

An estimate is a statement of probability

50%

An example…

Now

5 hours

10%

3 hours1 hour 8 hours

50% 75% 90%

1 week

95%

Estimates, Targets, Commitments

Now Then

A not-so-uncommon scenario…

Now Then

We need this in 6 months!

Cone of Uncertainty

0.67x

0.8x

1.0x

0.5x

0.25x

2x

4x

1.5x

1.25x

Project cost (effort/cost)

ProductDefinition

DetailedTechnical

Requirements

DetailedDevelopment

Design

“Order of Magnitude” (+75%, -25%)

“Budget” (+25%, -10%)

“Definitive” (+10%, -5%)

PMI Definitions+100%

-50%

A very interesting study…

Puzzle solving under pressure is difficult

Consequences are pretty severe

Need work

Why do people hate estimating?

You are being asked to…commit to hitting a specific target

for a puzzle you have never solved before

when you have the least information

then solve the puzzle under extreme schedule pressure,

and when the date isn’t met, heads roll

That’s why.

How long would it take…

Effort ScheduleSize

Data

What you need…

Unit Measure

Some existing methods

Lines of Code

Function Points

Pages of Requirements

Screens or Web Pages

Story Points

Break down into user storiesPr

iorit

y

Product Backlog – User Stories

Log in

Customize landing page

Cancel delivery

Sign up for delivery

Get the team togetherPr

iorit

y

Product Backlog – User Stories

Log in

Customize landing page

Cancel delivery

Sign up for delivery

Everyone gets a deck of cards

PlanningPoker

0 1 2 3 5 8 1320 40 100 ∞Prio

rity

Product Backlog – User Stores

Log in

Customize landing page

Cancel delivery

Sign up for delivery

Prio

rity

Product Backlog – User Stories

Log in

Customize landing page

Cancel delivery

Sign up for delivery

Calibrate story points

Completed User Stories

Add customer

View customer account

Log history entry

Block account

Prio

rity

Product Backlog – User Stories

Log in

Customize landing page

Cancel delivery

Sign up for delivery

Completed User Stories

Add customer

View customer account

Log history entry

Block account

Calibrate story points

5

Prio

rity

Product Backlog – User Stories

Log in

Customize landing page

Cancel delivery

Sign up for delivery

Team members estimate the user story

1 5 8

Prio

rity

Product Backlog – User Stories

Log in

Customize landing page

Cancel delivery

Sign up for delivery

Team members share their estimates

1 5 8

Prio

rity

Product Backlog – User Stories

Log in

Customize landing page

Cancel delivery

Sign up for delivery

Team members estimate again

5 5 8

Prio

rity

Product Backlog – User Stories

Log in

Customize landing page

Cancel delivery

Sign up for delivery

Team members share their estimates again

5 5 8

Prio

rity

Product Backlog – User Stories

Log in

Customize landing page

Cancel delivery

Sign up for delivery

Team members agree to an estimate they can all live with

5 8 13 5

Prio

rity

Product Backlog – User Stories

Do the work, collect data

Log in 5 Customize landing page 8Sign up for delivery 13Cancel delivery 5

Sprint Backlog

2 weeks

Effort ScheduleSize

Data

Sprint 4

Sprint 3

Sprint 2

Sprint 1

7

10

8

13

User Stories Completed

Average = 9.5

Effort ScheduleSize

Data

Now Then

We need this in 6 months!100

story points

Data says 10-12 months

User Stories

?

Advantages of Story Points

Simple

Team A Team B

Quicker feedback loops

Effort ScheduleSize

Data

A tragic tale…

What value does the estimate have?

Another tragic tale…

What visibility do you have?

ProductDefinition

DetailedTechnical

Requirements

DetailedDevelopment

Design

Value

Visibility

User Stories

User Stories

User Stories

Velocity = 5 to 15

User Stories13

Velocity = 13

User Stories13 8

Velocity = 10.5

User Stories13 8

User Stories13 8

?

Spike

User Stories13 8 Spike

User Stories13 8 Spike 10

Velocity = 10.5

Value

Visibility

Kolinahr

Types of estimators

Optimist

Pessimist

Pleaser

Padder

Cynic

Those asking for the estimate

Money Bags

The End is Near!

Doomsayer

Intimidator

Emotion runs wild

The End is Near!

Snoring…

The investment matches the value

Expectations based on visibility

ProductDefinition

DetailedTechnical

Requirements

DetailedDevelopment

Design

Re-estimate when there is more information

Is it an estimate or a commitment?

Now Then

Example: Waterfall project

Information required: Approved Business Requirements

Multiple people estimate separately, then meet to review, revise

Cone of uncertainty applied: (-50%, +100%)

Estimate only

Re-estimate after Detailed Requirements Phase

Felix the Frog

Suits vs. Shirts

Suits vs. Shirts

Ask for what they wantMore senior

Good negotiator

Determine what’s possibleMore junior

Good with puzzles

What’s the Common goal?

Now

The moment of truth…

Present in ranges

Now Then

Mar 1

January - April

Demand appropriate investment

Show your homework

Stand firm

Required Reading

Software Estimation: Demystifying the Black Artby Steve McConnell

Agile Estimating and Planningby Mike Cohn

Many of the principles I talked about are in these two books

Resources

www.microsoft.com/teched

Sessions On-Demand & Community Microsoft Certification & Training Resources

Resources for IT Professionals Resources for Developers

www.microsoft.com/learning

http://microsoft.com/technet http://microsoft.com/msdn

Learning

Related Content

DEV206 | Requirements Management with Microsoft Visual Studio 2010 Team Foundation Server

DPR06-INT | Tough Lessons Learned as a Software Project ManagerDPR01-INT | Agile Planning

Visual Studio Team Foundation Server 2010

Complete an evaluation on CommNet and enter to win!

© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to

be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Credits

Rubik’s Cube http://upload.wikimedia.org/wikipedia/commons/a/a6/Rubik's_cube.svg

Crossword Puzzle http://upload.wikimedia.org/wikipedia/commons/1/14/CrosswordUSA.svg

JUNE 7-10, 2010 | NEW ORLEANS, LA