Tuesday, 16 March 2004

Negligence

I was talking to Laura the other day and she said something that I had never thought of before: if you are having heart troubles, it's considered malpractice / negligence [I can't remember which one] if the first thing your doctor suggests isn't aspirin. Wow. I thought that was pretty cool. Then I started to think about how that might apply to software engineering as it continues to develop as a profession.

Does that mean if you don't unit test your code, you'll be held negligiable? I am sure that people will start to demand that all code has a certain level of quality and will be able to sue people if they deliver sub-standard products.

This also goes along with a discussion on kibbee's site where JP made the strong point that when VoIP meets the level of service that everyone expects and demands from POTS people will leave the old system behind. Just like I expect that one day computers will one day replace paper and other similar forms of basic communication because it has the same reliability, but a whole lot cheaper and more benefits (i.e. searching).

I think that it will be a slow process, but over time the voice of the people will win out. Can you think of someone these days that would accept the uptime that Win95 gives them? Not for anyone doing anything seriously.

2 comments:

  1. When a doctor or licensed health official makes a mistake, it's a very different thing from when a programmer makes a mistake. The key word here is 'licensed'.
    The only way that you would successfully be able to sue a developer for not unit testing their code would be if it was a documented, industry accepted (and proven!), professionally recognized practice. Until those three things happen I don't think any case would have a chance of winning.

    ReplyDelete
  2. Because of the nature of software, it's very hard to make it into a profession like medicine. The main reason behind this, is because, anybody out there can make software. If you try and demand a certain level of software, and make people get licenses to design it and stuff, the licensed companies will begin to charge lots of money for their services, because they can vouch for their code. But you'll see a lot of organizations going to lesser developers just to save a buck.
    Hey, I think we already have this. It's basically CMM certification. These companies are known to have good development practices. A company with a good CMM rating will probably deliver good software. But most companies aren't willing to pay the costs these companies demand, and therefore build less reliable software.
    What I would like to see, is certain organizations, namely those that are funded by tax dollars, to require some level of minimum testing for software. This is to ensure that they don't end up paying way more for something than they should have, because they had to go back and fix 15,000 bugs. I know i'd be quite mad if I was an American, and my tax dollars were being wasted on probes sent to mars, that didn't even make it there, because of a bug in the software, that was something to do with using the wrong units.

    ReplyDelete