Estimating in Software Development: No Silver Bullets Allowed

648 views

Published on

What do poker, Greek oracles, an Italian mathematician from the Middle Ages, and the path of hurricanes have in common? Given the title of this presentation, chances are it has something to do with estimation, and you’ll have to attend this session to get the full connection. Kent McDonald explores the challenges and realities of trying to estimate software-related knowledge work—analysis, testing, development, and the entire project effort. A major challenge is that there are no guaranteed ways to arrive at perfectly accurate estimates, which not surprisingly is why they are called estimates. Kent introduces and gives you a chance to practice quick and practical estimating techniques that will work in different situations—guesstimating, break it down and add it up, and planning poker. Kent has found that these “lite” estimation techniques are almost always just as informative as the ones you just spent six weeks formulating.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
648
On SlideShare
0
From Embeds
0
Number of Embeds
31
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • What do poker, Greek oracles, an Italian mathematician from the middle ages, and the path of hurricanes have in common?  Given the title of this presentation, chances are it has something to do with estimation, but you’ll have to come see it to get the full connection.In case that wasn’t sufficient enticement, Kent McDonald discusses the challenges and realities of estimating knowledge work, be it analysis, testing, software development, or the entire effort.  One big challenge and reality is there are no guaranteed ways to arrive at perfectly accurate or precise estimates, which ironically is why they are called estimates.  Not being one to whine about a problem without offering a solution, Kent introduces and gives you a chance to practice some practical techniques that your team can use to quickly determine estimates that are just as informative as the ones you just spent six weeks formulating.
  • Image credit:http://www.crystalinks.com/delpipythia.jpghttp://www.fibonacci.name/images/Fibonacci.jpeg
  • Not much is known about projects when estimates are made
  • Everyone wants “accurate” estimatesEstimates are inherently inaccurate.
  • Point of diminishing returns
  • Different people take different amount of time to do a task based on skill
  • Estimating in Software Development: No Silver Bullets Allowed

    1. 1. Estimating in Software Development:No Silver Bullets Allowed Kent J. McDonald @beyondreqs
    2. 2. Disclaimer
    3. 3. A Familiar Situation? Issues with Estimating Estimating Techniques
    4. 4. Don’t worry, we’ll get to these…
    5. 5. Has this ever happened to you?Ok, great. The Sales How long will it VP promised an I just found out take to build the estimate to the about it this commissionCEO next Monday. morning, so I’ll need system? It better be right. to do some analysis .
    6. 6. Issues with EstimatingInitial Uncertainty Accuracy/Effort TradeoffFalse Precision Differing Skill Levels
    7. 7. Initial Uncertainty
    8. 8. Cone of Uncertainty
    9. 9. Cone of Uncertainty a Practical Use
    10. 10. Hurricane Sandy – Actual Path
    11. 11. Accuracy/Effort Tradeoff
    12. 12. Point of Diminishing Returns
    13. 13. False Precision
    14. 14. How precise do you have to be? How long, and Approximately 374 how much? days and $2,548,931.27.
    15. 15. Differingskill levels
    16. 16. People finish tasks at different speeds
    17. 17. Estimating TechniquesGuestimate Break it down, add it up Relative Estimating
    18. 18. Guestimate
    19. 19. Aka “Gut Feel” or “Ball Park”How long, and how much? About a year and $2.5 million.
    20. 20. Comparison to Past Projects$1,000 $100K $10M ?? $1M
    21. 21. Your turn…Want to create an online application for Mortgage InsuranceHow long to deliver the onlineapplication for MortgageInsurance?A ballpark answer is sufficient.
    22. 22. Does it address our issues?Initial Uncertainty Accuracy/Effort TradeoffFalse Precision Differing Skill Levels
    23. 23. When to use it
    24. 24. Break it downAdd it up
    25. 25. Break overall effort into bits
    26. 26. Assign factor to each small bitTasks Time Factor # of Total Time (hour/bit) bits (hours)InterfacesGUI - Simple 8GUI - Medium 16GUI - Hard 24System Interface - Simple 12System Interface - Complex 30 Total InterfacesProcessesSimple Process 16Medium Process 32Complex Process 48 Total Processes
    27. 27. Where do we come up with the factors?
    28. 28. This is where time cards may be useful…  Know ahead of time what you want to track  Build up information over time  Often requires excruciating detail in time collection.
    29. 29. Identify How Many BitsTasks Time Factor # of Total Time (hour/bit) bits (hours)InterfacesGUI - Simple 8 3GUI - Medium 16 2GUI - Hard 24 1System Interface - Simple 12 3System Interface - Complex 30 2 Total Interfaces 11ProcessesSimple Process 16 5Medium Process 32 4Complex Process 48 3 Total Processes 12
    30. 30. Do the math to get an estimateTasks Time Factor # of Total Time (hour/bit) bits (hours)InterfacesGUI - Simple 8 3 24GUI - Medium 16 2 32GUI - Hard 24 1 24System Interface - Simple 12 3 36System Interface - Complex 30 2 60 Total Interfaces 11 176ProcessesSimple Process 16 5 80Medium Process 32 4 128Complex Process 48 3 144 Total Processes 12 352
    31. 31. This gives us development hours
    32. 32. What about analysis & testing &…  Percentage of development hours  Estimate tasks separately  You mean we have to estimate analysis & testing?
    33. 33. Data Warehouse ExampleAdding a new source todata warehouse Count of sources Count of tables/source Count of elements/table Considerations of complexity
    34. 34. Data Warehouse Example 1. Gather all the info 2. Plug it into a spreadsheet 3. Look at the resulting (realistic but “too high”) number 4. Revise…
    35. 35. Your turn…Want to create an online application for Mortgage InsuranceHow long to deliver the onlineapplication for MortgageInsurance?Identify how you would breakthis down to estimate
    36. 36. Of Course there’s always Function Points…
    37. 37. Or, you could always add up tasks
    38. 38. Does it address our issues?Initial Uncertainty Accuracy/Effort TradeoffFalse Precision Differing Skill Levels
    39. 39. When to use it
    40. 40. Another Look - Decomposition
    41. 41. Calibrated Estimates in Ranges Manage Moderate Manage Build Manage Tracks Content Deadlines Program Venue 1 – 2 Days 3 – 5 Days 1 – 2 Days 4 – 6 Days .5 – 1 Days 9.5 – 16 Days @ $100/hour & 8 hours/day $7,600 – $12,800Note, Entire team calibrated andinvolved in determining these estimates.
    42. 42. For More information How to Measure Anything: Finding the Value of Intangibles in Business by Douglas W. Hubbard HowToMeasureAnything.com
    43. 43. Where it HelpsInitial Uncertainty Accuracy/Effort TradeoffFalse Precision Differing Skill Levels
    44. 44. Relative Estimating
    45. 45. Ah ha! Here’s the poker connection!
    46. 46. Discuss (briefly) the item to estimate As an Event Organizer I want to know how audience members vote by athlete by gender So That I can determine if men and women vote differently.
    47. 47. The Delphi Technique
    48. 48. Everyone selects an estimate
    49. 49. Estimating Scales(Modified) FibonacciSequence:0, ½, 1, 2, 3, 5, 8, 13, 20,40, 80, 100Using a regular deck ofcards:A, 2, 3, 5, 8, KingTeam Member Hands:1–5 Leonardo Pisano Bigollo aka Fibonacci Italian Mathematician
    50. 50. Reveal estimates all at once
    51. 51. Discuss outliers Well, we changed the votingI wasn’t sure we knew howmachines to ask gender a Andwhy did youthe two So how about pick during Yeah, what she said. to tell an audience sign in last iteration, so it king? aces? member’s gender. should be easy
    52. 52. Repeat until convergence
    53. 53. Extrapolate based on Velocity Assumptions:  2 week iterations  Overall backlog size: 600 points  Planning Velocity: 30  5 Person Team  Avg Cost/person/wk: $4,000 Estimate: $800,000
    54. 54. Your turn…Determine relative sizes of these variousfeatures using the scale 1,2,3,4,5Based on this feature being sized an 1.
    55. 55. Does it address our issues?Initial Uncertainty Accuracy/Effort TradeoffFalse Precision Differing Skill Levels
    56. 56. When to use it
    57. 57. An Alternative to Planning Poker 1 2 3 5 8User Story User Story User Story User StoryUser Story User Story User Story User StoryUser Story User StoryUser Story User Story
    58. 58. How should we approach estimating for a project?
    59. 59. CalibratedGuestimate Phase Based Estimates Break it down add it up Set expectation for revisions
    60. 60. AgileComparison Calibrated to past Estimates projects Extrapolate from Velocity Setexpectationfor revisions
    61. 61. If you remember nothing elseInitial Don’t spenduncertainty more effortmeans you will than it’snot be accurate. worth.Don’t imply Incorporatemore precision multiplethan is perspectives.possible.
    62. 62. Questions?Kent J. McDonaldkent@kentmcdonald.comwww.BeyondRequirements.comTwitter: @BeyondReqsSlides available from:http://www.knowledgebridgepartners.com/presentations/softwareestimating/ 65

    ×