NOTE

The ninety-ninety rule

#software-engineering (40)#estimation (4)

The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time.

Wikipedia’s article on the ninety–ninety rule folds together Tom Cargill’s Bell Labs quip with Jon Bentley’s September 1985 Communications of the ACM column, where Bentley called it the “Rule of Credibility.” The Jargon File’s ninety-ninety entry keeps the same story in shorter form.

Hofstadter’s law names a related scheduling trap (work takes longer than you expect, even when you already take Hofstadter’s law into account).

Most unknowns sit in the last slice of scope (integration, edge cases, permissions, performance under load, polish). They were always there. The plan pretends they scale with the happy path.

Teams rediscover the rule because optimism sells. The hard part is shipping under real constraints, and software development effort estimation stays stubborn because the model is incomplete until the work has touched production-shaped reality.

Budget the tail on purpose. Slice work so you hit integration and “done done” criteria early, keep a time box for the long cleanup pass, and treat estimates as hypotheses you revise when the unknown surface area shows up. How to estimate work like a senior software engineer goes deeper on building those hypotheses.