Guide: Estimation range
How accurate can a software estimate be? The estimation range
After a convincing demo, management asks how much effort the rest will take. Early in a project, the honest answer is a range. How wide it is depends less on who does the estimating than on what has already been established about the project.
AI-GENERATED Short answer
Before the first tested prototype exists, a software estimate only holds up as a range. Under the cone of uncertainty model, an estimate made during the concept phase can be off by a factor of four in either direction. The range narrows through work that removes uncertainty: tested prototypes, documented interfaces, a built core workflow, and written acceptance criteria.
01
Why is an early estimate a range and not a single figure?
Because at the start of a project, it is not the estimate that is uncertain, but the project itself: scope, edge cases, external systems, and acceptance are described but not yet verified. A single figure hides that uncertainty. A range with a lower and upper bound makes it visible and shows what still needs to be clarified.
Take a fictional example: the quality assurance team at a supplier has built itself a complaints tool, a convincing interface running on test data, and everyone was impressed at the demo. Now the tool needs to run in daily use, with real cases, connected to the inventory system, and management wants to know how much effort is still needed to get there.
Which questions an application must answer in production that nobody had to ask about the prototype is set out in the series From prototype to a production-ready application. Every one of those open questions is also a source of uncertainty in the estimate. As long as it stays open, a credible answer can only be a range, and the interesting question is how to narrow it.
02
What does the cone of uncertainty describe?
The cone of uncertainty describes how far estimates made by experienced estimators can be off at different points in a software project. The range is widest at the start and narrows with every milestone at which requirements, interface, and design get fixed. The cone shows the best case; things can always turn out worse.
Steve McConnell describes the model in a Construx paper from 2010. The horizontal axis lists typical milestones, from the initial idea through an agreed product definition, completed requirements, and a finished interface design, to finished software. The vertical axis shows the factor by which estimates can deviate at that point. According to McConnell, the cone narrows mostly within the first 20 to 30 percent of a project's timeline (Construx, 2010).
Two caveats belong with it. The cone shows the best achievable accuracy, since estimating worse is always possible and estimating better only happens by luck. And it does not narrow on its own: if a project is run in a way that leaves open points open, the uncertainty persists right through to the end. McConnell then speaks of a cloud rather than a cone (Construx, 2010).
03
Which milestones narrow the range?
The range narrows at milestones that answer an open question with a verifiable result. For a business application, those are written requirements, a clickable prototype that future users have actually operated, documented interfaces, and a built core workflow. Each of these steps ends with something demonstrable, not with a judgement call.
- 01IdeaGoal and user group described
- 02Requirements writtenWorkflows and edge cases as text
- 03Clickable prototype testedUsers have operated the workflow
- 04Interfaces documentedExternal systems described and queried
- 05Core workflow builtThe daily path runs, with tests
| Milestone | Which uncertainty it removes | How to recognise it |
|---|---|---|
| Requirements written | what the application is actually meant to do | a document that both the business side and development have signed off on |
| Clickable prototype tested | missing steps, wrong sequences, forgotten fields | a list of findings from sessions with future users |
| Interfaces documented | what external systems deliver and how they behave on error | format, direction, and error behaviour per connection, confirmed with a test request |
| Core workflow built | how much effort the data model, business logic, and integration actually take | a workflow from data entry to result that runs on real sample data |
For the complaints tool, that means the demo shows the interface is understood. It does not show that the inventory system delivers the necessary order data, which edge cases arise with partial deliveries, or when a complaint counts as resolved. Exactly these points determine where the upper bound of the estimate sits.
04
How does the range change as evidence accumulates?
Each piece of evidence shifts both bounds closer to the baseline effort, and every further milestone shifts them again. Which missing piece of evidence would shrink the range the most is the most useful thing an estimate can tell you, because it names the next step of work. The calculator works this through with adjustable example figures.
Choose the phase the project is in, tick off what has already been established, and set a baseline effort. Watch which ticks shorten the bar and which gap the calculator reports as the largest open one. The complaints tool comes preset with example values: clickable prototype tested, users have operated it, baseline effort of 80 person-days.
- Upper over lower bound
- 1,9fach
- Lower bound
- 61 PT
- Upper bound
- 118 PT
- Biggest open gap
- Schnittstellen nicht dokumentiert
So rechnet der Schätzkorridor
- Faktor niedrig / hoch je Phase, Beispielwerte: Idee 0,40 / 3,00 · Anforderungen 0,55 / 2,20 · Klickprototyp 0,70 / 1,60 · Schnittstellen 0,80 / 1,35 · Kernablauf 0,90 / 1,15.
- Jeder Beleg rückt beide Grenzen um seinen Anteil näher an 1,0, Beispielwerte: Prototyp bedient 20 %, Datenmodell 15 %, Fremdsysteme 25 %, Abnahmekriterien 15 %. Enger als 0,95 / 1,05 wird es nicht.
- Erwartet = (niedrig + 4 × wahrscheinlich + hoch) / 6, jeweils als Faktor auf den Basisaufwand.
- Größte offene Lücke = der fehlende Schritt oder Beleg, der die Spanne am stärksten verkleinern würde.
With these example values, the range runs from 61 to 118 person-days, so the upper bound sits at almost double the lower one, and the largest open gap is undocumented interfaces. Set the phase to idea and remove every tick, and the range grows to 32 to 240 person-days. Once the core workflow is built and all four pieces of evidence are ticked, it narrows to 76 to 85.
05
How should you read low, expected, and high?
The lower bound describes the effort if the open points turn out to be simple, the upper bound the effort if they turn out to be difficult. The expected value usually sits closer to the lower bound, because it weights the most likely case more heavily. Passing on only that figure hides how far away the upper bound really is.
The calculator computes the expected value as a three-point estimate: low plus four times likely plus high, divided by six. The baseline effort serves as the likely value. The formula is widely used because it weights the most probable case more heavily while still accounting for both bounds.
The asymmetry is notable: the upper bound sits further from the baseline effort than the lower one does. A forgotten edge case, an interface that delivers different data than expected, or an extra round of alignment all add work. A planned task turning out to be unnecessary happens too, but less often on the same scale.
06
Which pieces of evidence shrink the range the most?
The strongest effect comes from evidence that resolves a question outside the team's own control: tested connections to external systems, and users who have actually operated the workflow. A stable data model and written acceptance criteria follow after that. The checklist helps you work out which pieces of evidence your project already has and which are still missing.
Checklist
What has already been established for your project?
Every missing tick is an open question sitting inside the upper bound of the estimate.
Which piece of evidence has the biggest effect depends on the project. An application with no external systems gains more from user testing, one with five connections gains more from tested interfaces. That is why the calculator names the largest open gap instead of prescribing a fixed order.
07
When is a fixed commitment justified?
A fixed commitment is justified once the range is small enough that its upper bound stays acceptable to everyone involved. McConnell advises against making commitments until the cone has narrowed. In practice that means the core workflow has been operated, interfaces are tested, acceptance criteria are in writing, and the remaining assumptions are stated in the proposal.
An early commitment is tempting because it promises planning certainty. But it only shifts the uncertainty elsewhere: if the actual effort lands near the upper bound, the project gets cut back, renegotiated, or quality suffers. McConnell notes that organisations should avoid commitments until the cone has narrowed, because before that point they simply do not hold up (Construx, 2010).
Decision path
A fixed figure or a range?
Three questions show whether the basis for a fixed commitment is there.
All questions and results as a list
- Have future users operated the core workflow on a prototype using real cases?
- Yes, continue with: Are all interfaces documented and confirmed with a test request?
- No, Result: State a range, test the prototype
- Are all interfaces documented and confirmed with a test request?
- Yes, continue with: Are the acceptance criteria fixed in writing?
- No, Result: State a range, clarify the connections
- Are the acceptance criteria fixed in writing?
- Yes, Result: A commitment with named assumptions
- No, Result: Acceptance criteria before the figure
- Result: State a range, test the prototypeWorth discussing: which sessions with future users are needed before the scope is settled, and which range applies until then.
- Result: State a range, clarify the connectionsWorth discussing: which external systems need connecting, who can provide information there, and what a first test request looks like.
- Result: Acceptance criteria before the figureWorth discussing: how the business side and development will jointly recognise that the application is finished, before a fixed figure gets agreed.
- Result: A commitment with named assumptionsWorth discussing: which assumptions the figure rests on, and which event would trigger a new estimate, such as an additional external system.
08
Which assumptions about estimates do not hold up?
Four assumptions come up especially often in conversations about effort: that more time makes an estimate more accurate, that a flat markup covers the uncertainty, that the lowest figure is the most accurate one, and that iterative projects can do without estimating. All four can be checked against the mechanism of the cone.
Only if that time is used to clarify the project.
The uncertainty sits in the project, not in the arithmetic. According to McConnell, accuracy depends on how precisely the software has been defined (Construx, 2010).
It almost never fits the phase.
Early on, a fixed percentage is too narrow; later, it is too wide. The width of the range follows the state of the project, not a rule of thumb.
That cannot be judged without knowing the assumptions.
A low figure can rest on a smaller scope, missing edge cases, or operations left out altogether. Estimates only become comparable once you look at their assumptions.
They estimate differently.
The cone applies in iterative projects too, according to McConnell in a somewhat different way: often the timeframe is fixed, and what gets estimated is how much scope fits inside it (Construx, 2010).
09
How do you compare estimates from different providers?
Compare the foundations first and the figures only after that: what state the project was in when the estimate was made, which assumptions are stated, what belongs to the scope, and which gap should be clarified next. Two figures based on a different state or a different scope cannot be meaningfully set against each other.
What makes an estimate comparable
| Criterion | Comparable | Hard to compare |
|---|---|---|
| Form | A range with a lower and upper bound | A single figure |
| State | Named, for example clickable prototype tested | Not identifiable |
| Assumptions | Listed in writing | Not stated |
| Scope | Testing, data migration, and operations included or explicitly excluded | Left open |
| Next step | Largest open gap named | Missing |
If an existing prototype is going to be developed further, its condition belongs in the foundation of any estimate. Recognising technical debt in AI-generated code describes the shortcuts in code that make every change more expensive. Which documents the handover into operations needs is covered in From proof of concept to routine operation.
iiterate Technologies GmbH, based in Adenau, develops custom software and AI applications, from architecture through implementation to operations, and hands over with source code and documentation. To talk through the state of your own project: contact.
Frequently asked questions
How reliable is an estimate before the first clickable prototype?
As a range it is useful; as a single figure it is not. Before the prototype exists, scope, edge cases, and external systems are described but not verified. Under the cone of uncertainty, an estimate made during the concept phase can deviate by a factor of 4 in either direction. With every milestone that users operate or an external system confirms, the range narrows.
What is the cone of uncertainty?
A model that describes how far estimates made by experienced estimators in software projects can be off at different points in time. The range is widest at the start and narrows with every milestone that gets fixed. Steve McConnell described it in a Construx paper. The cone shows the best case, and it only narrows once open points are actually resolved.
Why does the upper bound sit further away than the lower one?
Because open points add work more often than they remove it. A forgotten edge case, an interface with different data than expected, or an extra round of alignment all increase the effort. A planned task falling away does happen, but less often on the same scale. That is also why the expected value in a three-point estimate usually sits closer to the lower bound than to the upper one.
What should a written estimate include?
At minimum, the lower and upper bound, the state the project was in when the estimate was made, the assumptions it rests on, what belongs to the scope and what is explicitly excluded, and the largest open gap. With this information, an estimate can later be checked, compared with another one, and deliberately improved once the next milestone is reached.
How often should an estimate be revised?
Whenever a milestone is reached or an assumption falls away, for instance because an external system delivers different data or a new group of users gets added. A fixed calendar rhythm is less suitable for this than a trigger event. It helps to note in advance, with every estimate, which event would set off a new one.
Read on
Sources
- 01 Software Development's Cone of Uncertainty (Steve McConnell) Construx Software, 2010 · construx.com
Let us talk about your project
Whether it is a prototype, an internal tool or an AI application: describe briefly what you are building or want to take into production.