A software house building custom software systematically got its quotes wrong. A project quoted at 20,000 euro cost 30,000 in actual development. The margin, in the rare cases where the estimate was on target, did not exceed 10%. The problem wasn’t the quality of the software — it was the way requirements were gathered.
01 / 04
The situation
- Estimate error margin of ~50%, almost always too low
- Operating margin at ~10% only in the best cases — often a loss on projects
- Requirements gathered in narrative form, hard to turn into precise estimates
- Initial analysis of each project: days or weeks of work
02 / 04
Structured requirements gathering
- A single 3-4 hour meeting to cover the whole functional scope required
- Requirements gathered independently of the implementation — already in the right form to produce precise estimates
03 / 04
Incremental development with progressive approvals
- Components released to the customer progressively, with approval at every step
- Almost complete elimination of the risk of diverging interpretations once work is well under way
04 / 04
BDD + AI for automated tests
- Functional requirements translated by AI into the expected behaviours of the software
- Executable tests generated automatically — code produced reduced by 70%: the team developed exactly what was needed
The results
- 100%estimates met (from a ~50% systematic error)
- 10% → 40%average operating margin
- +30%revenue in the year — with one person fewer on the team




