Estimation Methods
Key points
- Estimation is predicting, ahead of time, how much effort (time and headcount) and cost a development project will require.
- The two representative techniques are "analogous estimation" and "bottom-up estimation."
- Estimates always carry uncertainty, so it's important to build in a "buffer" from the start.
Why estimation is hard
An inaccurate estimate can lead to budget overruns and missed deadlines, damaging trust with the client. At the same time, making an estimate 100% accurate is impossible. The earlier in a project you are — the less information you have — the larger the estimation error tends to be.
As the project moves forward and information becomes more concrete, estimation accuracy improves along with it.
What is analogous estimation?
Analogous estimation compares a project against similar past projects to estimate effort. It's fast, but its accuracy drops if there's no comparable past project to draw on.
Teacher Pochi's hintIt's like a moving company saying, "based on past experience, a three-bedroom apartment takes one truck, three movers, and half a day" — estimating from a similar job they've handled before.
What is bottom-up estimation?
Bottom-up estimation breaks the work into small tasks, estimates each one, and adds them up. It's more accurate, but identifying all the tasks takes effort, and it's hard to use before requirements have settled.
2 person-days
3 person-days
1 person-day
6 person-days
Teacher Pochi's hintIt's like estimating a house move as "2 hours packing + 3 hours transport + 1 hour unpacking," estimating each task separately and adding them up.
Choosing between the two techniques
The two techniques are used depending on the project's stage and purpose.
The role of buffers
Since every estimate carries some uncertainty, you should build in a "buffer" (extra effort held in reserve) to absorb unexpected work or spec changes. Cut the buffer too thin, and even a minor hiccup can derail the whole schedule.
Teacher Pochi's hintIt's the same idea as catching an earlier train to allow for possible delays when heading to an appointment. Plan for the exact arrival time with no margin, and the smallest disruption makes you late.
Other estimation techniques
Beyond analogous and bottom-up estimation, a few other techniques see regular use in practice.
Whichever technique you use, writing down the assumptions behind an estimate (scope covered, technology used, and so on) is essential for avoiding disputes down the line.
Summary
Estimation is the activity of predicting the effort and cost a development project will require, ahead of time. Choosing between analogous and bottom-up estimation as appropriate, and building in a buffer for uncertainty, are what lead to a more accurate estimate.
Related topics: