Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Consider this quote from http://www.fastcompany.com/magazine/06/writestuff.html about the Space Shuttle software (which has been on Hacker News before)...

"""But how much work the software does is not what makes it remarkable. What makes it remarkable is how well the software works. This software never crashes. It never needs to be re-booted. This software is bug-free. It is perfect, as perfect as human beings have achieved. Consider these stats : the last three versions of the program -- each 420,000 lines long-had just one error each. The last 11 versions of this software had a total of 17 errors. Commercial programs of equivalent complexity would have 5,000 errors.

"""This software is the work of 260 women and men based in an anonymous office building across the street from the Johnson Space Center in Clear Lake, Texas, southeast of Houston. They work for the "on-board shuttle group," a branch of Lockheed Martin Corps space mission systems division, and their prowess is world renowned: the shuttle software group is one of just four outfits in the world to win the coveted Level 5 ranking of the federal governments Software Engineering Institute (SEI) a measure of the sophistication and reliability of the way they do their work. In fact, the SEI based it standards in part from watching the on-board shuttle group do its work."""

Perhaps change the law to make companies legally liable for software quality and losses arising from it. Even require software to meet a certain SEI ranking, depending on the industry. Of course you need a phase in process. Eventually, salaries for software workers would rise.



Even require software to meet a certain SEI ranking, depending on the industry.

Anyone who's worked with a CMM level 5 certified organization knows how laughable that suggestion is. On-board Shuttle Group are undoubtedly top-notch. But any random Bangalore bodyshop has CMM level 5 too.


Reminds me of a quote from Yossi Kreinin:

CMM has 5 levels. CMM level 1 is where you operate right now: it denotes the ability to ship something. CMM level 5, the one mentioned in the interview from Kent Beck's book, denotes complete paralysis. To do anything, you have to write or update so many documents, have so many meetings with "relevant stakeholders", and to perform so many pointless measurements of the defects/LOC kind, that it's much more productive to just go postal and at least remove a CMM auditor or two from the face of the Earth in the process.

Levels 2 to 4 indicate various intermediate stages where paralysis is spreading, but you can still ship. For example, level 2 is called "Managed Process". "Managed Process is distinguished by the degree to which the process is Managed". I'm not making this up. There's a book called Capability Maturity Model Integration, and this book, heavy enough to kill a human, is full of this sort of stuff. Reading it is impossible.

http://www.yosefk.com/blog/extreme-programming-explained.htm...


But wouldn't salaries for software workers eventually rise? Accounting and legal rules are also books heavy enough to kill a human. My point is that government intervention is the reason solicitors and accountants salaries are so high. Exams are the reason teachers salaries are high. The same would be needed (e.g legislated and enforced CMM levels) for programmer salaries to rise.


> But wouldn't salaries for software workers eventually rise?

No.

Lawyers, accountants, and teachers can make a lot of money because people are willing to pay a lot of money for the services they provide, because those services are very valuable.

Paying a top-notch lawyer US$500 an hour can save you a huge multiple of that US$500 if you're being sued for US$500M. Paying a good accountant allows you to manage your business transparently enough that you can raise money on a stock market, thus getting 20 times the amount of cash you've made in profits. A four-year university education can lift you from the lower class into the middle class, adding millions to your earnings and a decade to your lifespan.

It turns out that developing software quickly is a very valuable activity. In a single day of work, a good programmer can write a piece of software that functions in production for years afterwards, serving dozens, hundreds, or millions of people. Often, this is even the case if the software is buggy; the alternatives (repetitive manual labor, spreadsheets built by amateurs) are often even less reliable.

If you tried to outlaw the development of unreliable software, programmer salaries would go the same place that salaries for nuclear plant engineers and designers of small planes have gone over the last three decades: overseas or into oblivion.

Worse, it would likely be counterproductive. What we need for more reliable software is not books of management rules but better abstractions, better theorem provers, better programming languages, better insights. Those things are themselves software, but they are probably not software that we can develop faster, or at all, under an SEI CMM Level 5 process.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: