![Page 1: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/1.jpg)
Estimating in Software Development: No Silver Bullets Allowed
Kent J. McDonald@beyondreqs
![Page 2: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/2.jpg)
Disclaimer
![Page 3: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/3.jpg)
A Familiar Situation?
Issues with Estimating
Estimating Techniques
![Page 4: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/4.jpg)
Don’t worry, we’ll get to these…
![Page 5: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/5.jpg)
Has this ever happened to you?How long will it
take to build the
commission system?
I just found out about it this
morning, so I’ll need to do some
analysis .
Ok, great. The Sales VP
promised an estimate to the
CEO next Monday. It
better be right.
![Page 6: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/6.jpg)
Issues with Estimating
Initial Uncertainty Accuracy/Effort Tradeoff
False Precision Differing Skill Levels
![Page 7: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/7.jpg)
Initial Uncertainty
![Page 8: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/8.jpg)
Cone of Uncertainty
![Page 9: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/9.jpg)
Cone of Uncertainty a Practical Use
![Page 10: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/10.jpg)
Hurricane Sandy – Actual Path
![Page 11: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/11.jpg)
Accuracy/Effort Tradeoff
![Page 12: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/12.jpg)
Point of Diminishing Returns
![Page 13: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/13.jpg)
False Precision
![Page 14: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/14.jpg)
How precise do you have to be?How long, and
how much?Approximately 374 days and
$2,548,931.27.
![Page 15: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/15.jpg)
Differing skill levels
![Page 16: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/16.jpg)
People finish tasks at different speeds
![Page 17: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/17.jpg)
Estimating Techniques
Guestimate Break it down, add it up
Relative Estimating
![Page 18: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/18.jpg)
Guestimate
![Page 19: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/19.jpg)
Aka “Gut Feel” or “Ball Park”How long, and
how much? About a year and $2.5 million.
![Page 20: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/20.jpg)
Comparison to Past Projects
$1,000 $100K $10M
??
??
??
$1M
![Page 21: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/21.jpg)
Your turn…
Want to create an online application for Mortgage InsuranceHow long to deliver the online application for Mortgage Insurance?
A ballpark answer is sufficient.
![Page 22: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/22.jpg)
![Page 23: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/23.jpg)
Does it address our issues?
Initial Uncertainty Accuracy/Effort Tradeoff
False Precision Differing Skill Levels
![Page 24: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/24.jpg)
When to use it
When you need an estimate fast
When requester accepts inaccuracy
When you’ll
put more
thought to it
later
When you
have experience
with similar
efforts
![Page 25: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/25.jpg)
Break it downAdd it up
![Page 26: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/26.jpg)
Break overall effort into bits
![Page 27: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/27.jpg)
Assign factor to each small bitTasks Time Factor
(hour/bit)# of bits
Total Time (hours)
Interfaces
GUI - Simple 8
GUI - Medium 16
GUI - Hard 24
System Interface - Simple 12
System Interface - Complex 30
Total Interfaces
Processes
Simple Process 16
Medium Process 32
Complex Process 48
Total Processes
![Page 28: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/28.jpg)
Where do we come up with the factors?
![Page 29: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/29.jpg)
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.
![Page 30: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/30.jpg)
Identify How Many BitsTasks Time Factor
(hour/bit)# of bits
Total Time (hours)
Interfaces
GUI - Simple 8 3
GUI - Medium 16 2
GUI - Hard 24 1
System Interface - Simple 12 3
System Interface - Complex 30 2
Total Interfaces 11
Processes
Simple Process 16 5
Medium Process 32 4
Complex Process 48 3
Total Processes 12
![Page 31: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/31.jpg)
Do the math to get an estimateTasks Time Factor
(hour/bit)# of bits
Total Time (hours)
Interfaces
GUI - Simple 8 3 24
GUI - Medium 16 2 32
GUI - Hard 24 1 24
System Interface - Simple 12 3 36
System Interface - Complex 30 2 60
Total Interfaces 11 176
Processes
Simple Process 16 5 80
Medium Process 32 4 128
Complex Process 48 3 144
Total Processes 12 352
![Page 32: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/32.jpg)
This gives us development hours
![Page 33: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/33.jpg)
What about analysis & testing &…
Percentage of development hours
Estimate tasks separately
You mean we have to estimate analysis & testing?
![Page 34: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/34.jpg)
Data Warehouse Example
Adding a new source to data warehouse Count of sources Count of tables/source Count of
elements/table Considerations of
complexity
![Page 35: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/35.jpg)
Data Warehouse Example
1. Gather all the info2. Plug it into a
spreadsheet3. Look at the resulting
(realistic but “too high”) number
4. Revise…
![Page 36: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/36.jpg)
Your turn…
Want to create an online application for Mortgage InsuranceHow long to deliver the online application for Mortgage Insurance?
Identify how you would break this down to estimate
![Page 37: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/37.jpg)
![Page 38: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/38.jpg)
Of Course there’s always Function Points…
![Page 39: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/39.jpg)
Or, you could always add up tasks
![Page 40: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/40.jpg)
Does it address our issues?
Initial Uncertainty Accuracy/Effort Tradeoff
False Precision Differing Skill Levels
![Page 41: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/41.jpg)
When to use it
You have lots of data from similar efforts
The work is stable and predictable
Scope is
fairly certain
Need estimates for
each type of
work
![Page 42: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/42.jpg)
Another Look - Decomposition
![Page 43: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/43.jpg)
Calibrated Estimates in Ranges
Manage Tracks
Moderate Content
Manage Deadlines
Manage Venue
1 – 2 Days 3 – 5 Days 1 – 2 Days
Build Program
4 – 6 Days .5 – 1 Days
9.5 – 16 Days@ $100/hour & 8 hours/day
$7,600 – $12,800
Note, Entire team calibrated and involved in determining these estimates.
![Page 44: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/44.jpg)
For More information
How to Measure Anything: Finding the Value of Intangibles in Businessby Douglas W. Hubbard
HowToMeasureAnything.com
![Page 45: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/45.jpg)
Where it Helps
Initial Uncertainty Accuracy/Effort Tradeoff
False Precision Differing Skill Levels
![Page 46: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/46.jpg)
Relative Estimating
![Page 47: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/47.jpg)
Ah ha! Here’s the poker connection!
![Page 48: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/48.jpg)
Discuss (briefly) the item to estimate
As an Event OrganizerI want to know how audience members vote by athlete by gender So ThatI can determine if menand women vote differently.
![Page 49: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/49.jpg)
The Delphi Technique
![Page 50: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/50.jpg)
Everyone selects an estimate
![Page 51: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/51.jpg)
Estimating Scales
(Modified) Fibonacci Sequence:0, ½, 1, 2, 3, 5, 8, 13, 20, 40, 80, 100Using a regular deck of cards:A, 2, 3, 5, 8, KingTeam Member Hands:1 – 5
Leonardo Pisano Bigollo aka FibonacciItalian Mathematician
![Page 52: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/52.jpg)
Reveal estimates all at once
![Page 53: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/53.jpg)
So why did you pick a king?
Discuss outliersI wasn’t sure we knew
how to tell an audience member’s
gender.
And how about the two aces?
Well, we changed the voting machines to ask
gender during sign in last iteration, so it should be
easy
Yeah, what she said.
![Page 54: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/54.jpg)
Repeat until convergence
![Page 55: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/55.jpg)
Assumptions: 2 week iterations Overall backlog size: 600 points Planning Velocity: 30 5 Person Team Avg Cost/person/wk: $4,000
Extrapolate based on Velocity
Estimate: $800,000
![Page 56: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/56.jpg)
Your turn…
Determine relative sizes of these various features using the scale 1,2,3,4,5
Based on this feature being sized an 1.
![Page 57: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/57.jpg)
![Page 58: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/58.jpg)
Does it address our issues?
Initial Uncertainty Accuracy/Effort Tradeoff
False Precision Differing Skill Levels
![Page 59: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/59.jpg)
When to use it
Cross functional team that collaborates well
Planning based on features instead of tasks
Following
iterative
approach
Uncertainty
in the features
accepted and
expected
![Page 60: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/60.jpg)
An Alternative to Planning Poker
User Story
User Story
User Story
User Story
User Story
User Story
User Story
User Story
User Story
User Story
User Story
User Story
1 2 53 8
![Page 61: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/61.jpg)
How should we approach estimating for a project?
![Page 62: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/62.jpg)
Phase BasedGuestimate
Break it down add it
up
Set expectation for
revisions
Calibrated
Estimates
![Page 63: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/63.jpg)
AgileComparis
onto past
projects Extrapolate from Velocity
Set expectation for
revisions
Calibrated
Estimates
![Page 64: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/64.jpg)
If you remember nothing elseInitial uncertainty means you will not be accurate.
Don’t spend more effort than it’s worth.
Don’t imply more precision than is possible.
Incorporate multiple perspectives.
![Page 65: Estimating in Software Development: No Silver Bullets Allowed](https://reader036.vdocuments.us/reader036/viewer/2022070312/553a1185550346e93a8b4a7a/html5/thumbnails/65.jpg)
65
Questions?
Kent J. [email protected]: @BeyondReqsSlides available from:http://www.knowledgebridgepartners.com/presentations/softwareestimating/