Cobra Effect · People and organisations

The ninety-ninety rule

The last tenth of a project takes as long as the first nine.

6 cards, read aloud in 2:00, with a test and sources.

A brick wall filling a wooden frame, its top course laid the whole way across but for one brick sized gap at the right hand end

The demo works. The team says it is 90% done.

That was three months ago. It is still 90% done. Nobody is lying and nobody is idle.

Tom Cargill at Bell Labs put the joke into its final form.

The first 90% of the code takes 90% of the time. The remaining 10% of the code takes the other 90% of the time. That adds up to 180%, which is exactly the point.

It reached print in 1985, in a column of one line truths.

Jon Bentley collected bumper sticker computer science for Communications of the ACM, and Cargill’s line was one of them. Programmers have quoted it ever since. Usually at about month four of a three month project.

The last tenth is a different job wearing the same name.

The first 90% is the part you imagined. Happy paths and good weather. The rest is every case you did not imagine. Error handling, odd data, the machine nobody has, the customer who types a name into the date field. None of it shows up in a demo.

Progress gets measured in whatever you can see.

A demo is visible. A race between two processes is not. So the estimate tracks the visible part, and the visible part finishes first. Which is why every project feels nearly done for a very long time.

What to do about the second 90%.

Stop counting features and start counting the things that must be true before you ship. Write that list at the start, when it is cheap and unwelcome. And when somebody says 90% done, ask which 90% they mean.

Sources

Nearby ideas

All stories

Cobra EffectIdeas worth knowing
Streak 0 daysRead 0 of 0Known 0Kept 0
Every story is written to a rule: framing can be invented, facts cannot, and a tale that is probably a legend says so. Narration and pictures are generated once and kept. Your progress is saved on this device and in a record of its own on the server, so you can pick it up on another one. Nothing else about you is collected, and there is a button to delete the lot. Privacy.