It is claimed that a DbaGotSued
It would be interesting to see how it would change the profession (if we can call it that) if programmers were commonly sued for bugs. One thing for sure is that it would drive up development costs. Specifications would have to be very clear and would have to be signed off by the users or client so that one knows who to blame if something goes wrong. It might also halt offshore outsourcing because the penalty would not be at 3rd-world rates. The damages charged would be at the rate of the user country.
Also, it does not appear that structural engineers get sued if their designs fail as long as they make a demonstrably reasonable effort to verify the design. If somebody comes up with a new bridge design that looks great on paper and simulations, but flunks the real world, they are generally not sued as individuals that I know of. Their reputation may suffer, though. But, software failures are generally kept from the public because it could damage the reputation of the entire company. I was at a company where an accounting clerk stole about 5,000 USD, but the company never pressed legal charges. In fact it happened twice in the same company. I think if they openly prosecuted one it may have stopped the second by sending a message. But it may rattle big investors and potential clients, however.
My point exactly as above, if an Engineer short cuts a QA process, the Engineer is personally liable for damages. How many cowboy coders have ever been sued? And as software gets pushed into arenas such as aviation and health care, software quality becomes more critical. It is more than marketing spin which is at stake, but the lives of real people.
I think if a plane crashed and it could be trace-able back to intentionally sloppy effort on the software company's part, then a programmer could potentially be sued. In reality the programmer could probably point out that testing was inferior and would probably be right because 95% of the time it is in practice. The jury would probably agree because they would expect testing.
The programmer could probably also make a case that they were rushed because most companies do that. It could only be successfully pinned on the programmer if the company gave them sufficient time and did sufficient testing and bothered to document it. All 3 of those are currently rare, and thus the programmer has a layer of de-facto protection. Bad products are usually a layered group effort.
I don't think Microsoft has ever been successfully sued for its software producing the wrong answer, despite known bugs in the likes of Excel. They get away with it because they treat their software as a "license", not as a product. And, their licensing provides no protection against software errors. Thus, either you agree with the license, or you take your biz elsewhere.
I don't remember who said this, but I once heard a quote that went something like this: "At <the aerospace company I worked for>, if a test pilot died flying something, then once the cause of the failure was found, the engineers who designed the thing had to break the news to the pilot's family. That would change your perspective on failure real quick."
Then the company itself would be sued for letting a diplomacy-free geek deliver such news.
- Sounds apocryphal to me. After all, investigations of aviation accidents typically take a long time, and are difficult to conduct. The family would start to wonder why the test pilot didn't come home from work that day, long before an investigation could be completed.
There's another story about parachutes which says that they had a horrible malfunction rate until a new policy was instituted. The riggers who packed the parachutes would be made to jump using a random parachute they had packed.
- I bet that's not legal in much of the First World these days -- TobyThain
- No, my entire time in the Army our static-line parachute riggers did have to jump a random parachute from their packed lot with us on the same jumps. Riggers care intensely about their personal job performance and have a subculture built around it. I didn't realize how intensely job focused they were until I was in units where they were attached to us at a lower organizational level. For HALO/HAHO the jumper has to pack his own chute -- and I would never want that tradition to change (and I'd never jump one packed by someone else, even in sport now that I'm a civilian). --CraigEverett?
- I wouldn't trust my own packing. I'd rather an experienced and time-tested packer do it. I know my limits and weaknesses. Seasoned experts deserve our appreciation in their field.
I don't think that programmers being sued for bugs would have any effect on offshoring. I would imagine the insurance industry would be more than ready to step in.
Because bribery dollars go further overseas and because the legal systems require extra experts to navigate, certain positions with sensitive information may be affected by offshoring. However, India is making sure they don't get a reputation for problems and have been very aggressive recently in punishing IT criminals.
Doctors and other "professionals" have power/control that developers don't. If a doctor does not feel it is ethical to perform a certain operation, they can halt it without risk to their career. However, if a developer's boss tells him/her to make bad software to meet a deadline, it is put up or leave.
In other words, developers have the same power as doctors: The choice to do the work or not.
I didn't fail to notice the qualifier, I considered it irrelevant. Are you saying that it is acceptable for software developers to act unethically because there is no software equivalent of the AMA? If you're asked to commit fraud or, worse, risk lives, you'll just do it because your manager tells you to?
Professionalism is defined by the behavior of the individual, not by membership in an organization. It comes down to the choice of whether or not you, personally, will behave in an ethical manner. Don't blame your choice not to on anyone else.
- You failed to notice the qualifier: "without risk to their career". Programmers who refuse to do what the boss asks, good or otherwise, tend to get fired; those who do so more than once quickly get a reputation as a troublemaker and become unemployable. Accountants or doctors who refuse an unprofessional or unethical request have much more protections--in the form of professional organizations (ones with teeth) which not only protect them from such decisions, but in fact require members of those professions to act ethically, even if it means terminating a relationship with a client.
Although the point is well-taken, you are a little out of date about accountants and doctors. Their professional organizations are being completely stomped on by the corporate pressures that drive them towards the bottom line. Doctors are, in America at least, largely controlled by HMOs, not by the medical boards that regulate them.
While they are not pressure-free, it is less. Most of the pressure is probably about using generic versus name-brand, and ordering expensive tests which some may feel are not necessary. However, they still have a lot of decision power with regard to which course of action to take on a patient. And, each HMO is different. Some popular HMO's are non-profit, I would note.
This could perhaps be an argument against capitalism for some fields. Pressure to cut corners is heavy in a for-profit organization. It may result in cheaper prices, but it can have very unpleasent side-effects, such as death and injury. I've been in pressure situations to lie or leave (not life-threatening, however), and if there is a downturn or recession, "leave" is not a very good option, especially if you have a family. Doctors generally have more options if they leave. So far, doctorhood has been better job security than IT, such as lack of cyclicity, offshoring, and agism. From a legal perspective, a jury may be less likely to punish somebody whose alternative is unemployment and family poverty. It is currently hard for a doctor to make such a case. Having to sell a BMW or give up golf does not count in the eyes of a jury. In short, they have the luxury of being ethical. If they want to sue us, they first need to pay us more.
We are treated like auto-mechanics, not doctors.
A good example of the complexities of SueingSoftwareProfessionals?
after reading it, I realized that the responsability of software (and hardware?) development is distributed around a lot of people, and it is really hard to find the right people to sue.
- Take the California approach: Sue them all!
- You can do that in California? And... Doesn't that make it harder because you have to probe some kind of "CoordinatedMalice?", show that there are some kind of OrganizedCrime? going on? (everybody agreed with everybody else on doing things wrong). Or... we could (by such Californian laws) sue the entire goverment (or an entire company) for a single crime commited by one or more of its members? (I don't know that much about law... but I don't think it is as easy to sue one specific person as to "Sue them all"... I guess there are ShieldsAgainstSuingGroups? (it is either that, or we sue everybody for everybodyelses error))
- It was half-meant as a joke, but based on actual experience. The story is already floating around here on wikiwiki somewhere. I'll link it if I encounter it again.
Mmmm I guess that book would be really helpful for a lawyer looking for ways to demonstrate that his client wasn't responsible for the bad outcome of the project... and that could work for a group too...
I don't know about elsewhere but contract programmers in the UK need a lot of insurance because they *can* get sued.
Anybody can get sued for anything in the US, programmer or not; but its usually not based on an official "code of conduct" as found in other professions. I am interested to know what the typical things programmers actually do get sued for in the UK and if there is an official code that guides what can be sued for. In the US if there is a disagreement, it is generally based on the mutual custom contract between both parties. If a complaint is not based on a deliverable in the contract, then generally the lawsuit won't go anywhere unless it is extreme.
Look, if you think it will help, I'd be glad to go ahead and sue you. All of you.
(I'm not a nasty person; I'm just trying to help! ;-)
That makes you an ideal target :-)
It would be interesting to see how it would change the profession (if we can call it that) if programmers were commonly sued for bugs.
Interesting for the lawyers, maybe. Also if professional writers got sued for every typo, musicians for every incorrect note, and actors for every time they forgot a line and had to do another take.
Why would it be more professional to single out individual programmers for lawsuits, rather than suing the company that's making the software? Because the companies usually carry professional liability or errors & omissions insurance, but individual programmers don't?
It would probably diminish those who are interested in the profession, shifting IT yet further overseas. Go ahead and try to sue a programmer in Timbuktu. The officer serving the notice may have to ride 2 days on a donkey over the mountains to get there.
Actual Lawsuit Links
So far, these are for intentional alterations of data or results, and not carelessness.
They were careless about hiding their tracks :-)
See also: DisciplineEnvy
topical together with DbaGotSued
This is the most interesting discussion for one who does not have the industry knowledge you all seem to have but is a frustrated consumer. I have tried to find out whether a Code of Practice for software designers exists but have not found what I'm looking for i.e. not just the IP / responsibility issues but what constitutes genuinely user-friendly design. I would like such a code to include things like:
- Get the basics right before you add new functions e.g. in word processing, sort out: losing format when copying and pasting, spellchecker constantly reverting to US English (I'm from the UK)
- Minimise clicks e.g. if it's not absolutely necessary, DON'T ask me if I meant to do something or not; when I log on don't make me click twice, once will do...
- Ensure that every possible pop up box is explained in Help (Every programmer should have a notice on their wall saying: Will this feature enhance the average user's life or not? Is everything crystal clear to a non-expert user?)
- Every update should incorporate all the functions of its predecessor OR IT'S NOT AN UPDATE IT'S A NEW PROGRAM (Why won't Outlook for Mac 2011 sync with my iPhone calendar? I have a right to expect it will do everything the 2008 version did but better)
- If you know you are on the autistic spectrum (and you should check this, if you work in computing), ensure that all of your work is extensively road-tested by non-autistic users who will be better able to spot things that may irritate non-expert users.
That last may seem a bit personal but it's relevant. Software design is one of the most important jobs in the world now - it affects millions every day. It's the failure to address these daily irritations that I wish I could sue for, but, from the conversation above, that seems an unlikely prospect. That's why an international code of practice seems a better idea.
No, you can't sue Microsoft, so don't even think about it ;-) There is a reason a Microsoft product is really a "license agreement" and not a "product" in the traditional sense. And I don't think it's practical to legislate what a "good" software product is. Part of the problem is that MS has very little competition for its core products; and second, consumers have consistently and historically chosen features and price over quality with only a few exceptions. Related: WorseIsBetter.