Ninety-ninety rule
In computer programming and software engineering, the ninety-ninety rule is a humorous aphorism that states:
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.[1]— Tom Cargill, Bell Labs
This adds up to 180% in a wry allusion to the notoriety of software development projects significantly over-running their schedules (see software development effort estimation). It expresses both the rough allocation of time to easy and hard portions of a programming project and the cause of the lateness of many projects as failure to anticipate the hard parts. In other words, it takes both more time and more coding than expected to make a project work.
The rule is attributed to Tom Cargill of Bell Labs and was made popular by Jon Bentley's September 1985 "Programming Pearls" column in Communications of the ACM, in which it was titled the "Rule of Credibility".[1]
In some agile software projects, this rule also surfaces when a task is portrayed as "relatively done". This indicates a common scenario where planned work is completed but cannot be signed off, pending a final activity which may not occur for a substantial amount of time.
See also
- Anti-pattern
- Catch-22
- Hofstadter's law
- Lindy Effect
- Mythical Man-Month
- Pareto principle
- Small matter of programming
References
- 1 2 Bentley, Jon (1985). "Programming pearls: Bumper-Sticker Computer Science". Communications of the ACM (fee required) 28 (9): 896–901. doi:10.1145/4284.315122. ISSN 0001-0782.