How much documentation: Revisiting Royce
Back in 1970, Winston Royce made a suggestion for the amount of documentation needed for software development efforts. His influence fifty years later is unquestionable. But there is a problem with numbers (and how time affects them) that I think is missed by many people. Let’s look at the original quote.
In order to produce 5 million dollars of software I would estimate a 1,500 page specification is about right to achieve comparable control. – Winston Royce, 1970
If you take these numbers and blindly apply them to a $100,000 project, you’ll write 30 pages of documentation. But wait! $5,000,000 back in 1970 was a huge amount of money. In fact, if you apply year-on-year inflation to that number you will see that the buying power of five million 1970 dollars is currently about $32,695,490.72. That’s about 4,000 bitcoins (this quip will get funnier with time).
If we are going to apply pages of documentation to the value of the money, that means your $100,000 project needs about 5 pages of documentation in 2018 rates.
In order to produce 5 million dollars of software I would estimate a 230 page specification is about right to achieve comparable control. – Winston Royce, Updated with inflation to 2018
Of course, there is nothing to say that the original numbers are correct; they were just the numbers that seemed right based on Royce’s experience. I would guess that he was attempting to demonstrate the difference in documentation needs between hardware and software at that time rather than provide the exact number of pages you need. It would also be worth swapping inflation with a measure more closely tied to the cost of developing software in 1970 and in 2018 as it is likely to have a drastically different rate to general inflation.
Just bear this in mind if someone suggests your one million dollar project needs 300 pages of documentation. It might be five times too much!