Random
Source Code

Ninety-Ninety Rule

A rule for tracking computer programming development time.

The full statement of the rule is, "The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time."

The rule simultaneously emphasizes two important points in software development. The first is that for almost any product, most of the development time will be used on relatively small but difficult sections of the code. The second is that the first point often leads to extremely optimistic project schedules.

The ultimate lesson to learn from this rule is that the amount of the project that is completed is NOT tied to the amount of code completed, and that substituting one for the other can be disastrous.

The ninety-ninety rule is often mistaken for a typo, with users assuming that the first 90% of code should correspond to the first 10% of time; while this is logically correct, it is NOT the original aphorism.

A: "This stupid ten-line function is somehow crashing on one out of every 100 calls and nobody has a clue how to fix it. We've got a week left in the schedule and haven't even fully identified the problem."

B: "Ninety-Ninety Rule. You should have expected from the start that something like this would come up."

by DubbaEwwTeeEff November 3, 2009