3 ms·
$35mm/year to maintain 420kLOC. [...] Given the budget I would expect nothing less. What's impressive isn't the LOC per dollar (or person), even at that level
by michaelochurch 12y ago
$35mm/year to maintain 420kLOC.
[...]
Given the budget I would expect nothing less.
What's impressive isn't the LOC per dollar (or person), even at that level of reliability, but the functionality (and reliability of functionality) per LOC. It's what that 420 kLoC does. They've managed to get a lot of functionality relative to code size... because they know the cost of excess code.
I wouldn't be surprised if most Silicon Valley companies have 420 kLoC after a couple years, not a single line of it being something you'd want to bet your life on. The difference is that 420 kLoC of "Agile" code written under deadline culture (perpetual "sprinting") with stack-ranking is going to amount to nothing but 3/4ths of a shitty product-- not because it isn't enough code, but because the code is so unreliable.
As it were, there are plenty of startups with $35M per year budgets (or more) that aren't writing high-reliability code or anything even close to it.
- msandford 12y ago> What's impressive isn't the LOC per dollar (or person), even at that level of reliability, but the functionality (and reliability of functionality) per LOC. It's what that 420 kLoC does. They've managed to get a lot of functionality relative to code size... because they know the cost of excess code. I don't know that I agree that the code is particularly feature dense or anything. It might be, or it might not. Just because it flys the shuttle doesn't mean it's a miracle of efficiency. Hell, it might be really inefficient for all we know. They might do clipboard inheritance all over the place because that's easier than trying to accidentally not break a "general purpose" function when making a particular change. Also, they're not writing 420kLOC every year, they've slowly accumulated that much code. The turnover I would suspect is 10% a year or less. Might only be 3% a year. What I was trying to say is with that level of funding versus the amount of features that they have to deliver (little/no interfaces, no database, no scaling, no sharding, no data sanitization, etc) it's much, much easier to get things right. This is basically firmware and the hardware is known so it's much, much easier to get it right. The web is so often broken because there are dozens of different standards by different institutions that are adhered to in varying degrees by many thousands of different projects running on a multitude of hardware. Getting stuff so right for the space shuttle is impressive for sure, but look at the kind of comparison you're making.