Your SlideShare is downloading. ×
0
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Estimating in Software Development: No Silver Bullets Allowed

322

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 …

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
322
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
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
  • Transcript

    • 1. Estimating in Software Development:No Silver Bullets Allowed Kent J. McDonald @beyondreqs
    • 2. Disclaimer
    • 3. A Familiar Situation? Issues with Estimating Estimating Techniques
    • 4. Don’t worry, we’ll get to these…
    • 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. Issues with EstimatingInitial Uncertainty Accuracy/Effort TradeoffFalse Precision Differing Skill Levels
    • 7. Initial Uncertainty
    • 8. Cone of Uncertainty
    • 9. Cone of Uncertainty a Practical Use
    • 10. Hurricane Sandy – Actual Path
    • 11. Accuracy/Effort Tradeoff
    • 12. Point of Diminishing Returns
    • 13. False Precision
    • 14. How precise do you have to be? How long, and Approximately 374 how much? days and $2,548,931.27.
    • 15. Differingskill levels
    • 16. People finish tasks at different speeds
    • 17. Estimating TechniquesGuestimate Break it down, add it up Relative Estimating
    • 18. Guestimate
    • 19. Aka “Gut Feel” or “Ball Park”How long, and how much? About a year and $2.5 million.
    • 20. Comparison to Past Projects$1,000 $100K $10M ?? $1M
    • 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. Does it address our issues?Initial Uncertainty Accuracy/Effort TradeoffFalse Precision Differing Skill Levels
    • 23. When to use it
    • 24. Break it downAdd it up
    • 25. Break overall effort into bits
    • 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. Where do we come up with the factors?
    • 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. 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. 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. This gives us development hours
    • 32. What about analysis & testing &…  Percentage of development hours  Estimate tasks separately  You mean we have to estimate analysis & testing?
    • 33. Data Warehouse ExampleAdding a new source todata warehouse Count of sources Count of tables/source Count of elements/table Considerations of complexity
    • 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. 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. Of Course there’s always Function Points…
    • 37. Or, you could always add up tasks
    • 38. Does it address our issues?Initial Uncertainty Accuracy/Effort TradeoffFalse Precision Differing Skill Levels
    • 39. When to use it
    • 40. Another Look - Decomposition
    • 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. For More information How to Measure Anything: Finding the Value of Intangibles in Business by Douglas W. Hubbard HowToMeasureAnything.com
    • 43. Where it HelpsInitial Uncertainty Accuracy/Effort TradeoffFalse Precision Differing Skill Levels
    • 44. Relative Estimating
    • 45. Ah ha! Here’s the poker connection!
    • 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. The Delphi Technique
    • 48. Everyone selects an estimate
    • 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. Reveal estimates all at once
    • 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. Repeat until convergence
    • 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. Your turn…Determine relative sizes of these variousfeatures using the scale 1,2,3,4,5Based on this feature being sized an 1.
    • 55. Does it address our issues?Initial Uncertainty Accuracy/Effort TradeoffFalse Precision Differing Skill Levels
    • 56. When to use it
    • 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. How should we approach estimating for a project?
    • 59. CalibratedGuestimate Phase Based Estimates Break it down add it up Set expectation for revisions
    • 60. AgileComparison Calibrated to past Estimates projects Extrapolate from Velocity Setexpectationfor revisions
    • 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. Questions?Kent J. McDonaldkent@kentmcdonald.comwww.BeyondRequirements.comTwitter: @BeyondReqsSlides available from:http://www.knowledgebridgepartners.com/presentations/softwareestimating/ 65

    ×