Why Software Estimation is so Painful and How It Doesn’t Have To Be Tech Ed North America 2010 5/16/2018 10:21 AM Required Slide SESSION CODE: DPR207 Why Software Estimation is so Painful and How It Doesn’t Have To Be Gregg Boer Principal Program Manager Microsoft Corporation © 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.
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.”
The question is somewhere in the grid. What’s the answer? W A H E U K F V I P Z H U U H T J O P N W L A E P W O N T D S W S T R H U O L M V R G A I D P A D W U N R T C S R S E X D A K K E A O M E R L X E R K Y O N J Z I S X N M B I Q E R X F Q X V G Y E V P P E G F W Z W N R O L A J V R J H F K T X U H F K Y E W I F U C S S W C Q R Q Y H R U O M W E O R Q J K H R N M B W U K A J Y D Q E 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 Z H U U H T J O P N W L A E P W O N T D S W S T R H U O L M V R G A I D P A D W U N R T C S R S E X D A K K E A O M E R L X E R K Y O N J Z I S X N M B I Q E R X F Q X V G Y E V P P E G F W Z W N R O L A J V R J H F K T X U H F K Y E W I F U C S S W C Q R Q Y H R U O M W E O R Q J K H R N M B W U K A J Y D Q E T I Y O E D L R P F Answer: 2 Question: WHAT IS ONE PLUS ONE “Copyright © Kevin Stone, at www.brainbashers.com. Used with permission.”
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 10% 50% 75% 90% 95% 1 hour 3 hours 5 hours 8 hours 1 week Now
Estimates, Targets, Commitments Now Then
A not-so-uncommon scenario… We need this in 6 months! Now Then
Cone of Uncertainty PMI Definitions +100% -50% Project cost (effort/cost) 4x Product Definition Detailed Technical Requirements Detailed Development Design “Order of Magnitude” (+75%, -25%) PMI Definitions +100% -50% 2x “Budget” (+25%, -10%) “Definitive” (+10%, -5%) 1.5x 1.25x 1.0x 0.8x 0.67x 0.5x 0.25x
A very interesting study…
Puzzle solving under pressure is difficult
Consequences are pretty severe Need work
Why do people hate estimating?
That’s why. 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 Size Schedule 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 stories Product Backlog – User Stories Log in Priority Customize landing page Sign up for delivery Cancel delivery
Get the team together Product Backlog – User Stories Log in Customize landing page Cancel delivery Sign up for delivery Priority
Everyone gets a deck of cards Planning Poker 1 Product Backlog – User Stores 2 3 5 Log in 8 13 Priority Customize landing page 20 40 100 Sign up for delivery ∞ Cancel delivery
Calibrate story points Completed User Stories Add customer View customer account Log history entry Block account
Calibrate story points Priority 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 5
Team members estimate the user story 8 1 5
Team members share their estimates 1 5 8
Team members estimate again 8 5 5
Team members share their estimates again 5 5 8
Team members agree to an estimate they can all live with 5 8 13 5
Do the work, collect data Product Backlog – User Stories Sprint Backlog Log in 5 Priority Customize landing page 8 Sign up for delivery 13 Cancel delivery 5 2 weeks
Effort Size Schedule Data
Average = 9.5
Effort Size Schedule Data
? User Stories 100 story points We need this in 6 months! Now Then Data says 10-12 months
Advantages of Story Points Simple Quicker feedback loops Team A ≠ Team B
Effort Size Schedule Data
A tragic tale…
What value does the estimate have?
Another tragic tale…
What visibility do you have? Product Definition Detailed Technical Requirements Detailed Development Design
Value Visibility
User Stories
User Stories
User Stories Velocity = 5 to 15
13 User Stories Velocity = 13
13 8 User Stories Velocity = 10.5
13 8 User Stories
13 8 Spike User Stories ?
13 8 Spike User Stories
13 8 Spike 10 User Stories Velocity = 10.5
Value Visibility
Kolinahr
Types of estimators Optimist Padder Pessimist Cynic Pleaser
Those asking for the estimate Money Bags Intimidator The End is Near! Doomsayer
Emotion runs wild The End is Near!
Snoring…
The investment matches the value
Expectations based on visibility Product Definition Detailed Technical Requirements Detailed Development 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 want More senior Good negotiator Determine what’s possible More junior Good with puzzles
What’s the Common goal? Now
The moment of truth…
Present in ranges Mar 1 Now Then January - April
Demand appropriate investment
Show your homework
Stand firm
Required Reading Software Estimation: Demystifying the Black Art Required Slide Track PMs will supply the content for this slide, which will be inserted during the final scrub. Tech Ed North America 2010 5/16/2018 10:21 AM Required Reading Software Estimation: Demystifying the Black Art by Steve McConnell Agile Estimating and Planning by Mike Cohn Many of the principles I talked about are in these two books © 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.
Resources Learning Required Slide www.microsoft.com/teched Tech Ed North America 2010 5/16/2018 10:21 AM Required Slide Resources Learning Sessions On-Demand & Community Microsoft Certification & Training Resources www.microsoft.com/teched www.microsoft.com/learning Resources for IT Professionals Resources for Developers http://microsoft.com/technet http://microsoft.com/msdn © 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.
Required Slide Speakers, please list the Breakout Sessions, Interactive Sessions, Labs and Demo Stations that are related to your session. Tech Ed North America 2010 5/16/2018 10:21 AM Related Content DEV206 | Requirements Management with Microsoft Visual Studio 2010 Team Foundation Server DPR06-INT | Tough Lessons Learned as a Software Project Manager DPR01-INT | Agile Planning Visual Studio Team Foundation Server 2010 © 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.
Complete an evaluation on CommNet and enter to win! Tech Ed North America 2010 5/16/2018 10:21 AM Required Slide 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.
Tech Ed North America 2010 5/16/2018 10:21 AM © 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. © 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
Required Slide Tech Ed North America 2010 5/16/2018 10:21 AM © 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.