What We Do and Don't Know about Software Development Effort Estimation
1–10 of 49 posts
Re: What We Do and Don't Know about Software Development Effort Estimation
#2There isn't much mention of the estimates you can go for:
1) Accurate but not reliable
2) Reliable but not accurate
Re: What We Do and Don't Know about Software Development Effort Estimation
#3In general when under-estimating the project you can make it:
1) on time and within planned resources,
2) with all the planned functionalities and
3) without sacrificing quality.
Pick any two.
Re: What We Do and Don't Know about Software Development Effort Estimation
#4IMHO it is quite easy to make a reliable estimation of well-planned project. However it is extremely difficult to plan the project more than one step ahead of what is already done... This is why agile development is so popular. In general when under-estimating the project you can make it: 1) on time and within planned resources, 2) with all the planned functionalities and 3) without sacrificing quality. Pick any two.
Evidence suggests otherwise. Sure you can estimate +/- 100-200% early on but that isn't what anyone is aiming for in a software project. Even detailed plans of repeatable (non-trivial) software projects do not result error bars that anyone really desires.
Re: What We Do and Don't Know about Software Development Effort Estimation
#5Perhaps in a twisted future where we estimate project cost before deciding which projects to take on, we might discover our estimates are much better.
A related pathology is trading technical debt for speed, every time, on every project. The debt will be paid.
Re: What We Do and Don't Know about Software Development Effort Estimation
#6An explanation I like, from michaelochurch:
Let's say that you have 20 tasks. Each involves rolling a 10-sided die.
If it's a 1 through 8, wait that number of minutes. If it's a 9, wait 15
minutes. If it's a 10, wait an hour.
How long is this string of tasks going to take? Summing the median time
expectancy, we get a sum 110 minutes, because the median time for a task is
5.5 minutes. The actual expected time to completion is 222 minutes, with 5+
hours not being unreasonable if one rolls a lot of 9's and 10's.
This is an obvious example where summing the median expected time for the
tasks is ridiculous, but it's exactly what people do when they compute time
estimates, even though the reality on the field is that the time-cost
distribution has a lot more weight on the right. (That is, it's more common
for a "6-month" project to take 8 months than 4. In statistics-wonk terms,
the distribution is "log-normal".)Re: What We Do and Don't Know about Software Development Effort Estimation
#7I think many and perhaps most poor estimates are caused by initial estimates being viewed as too high for the project, and instead of deciding the project isn't worth doing at its estimated cost, instead deciding the estimates must be wrong in order to align expected project value with expected project cost. Perhaps in a twisted future where we estimate project cost before deciding which projects to take on, we might…
People have a recurring delusion that the world is shaped by their wants.
Re: What We Do and Don't Know about Software Development Effort Estimation
#8Re: What We Do and Don't Know about Software Development Effort Estimation
#9Re: What We Do and Don't Know about Software Development Effort Estimation
#10IMHO it is quite easy to make a reliable estimation of well-planned project. However it is extremely difficult to plan the project more than one step ahead of what is already done... This is why agile development is so popular. In general when under-estimating the project you can make it: 1) on time and within planned resources, 2) with all the planned functionalities and 3) without sacrificing quality. Pick any two.
> IMHO it is quite easy to make a reliable estimation of well-planned project. Evidence suggests otherwise. Sure you can estimate +/- 100-200% early on but that isn't what anyone is aiming for in a software project. Even detailed plans of repeatable (non-trivial) software projects do not result error bars that anyone really desires.
The problem is that most companies don't record this data. Start today!