29
Stop Multiplying by 4 Practical software estimation Chuck Reeves @manchuck

Stop multiplying by 4: Practical Software Estimation

Embed Size (px)

DESCRIPTION

Many developers are often asked by project owners to give time estimates for features or bug fixes. But how many developers have the ability to provide project owners a reasonable estimate? Many developers will just follow irrational formulas or arbitrary methods to create a number that is not only wrong, but costly. "Stop Multiplying by 4" will teach developers of all skill levels easy techniques to provide accurate estimations. We will start with a small calibration exercise to find out how good you are. We will then go over procedures to improve accuracy . At the end of the talk, you will possess the skills to get you started on improving the certainty of your estimates.

Citation preview

  • 1. Stop Multiplying by 4 Practical software estimation Chuck Reeves @manchuck

2. About Me 3. Why even estimate? Why should developers estimate? 4. I'll tell you how I estimate things. I sit down and figure out how long I think it would take me to do it. Then I double that time and then I push it up to the next point on the Time Progression Scale. Were the Time Progress Scale starts off: seconds, minuets, hours and days. So if I think something is going to take me 4 hours to do. I will double it to 8 and then I would say it would take me 8 days to get it all completely done start to finish. And I'm usually right, because there are so many impediments. If you are the only one doing it yourself your schedule can be very accurate. Once you have to involve other people, you might as well just make numbers up. You might as well say I think this will take me Blue days to get done 5. Requirements were the key Measure what is measurable, but make measurable what is not so -Galileo Galilei 6. Wordy Expression Our new contact form for the sales team to call or email potential leads, will require the potential leads to provide the following contact information: First and Last name, Email address, and Phone number 7. Misplaced Modifier The contact form has fields for entering a valid First and Last Name, Email address and Phone number Top Tip: Prevent children from ingesting dangerous medicines by locking them in a childproof cupboard. 3 children per cupboard is a good fit -Periwinkle Jones @peachesanscream 8. The contact form has fields for First and Last Name, Email address and Phone number. All fields are required and must be validated (202) 456-1111 555-1212 212-867-5309 1-800-MATTRES 911 +44 871 984 6352 +852 2280 2898 +91 11 2679 1234 Valid Phone numbers: 9. fast, rapid, efficient Use a set time: "5 seconds" valid, including but not limited too, etc., and so on Describe what is valid or invalid. use comprehensive list maximize, minimize, optimize, at least, between, several Be sure to include appropriate values simple, easy, quick, user-friendly Describe what makes it these reasonable, when necessary How do you make this judgment? Source: Software Requirements 2 Karl Weigers 10. In order to estimate, you must define the parameters of what you are estimating: UTF-8 First and Last name must be between 3 and 100 characters Email complies with RFC 822 and no longer than 300 characters Phone Number < 25 characters and validated with Foo-Bar REST service 11. Historical data Dry run / Unit test Confidence Interval (CI) It is better to be roughly right than precisely wrong. - John Maynard Keynes 12. What is the wingspan of a 747 How far is NY from LA The average house in the United States uses how many gallons/liters of water per day? Francis Scott Key wrote the lyrics, but not the music, for the American National Anthem 28 degrees Fahrenheit is colder than -15 degrees Celsius. America On Line purchased Netscape. 13. Equivalent Bet Repetition Pros and Cons Absurdity Test 14. Q. What is the wingspan of a 747 A. 211 ft (64m) Q. How far is NY from LA A. 2,808 mi (4,519 km) Q. The average house in the United States uses how many gallons/liters of water per day? A. 350 g (1,324 l) Q. Francis Scott Key wrote the lyrics, but not the music, for the American National Anthem A. True Q. 28 degrees Fahrenheit is colder than -15 degrees Celsius. A. False Q. America On Line purchased Netscape. A. True 15. Fuzzy Logic / Tee Shirt Size Average LOC Very Small 127 Small 253 Medium 500 Large 1,014 Very Large 1,988 Source: Software Estimation 2 Steve McConnell 16. Wideband Delphi Or Group Round 1 Round 2 Round 3 Hours 1 2 3 4 65 7 8 9 17. Bayes Theorem 18. Priorities Urgency Matrix Important Not Important Urgent High Priority Not Urgent Medium Priority Low Priority Source: Software Requirements 2 Karl Weigers 19. Priorities Prioritization Spreadsheet Source: Software Requirements 2 Karl Weigers https://www.microsoftpressstore.com/store/software-requirements-9780735679665 Feature Relative Benefit Relative Penalty Total Value Value % Relative Cost Cost % Relative Risk Risk % Priority Validate Phone 2 4 8 13.1 1 9.1 1 14.3 0.81 Connect to Service 5 3 13 21.3 2 18.2 1 14.3 0.84 Report on Data 9 7 25 41.0 5 45.5 3 42.9 0.61 Mark off for contacted leads 5 5 15 24.6 3 27.3 2 28.6 0.59 Totals 21 19 61 100.0 11 100.0 7 100.0 20. Politics 21. Remove people from the problem 22. Focus on Interests not Positions 23. DO NOT NEGOTIATE YOUR ESTIMATE!!!!! 24. ISBN-13: 978-0735618794 25. ISBN-13: 978-0735605350 26. ISBN-13: 978-1118539279 27. Questions? 28. Thank You! Chuck Reeves @manchuck http://joind.in/talk/view/10634 Software Estimation: Demystifying the Black Art by Steve McConnell | ISBN-13: 978-0735605350 Software Requirements: Practical Techniques for Gathering and Managing Requirements by Karl Wiegers How to Measure Anything: Finding the Value of Intangibles in Business by Douglas Hubbard | ISBN-13: 978-1118539279 Dev Hell Podcast - Episode 29: Snappy Answers to Stupid Questions