Why Software Estimation is so Painful and How It Doesn’t Have To Be

Slides:



Advertisements
Similar presentations
MIX 09 4/15/ :14 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Advertisements

Session 1.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Gregg Boer Principal Program Manager Microsoft Corporation SESSION CODE: DPR207.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.

customer.
demo © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
demo Demo.
demo QueryForeign KeyInstance /sm:body()/x:Order/x:Delivery/y:TrackingId1Z
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks.
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.

TechEd /22/2018 7:16 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
How We Do Language Design at Microsoft (C#, Visual Basic, F#)
Why Software Estimation is so Painful and How It Doesn’t Have To Be
6/5/2018 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
Tech·Ed  North America /11/ :01 AM SESSION CODE: DEV405
6/12/ :53 PM DEV311 Deep Dive into Microsoft Visual Studio Team Foundation Server 2010 Reporting Steven Borg, Principal ALM Consultant Northwest.
Tech·Ed North America /19/2018 3:29 PM
9/11/2018 5:53 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
MDOP: Advanced Group Policy Management 4.0
Tech·Ed North America /14/2018 7:13 PM
Microsoft Visual Studio IDE Futures
Overview of Social Computing in Microsoft SharePoint 2010
Implementing RESTful Services Using the Microsoft .NET Framework
Sysinternals Tutorials
What’s New In ASP.NET MVC 2
11/22/2018 8:05 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Advanced Dashboard Creation Using Microsoft SharePoint Server 2010
Jason Zander Unplugged
Branching and Merging Practices
Title of Presentation 12/2/2018 3:48 PM
Brian Keller Sr. Technical Evangelist Microsoft Session Code: DEV310
12/5/2018 3:24 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Team Foundation Server 2010 for Everyone
Tiberiu Covaci Senior Technical Trainer Many-core
12/27/ :01 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Introducing Microsoft SQL Server 2008 R2 Master Data Services
Authoring for Microsoft Silverlight 4 with Microsoft Expression Blend
Tech Ed North America /1/ :36 AM Required Slide
Tech Ed North America /1/2019 2:58 AM Required Slide
Tech·Ed North America /17/2019 1:47 AM
Tech·Ed North America /17/2019 6:01 PM
Brian Keller Sr. Technical Evangelist Microsoft Session Code: DEV310
Microsoft SharePoint Conference 2009 Jon Flanders
Building Silverlight Apps with RIA Services
Tech Ed North America /12/2019 6:45 AM Required Slide
Silverlight Debugging
8/04/2019 9:13 PM © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
A Lap Around Internet Explorer 9 For Developers
Виктор Хаджийски Катедра “Металургия на желязото и металолеене”
TechEd /28/2019 7:58 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
2010 Microsoft BI Conference
Tech·Ed North America /25/ :53 PM
Hack-proofing your Clients using Windows 7 Security!
How and When to Use MEF: Too Much Is Never Enough
Шитманов Дархан Қаражанұлы Тарих пәнінің
Lap Around the Windows Azure Platform
Code First Development in Microsoft ADO.NET Entity Framework 4.1
Building BI applications using PowerPivot for Excel
Title of Presentation 5/24/2019 1:26 PM
7/5/2019 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
Tech·Ed North America /6/2019 7:10 PM
Tech·Ed North America /17/2019 4:14 PM
Tech·Ed North America /7/2019 2:30 PM
What’s New in Visual Studio 2012 for Web Developers
Presentation transcript:

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.