Guesstimate - Some Thoughts on Estimation in Software Development
-
Upload
project-management-berlin-meetup -
Category
Software
-
view
223 -
download
0
Transcript of Guesstimate - Some Thoughts on Estimation in Software Development
![Page 1: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/1.jpg)
Photo by gordon (TD8316) - Creative Commons Attribution-NonCommercial-ShareAlike License https://www.flickr.com/photos/22934398@N05 Created with Haiku Deck
GuesstimatePeter Rubarth, 2014
![Page 2: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/2.jpg)
Prediction is very hard, especially if it‘s
about the futureNils Bohr
![Page 3: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/3.jpg)
Exercise 1 – Expert estimation
Write down your estimates for the following facts:
1. Length of German border (in km)2. Amount of water in Bodensee lake (in l)3. Dollars (as notes) in circulations within the USA in 2004 (in
$) 4. Birth year of Alexander the Great (year)5. World wide revenue with movie “Titanic” (in $)6. Latitude of Shanghai (in degrees)7. Temperature on the surface of the sun (in °C)8. Number of bacteria in human intestines9. Number of works of Ludwig van Beethoven10. Expanse of Asia (in km^2)11. Number of stars in Milky Way12. Number newly published books in Germany 2004-200713. Area covered by Hamburger Hafencity including water area
(in ha)
Thank you @projectzone - http://yourprojectzone.com/2014/03/30/uebung-team-estimation-game
![Page 4: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/4.jpg)
Why do we estimate?
![Page 5: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/5.jpg)
●Prepare project bid●Plan time, resources, …●Foster discussion●Determine economic
feasability●Someone told us so●…
![Page 6: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/6.jpg)
What do we estimate?
![Page 7: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/7.jpg)
●Time
●Effort
●Complexity
![Page 8: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/8.jpg)
How do we estimate?
![Page 9: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/9.jpg)
Expert estimation
●Ask someone who should know
![Page 10: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/10.jpg)
Formal model
• COCOMO 2, Function Points, IFPUG FPA, LOC, COSMIC Full Function Point (FFP) …
![Page 11: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/11.jpg)
What could go wrong?
![Page 12: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/12.jpg)
Insufficient data
![Page 13: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/13.jpg)
Negotiation● Now cut that in half and we have a deal
![Page 14: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/14.jpg)
Estimates become targets
● But you’ve said it will take only so long!
![Page 15: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/15.jpg)
![Page 16: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/16.jpg)
Work expands so as to fill the time
available for its completion.
● Parkinson‘s Law
![Page 17: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/17.jpg)
This is why buffers (or the Project Managers‘ multiplier) don‘t work.
![Page 18: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/18.jpg)
Cycle of Mistrust
Deliver the wrong thing, or late
Trust breaks down
Commitments of
scope and time
Focus on schedule
© Copyright Neil Killick, Iterative, 2013
![Page 19: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/19.jpg)
Good Practise
![Page 20: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/20.jpg)
Clarify objectives
• For which purpose?
• What are the risks and mitigation strategies?
• Awareness of the nature of estimations?
![Page 21: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/21.jpg)
Provide ranges not a single value
Likely effort from … to ….
Helps to communicate that an estimate is not a guarantee
![Page 22: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/22.jpg)
Use indirection, avoid direct time estimates
• Abstract units such as Story Points, Ideal Days or T-Shirt sizes help to communicate uncertainty
• Support empiric forecasting
![Page 23: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/23.jpg)
Explicitly state assumptions
Provide a disclaimer:• Which assumptions • Use approach and data• Risks and possible impact
At least you have told `em
![Page 24: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/24.jpg)
Review and update your estimates
• Use what you have learned• Do not hide unwelcome
news• Burnt hours are a bad
progress indicator
![Page 25: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/25.jpg)
The evil of Fixed Price Contracts
Knowing it will take longer does not help, because everything is fixed (unless people really idled before)
Strong incentive to cut corners and damage quality
![Page 26: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/26.jpg)
Even better practise
![Page 27: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/27.jpg)
• FOCUS ON VALUE• DELIVER SMALL SLICES• DELIVER EARLY &
FREQUENTLY• CUSTOMER
COLLABORATION© Copyright Neil Killick, Iterative, 2013
![Page 28: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/28.jpg)
EMPIRICISM
• Use actual results to predict progress
![Page 29: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/29.jpg)
Useful Methods
![Page 30: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/30.jpg)
Group Estimation
Don‘t rely on a single opinion
Methods:• Wideband Delphi• Planning Poker• Affinity Mapping
![Page 31: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/31.jpg)
Analogy Method
• Compare project to previous experience
• Use checklist to compare and classify on different dimensions
• Only useful if sufficient similarity
![Page 32: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/32.jpg)
Affinity Estimation
• Silently order items relative to each other
• Build clusters
• Apply appropriate scale
![Page 33: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/33.jpg)
Now it‘s your turn!
![Page 34: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/34.jpg)
Exercise 2 –Affinity Estimation
1. Take first item and place it in the
center
2. Take turns and position subsequent
item relative to existing items
3. Reorder if you disagree
4. Do not discuss!
![Page 35: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/35.jpg)
Exercise 2 – Affinity estimation
Write down your estimates for the following facts:
1. Length of German border (in km)2. Amount of water in Bodensee lake (in l)3. Dollars (as notes) in circulations within the USA in 2004 (in
$) 4. Birth year of Alexander the Great (year)5. World wide revenue with movie “Titanic” (in $)6. Latitude of Shanghai (in degrees)7. Temperature on the surface of the sun (in °C)8. Number of bacteria in human intestines9. Number of works of Ludwig van Beethoven10. Expanse of Asia (in km^2)11. Number of stars in Milky Way12. Number newly published books in Germany 2004-200713. Area covered by Hamburger Hafencity including water area
(in ha)
Thank you @projectzone - http://yourprojectzone.com/2014/03/30/uebung-team-estimation-game
![Page 36: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/36.jpg)
Exercise 2 –Solution
Find the solution at
http://yourprojectzone.com/2014/03/30/
uebung-team-estimation-game/
![Page 37: Guesstimate - Some Thoughts on Estimation in Software Development](https://reader036.fdocuments.us/reader036/viewer/2022062514/55a2093a1a28abe3788b4908/html5/thumbnails/37.jpg)
Thank you!Twitter: #PRubarth