Ninety–ninety rule

{{Short description|Humorous aphorism in computer programming}}

{{for|the American educational funding policy|90–10 rule}}

{{refimprove|date=June 2017}}

In computer programming and software engineering, the ninety-ninety rule is a humorous aphorism that states:

{{quote |text=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.{{cite journal|last=Bentley|first=Jon|year=1985|title=Programming pearls: Bumper-Sticker Computer Science|journal=Communications of the ACM|volume=28|issue=9|pages=896–901|issn=0001-0782|doi=10.1145/4284.315122|s2cid=5832776|doi-access=free}}{{citation|title=Managing the unmanageable |first1=Mickey W.|last1=Mantle|first2=Ron|last2=Lichty|publisher=Addison Wesley|year=2012|isbn=978-0-321-82203-1|url=https://www.managingtheunmanageable.net/}} |sign=Tom Cargill |source=Bell Labs}}

This adds up to 180%, making a wry allusion to the notoriety of software development projects significantly over-running their schedules (see software development effort estimation). The anecdote expresses both the rough allocation of time to easy and hard portions of a programming undertaking, and the cause of the lateness of many projects in their failure to anticipate their difficult, often unpredictable, complexities. In short, it often takes both more time and more coding than expected to complete a project.

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".

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 single final activity which may not occur for a substantial amount of time.

See also

  • {{annotated link|Hofstadter's law}}
  • {{annotated link|Lindy effect}}
  • {{annotated link|Pareto principle}} – the 80/20 rule
  • {{annotated link|Small matter of programming}}

References