Upload
linette-banks
View
216
Download
0
Tags:
Embed Size (px)
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?
Software development is puzzle solving
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