> The ATF Team planned to develop approximately 1.5 million source lines of code, across more than 20 software development companies located throughout the U.S., Canada, and Europe.
https://priceonomics.com/the-typo-that-destroyed-a-space-shu...
It takes a lot of discipline and planning, but in the end it's the most accurate method of size and time estimation I've ever seen.
Whether that's true across widely differing parts of such a huge system I'm not convinced, but within a single more typical software project it seems believable to me.
Someone decided that the task was about 1.5 MLOC and used that to drive the total contract value.
To get to the total 1.5M LOC, it's after decomposing the system into lower level black boxes and doing some modeling/simulation.
How many lines of code has it taken in the past to build our navigation systems, radios, weapon system A, weapon system B, etc. How much integration work is there? If its a CAN bus, the last project had X LOC for the bus architecture. Add em up, and add a big fudging factor.
It's possible, with highly detailed design documents. You could use something like "cyclomatic complexity" which is an older estimation methodology which is just a laundry list of small granularity features with point values attached. You add those up, while multiplying some weighted numbers together to account for interlinked complexity, then use a figure for the implementation language to come up with an estimated LOC figure. Error bars on that kind of thing are something like +/- 100%/50%. (I'm pulling numbers out of my @ss here, but I'm talking about a highly ritualized and systematized way of doing just that.)
You can get better estimates, usually by asking shops that have written the same sort of product many times before.
(https://en.wikipedia.org/wiki/Cyclomatic_complexity)
Calculating this involves working out the number of branches through the code, nothing to do with estimation. It is also very much in use today to analyse codebases, finding hotspots, etc.
Software saved the aerospace industry. Every other way of adding cost to an airplane also adds weight.
He spent most of his career at Lockheed and Rockwell.
In practical terms it night as well be 0 but in silly discussions on the internet terms it's a very small non-zero value.
However, you can get any number of additional bits by suspending the punch card from various locations along its perimeter, and measuring the angle at which it hangs.
Is hanging chad a 0 or a 1?