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.

At the requirements stageEstimation error is large (roughly ±100%)
At the basic design stageEstimation error is moderate (roughly ±50%)
At the detailed design stageEstimation error is small (roughly ±10%)

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.

Task A
2 person-days
Task B
3 person-days
Task C
1 person-day
Total
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.

⚡ Analogous estimation Want a rough number fast Requirements aren't settled yet Comparable past results exist
🧱 Bottom-up estimation Accuracy matters Tasks can be broken down Detailed estimate before a contract

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.

📐 Function point analysis Derives effort from objective measures like screen count and feature count
🎯 Three-point estimation (PERT) Combines an optimistic, a most-likely, and a pessimistic figure to build in a range

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:

🏠 Back to top