Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Why Software Estimation is so Painful and How It Doesn’t Have To Be"— Presentation transcript:

1 Why Software Estimation is so Painful and How It Doesn’t Have To Be
Gregg Boer Principal Program Manager Microsoft Corporation Tech Ed North America 2010

2 Software development is puzzle solving

3 An estimate is a statement of probability
50% No limit to how long it will take!

4 Fixing the faucet example How long will it take?
5 hours 10% 3 hours 1 hour 8 hours 50% 75% 90% 1 week 95% Now

5 Estimates, targets and commitments
Now Then Butt on the line!

6

7 For each project… what’s not clear
At the start… Specific details of the nature of the software to built Details of specific requirements, Details of the solution, project plan, staffing, and other variables … are unclear (at best) Only after the sources of variability are investigate and pinned down, does the variability in the project diminish … and the variability in project estimates can also diminish

8 The degree of error created by skilled estimators at various points in the Project
Figure 1 The Cone of Uncertainty

9 “If you have another week to work on your estimate, can your refine it so it contains less uncertainty?” Research has found… … the accuracy of the estimate depends on the level of refinement of the software’s definition. The more refined the definition, the more accurate the estimate. Reducing the variability doesn’t happen unless you reduce the variability in the project.

10 If the project is not well controlled…
… or the estimators aren’t very skilled, the estimates can fail to improve The project must be “conducted” in a way that reduces variability.

11 Reducing variability Defined product vision (including committing to what you will not do)… Defining requirements – including what you are not going to do… Designing the user interface helps reduce the risk of variability arising from misunderstood requirements If the “project” is not defined or the product definition gets redefined, the cone gets wider. NOTE Software organizations sabotage their own projects by making commitments too early in the Cone of Uncertainty.

12

13 Cone of Uncertainty PMI estimates | Project Management Institute
0.67x 0.8x 1.0x 0.5x 0.25x 2x 4x 1.5x 1.25x Project cost (effort/cost) Product Definition Detailed Technical Requirements Development Design “Order of Magnitude” (+75%, -25%) “Budget” (+25%, -10%) “Definitive” (+10%, -5%) +100% -50%

14 Puzzle solving under pressure is difficult

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

16 Effort Schedule Size Data How long would it take…

17 What you need… Unit Measure

18 Some existing sizing methods
Lines of Code Function Points Pages of Requirements Screens or Web Pages

19 Story Points (Break down Features into user stories)
Priority Product Backlog – User Stories Log in Customize landing page Cancel delivery Sign up for delivery

20 Team work! Everyone gets a deck of cards
Planning Poker 1 Product Backlog – User Stores 2 3 5 Log in 8 Priority 13 Customize landing page 20 40 100 Sign up for delivery Cancel delivery

21 Calibrate story points
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 Priority

22 Team members estimate the user story and Team members share their estimates
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 Priority 1 5 8

23 Team members estimate the user story and Team members share their estimates
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 8 13 Priority

24 Team members estimate the user story and Team members share their estimates
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 8 13 Priority

25 Team members estimate the user story and Team members share their estimates
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 8 13 Priority

26 Team members estimate the user story and Team members share their estimates
Product Backlog – User Stories Log in Customize landing page Cancel delivery Sign up for delivery Sprint Backlog 2 weeks 5 8 13 Priority

27 Effort Schedule Size Data How long would it take…

28 Average = 9.5

29 Effort Schedule Size Data How long would it take…

30 ? We need this in 6 months! User Stories 100 story points Now Then
Data says months Butt on the line!

31 Advantages of Story Points
Simple Quicker feedback loops Team A story points≠ Team B’s story points

32 What visibility do you have?
Product Definition Detailed Technical Requirements Detailed Development Design

33 What value does the estimate have?
Visibility

34 Types of estimators Optimist Padder Pessimist Cynic Pleaser

35 Those asking for the estimate
Money Bags Intimidator The End is Near! Doomsayer

36 Emotion runs wild The End is Near!

37 The investment matches the value

38 Expectations based on visibility
Product Definition Detailed Technical Requirements Detailed Development Design

39 Re-estimate when there is more information

40 Is it an estimate or a commitment?
Now Then Butt on the line!

41 Estimating: Waterfall Project
What you need – the process: Information required: Approved Business Requirements Multiple people to estimate separately, then meet to review, revise Apply Cone of Uncertainty applied: (-50%, +100%) Estimate only Re-estimate after Detailed Requirements Phase

42 Suits vs. Shirts Ask for what they want More senior Good negotiator
Determine what’s possible More junior Good with puzzles

43 Suits vs Shirts What’s the Common goal? Now

44 Present in ranges Mar 1 Now Then January - April

45 Advice For every estimate, demand appropriate investment Show your homework – done collaboratively Stand firm


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

Similar presentations


Ads by Google