Ninety-Ninety Rule
The joke that the first 90 percent of the code takes 90 percent of the time, and the remaining 10 percent takes the other 90 percent.
Also known as: 90-90 rule, Ninety-ninety rule of project schedules, Cargill's rule
Category: Software Development
Tags: software-development, planning, estimation, project-management, laws
Explanation
Attributed to Tom Cargill of Bell Labs and popularised by Jon Bentley in Programming Pearls, the ninety-ninety rule accounts humorously for 180 percent of the schedule, which is the point. It captures the reliable pattern that projects reach an apparently near-complete state quickly and then spend as long again finishing. The last stretch contains the work that demonstrations skip: error handling, edge cases, performance under real load, security review, accessibility, migration of existing data, documentation, packaging, and the long tail of integration defects. None of it is visible in a happy-path demo, which is why it is systematically omitted from estimates. The rule is a specific instance of the planning fallacy applied to engineering, and it has direct implications for practice. Progress reported as a percentage complete is nearly meaningless before the unglamorous work has begun, so tracking should be based on demonstrably finished slices rather than on perceived proximity to done. It is also an argument for building thin end-to-end paths early, since the final 10 percent shrinks when integration risk has already been faced.
Related Concepts
← Back to all concepts