+ All Categories
Home > Documents > Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Date post: 04-Jan-2016
Category:
Upload: linette-banks
View: 215 times
Download: 0 times
Share this document with a friend
Popular Tags:
89
Why Software Estimation is so Painful and How It Doesn’t Have To Be Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207
Transcript
Page 1: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

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

SESSION CODE: DPR207

Page 2: Gregg Boer Principal Program Manager Microsoft 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?

Page 3: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Answer: 1. The number is zero.

Someone in the world has no fingers.

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

Page 4: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

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?

Page 5: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

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:

Page 6: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

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

Page 7: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

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

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

Page 8: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Let’s get to know each other…

Page 9: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Why is software estimation so painful?

Page 11: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

An estimate is a statement of probability

50%

Page 12: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.
Page 13: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

An example…

Now

5 hours

10%

3 hours1 hour 8 hours

50% 75% 90%

1 week

95%

Page 14: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Estimates, Targets, Commitments

Now Then

Page 15: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

A not-so-uncommon scenario…

Now Then

We need this in 6 months!

Page 16: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

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%

Page 17: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

A very interesting study…

Page 18: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Puzzle solving under pressure is difficult

Page 19: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Consequences are pretty severe

Need work

Page 20: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Why do people hate estimating?

Page 21: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

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.

Page 22: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.
Page 23: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

How long would it take…

Page 24: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Effort ScheduleSize

Data

Page 25: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

What you need…

Unit Measure

Page 26: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Some existing methods

Lines of Code

Function Points

Pages of Requirements

Screens or Web Pages

Page 27: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Story Points

Page 28: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Break down into user storiesPr

iorit

y

Product Backlog – User Stories

Log in

Customize landing page

Cancel delivery

Sign up for delivery

Page 29: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Get the team togetherPr

iorit

y

Product Backlog – User Stories

Log in

Customize landing page

Cancel delivery

Sign up for delivery

Page 30: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

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

Page 31: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

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

Page 32: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

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

Page 33: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

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

Page 34: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

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

Page 35: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Prio

rity

Product Backlog – User Stories

Log in

Customize landing page

Cancel delivery

Sign up for delivery

Team members estimate again

5 5 8

Page 36: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

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

Page 37: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

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

Page 38: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

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

Page 39: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Effort ScheduleSize

Data

Page 40: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Sprint 4

Sprint 3

Sprint 2

Sprint 1

7

10

8

13

User Stories Completed

Average = 9.5

Page 41: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Effort ScheduleSize

Data

Page 42: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Now Then

We need this in 6 months!100

story points

Data says 10-12 months

User Stories

?

Page 43: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Advantages of Story Points

Simple

Team A Team B

Quicker feedback loops

Page 44: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Effort ScheduleSize

Data

Page 45: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

A tragic tale…

Page 46: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

What value does the estimate have?

Page 47: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Another tragic tale…

Page 48: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.
Page 49: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

What visibility do you have?

ProductDefinition

DetailedTechnical

Requirements

DetailedDevelopment

Design

Page 50: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Value

Visibility

Page 51: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.
Page 52: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

User Stories

Page 53: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

User Stories

Page 54: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

User Stories

Velocity = 5 to 15

Page 55: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

User Stories13

Velocity = 13

Page 56: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

User Stories13 8

Velocity = 10.5

Page 57: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

User Stories13 8

Page 58: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

User Stories13 8

?

Spike

Page 59: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

User Stories13 8 Spike

Page 60: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

User Stories13 8 Spike 10

Velocity = 10.5

Page 61: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Value

Visibility

Page 62: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Kolinahr

Page 63: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Types of estimators

Optimist

Pessimist

Pleaser

Padder

Cynic

Page 64: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Those asking for the estimate

Money Bags

The End is Near!

Doomsayer

Intimidator

Page 65: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Emotion runs wild

The End is Near!

Page 66: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Snoring…

Page 67: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

The investment matches the value

Page 68: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Expectations based on visibility

ProductDefinition

DetailedTechnical

Requirements

DetailedDevelopment

Design

Page 69: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Re-estimate when there is more information

Page 70: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Is it an estimate or a commitment?

Now Then

Page 71: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

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

Page 72: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.
Page 73: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Felix the Frog

Page 74: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Suits vs. Shirts

Page 75: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Suits vs. Shirts

Ask for what they wantMore senior

Good negotiator

Determine what’s possibleMore junior

Good with puzzles

Page 76: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

What’s the Common goal?

Now

Page 77: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

The moment of truth…

Page 78: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Present in ranges

Now Then

Mar 1

January - April

Page 79: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Demand appropriate investment

Page 80: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Show your homework

Page 81: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Stand firm

Page 82: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.
Page 83: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

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

Page 84: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

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

Page 85: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

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

Page 86: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

Complete an evaluation on CommNet and enter to win!

Page 87: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

© 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.

Page 88: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

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

Page 89: Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.

JUNE 7-10, 2010 | NEW ORLEANS, LA


Recommended