Saturday, April 9, 2011

Ethics in Software/Information Technology

When I was doing my engineering course in Computers and IT; a professor jokingly mentioned "Software is the only product that can be shipped with flaws and bugs". It did seem a joke then but that is the fact. We take months to build a software; lot of energy goes into planning, designing, coding, testing and finally releasing it to the customers. And then bang on! few months after being deployed at a customer site; the customer raises a red flag. Something broke; its not behaving the way its expected to behave and all hell breaks loose.

The organization's reputation is at stake; so much so that if the damage is worse; human resources working on it may be fired. Yet, we still have the freedom to ship the product with flaws and limitations. Most of us know the style and aggressive business progess made by MS under the leadership of Bill Gates. The following joke was doing the rounds few years ago. It goes like this -

Bill Gates reaches the pearly gates guarded by Angel Gabriel. The angel proposes him to choose between heaven and hell. When Mr.Gates inquires why this privilege is being offered to him; the angel replies "You have been a good human being with your philanthropic activities and helping the poor and needy the world over. So pick your choice". Bill thinks for few minutes and asks the angel if he can take a look at both the places. The Angel takes him to hell first. The hell surely looks inviting - people partying and having fun, liquor flowing and everyone dancing and making merry. He then visits heaven where people seem to be working hard and leading a measly life. Bill decides to choose hell. He lets know about his decision. The angel asks him if he wants to reconsider and Bill is sure that he wants to stay in hell. The decision made; the gates of hell open and Bill gets registered at entry. As he proceeds the scene changes. He sees people being boiled in hot oil, screaming and yelling with pain. He is shocked and turns to angel Gabriel and asks why the hell is hell different than what was shown to him. To which the angel coolly replies - 

"What you saw then was a simulation software that we bought from Microsoft"

One main parameter to discuss ethics in software development/IT has been defects/bugs in software product. A product is a wholesome, complete entity aiding a need. But if the software has bugs; how can it be designated as a product? Is the presence of bugs UNETHICAL? Application of engineering practices and philosophy and use of software to build mission-critical and human critical systems where the failure of such systems can mean huge losses to life and property does call for ethics.

Numerous organizations have defined code of conduct for writing software, quality check and for doing business keeping the above in mind. These ethical codes are similar to any other - adhere to client/public interest and conduct business with integrity. Ethics in the field of software is too broad and is not fully defined as the field itself is young. There are lot of areas to define ethical process - software piracy, information stealing, information manipulation, software development, intellectual property.........

Information is not a physical object; so its difficult to apply the same rules that makes sense for physical property. Talking about developing a software; its the 'design' that is utmost important. The 'manufacturing' of the software to a product is a mere automated process. Once the product is ready; it has to be marketed and sold. Let me talk about two groups of people involved here and the associated process/ethics.

1. Designers, engineers, developers, analysts, testers

These group of people design the software, build it, develop it, test it and integrate it to a product. What are the ethical issues here to be taken care of? One most important issue that we often encounter here is the Intellectual Property. There are lot of famous IP infringement cases fought between famous and powerful software companies. In fact, these companies have a dedicated set of attorneys specifically for this purpose. Can I use someone else's ideas while developing a new idea? Can I reuse a piece of software written by someone else? Are they taking client's/employer's/public's interest in mind when designing the software? Who do you blame if a software fails? The designers who did not see the flaw? The developers who forgot to plug in a "assertion code" to prevent the breakdown? The testers who did not catch the bug? Or any computer engineering student's favorite line - "It worked on my computer" take you off the hook?

Or one level higher. Is it the complexity of the OS? the libraries? faulty application? The hardware its sitting on? Is the program doing what its not supposed to do? Is it NOT doing something its supposed to do? These different layers puts the blame in different places.

But software companies do not have liability and they have no pressure. They can blatantly lie about the liability - "High quality, faster performance". But how do you define high quality? Or how faster is faster performance? Try any MS product and you know what I am saying.

2. Marketing and selling software

The engineers job is done once the software is built and tested and packaged. Its now the technical marketing team that has to sell the product. Sell a product by talking about its features and not about comparing it with other products and not by highlighting the flaws in the competitor's product. Its pretty much the same for any product. Don't trick or force your customer. Be open about the credibility and the quality. But its not done this way. Numbers, analysis, prognosis and comparisons - with your competitor. Its always "What different we offer than our competitors? Is the feature provided by them really good for you?" More often than not; the marketing team spends time and energy is learning what the competitor's product does not offer and its limitations than learning about their own product and its features.

These are only few points touched upon. Ethics are defined for usage of product by end-users, against information sharing, information copying, information manipulation, the computer that is used as an agent and such. Computer and information ethics is a broad area and is not defined well yet; and is still in infancy stage in our country. 

18 comments:

  1. its very difficult topic and case to case judgment will keep changing regarding copy and ethics marketing.
    for everything.

    ReplyDelete
  2. Reach exceeds grasp ! Otherwise whats a heaven for !

    Code is no exception i guess !

    :)

    ReplyDelete
  3. ma ma mia!!!
    Not my territory, but read your post. Can we get it done when Bill Gates is up there?
    As for "ethics" , that word is it English??? ha ha !!! Seems antediluvian

    ReplyDelete
  4. These ethics or rules keep changing every other day, don't they? IT companies just follow "follow what suits you" rule.

    ReplyDelete
  5. Ethics dont exist.. DOES it .. I mean if we are honest to everything - to Ourselves.. then I ma sure what i say will make sense .. if we look in our own heart sometime somewhere Ethics have gone for a SIX maybe for a reason.. maybe we had a excuse or whatever ..

    without going into details , I can tell you one Thing to become a GOLD member of Microsoft You have to send all your source code to them for there Pressure testeing etc etc and all that ..

    I hope this tells you something and wish i could put it here BUT I have solid proof of it :) Ethics dont exist anywhere Personal-Professional or otherwise .. We got to accept that fact.. it is true

    Bikram's

    ReplyDelete
  6. Well, my poser did the trick! :-)

    As a layman who has been using computers for more than 15 years, I don't know much about it except for the applications that provide me with what I want. My poser was basically about OS - Microsoft Windows Vs Free Open source/Linux. I have a friend who is a computer engineer who runs his own company developing Linux based applications. I have friends who swear by Linux/Ubuntu. I have tried Ubuntu in my laptop and now in my netbook ( the latest addition to the family). I was irked by Bill Gates' indoctrination,bullying,unethical practices that border on illegal, cunning marketing techniques, blackmail, threats, virus-ridden wares, drain on system resources and an additional couple of thousands one has to pay for the SW. For eg., the Windows 7 Starter that 'So-and-so recommends Windows 7' mfrs provides with the netbook has severe limitations.

    The problem with Linux is that many downloadable programmes are Windows-based ( for eg., Wordweb, Picasaweb) though some have Linux- versions, it is exhausting to fix it proper and running, what with WINE and all that. And having conditioned over years with what Gates provided, it is tough on a layman to switch over to Linux, though the applications are simple and straightforward.

    I would like your professional opinion, B, on this issue.

    ReplyDelete
  7. I was working in a presales dept of a telecom company which was developing a software for telecom security, we were creating this SRS documents to woo the clients :P it boasted of few features that our competitor's product lacked. We managed to woo the client, but later on the developers told our PM that they wont be able to deliver what was promised in the SRS and that it is the management's fault that they did not discuss with the development team before promising.

    Hence, I stand by your point: Sell a product by talking about its features and not about comparing it with other products and not by highlighting the flaws in the competitor's product.

    ReplyDelete
  8. Honestly, I know nothing of this subject. Yes my niece heads a software company at Gurgaon and I do hear of similar experiences/story

    ReplyDelete
  9. Bindu, ??? :( Onnume puriyalle. ...May be this is beyond me. But read it, at least a few more posts like this I would also understand something;)

    ReplyDelete
  10. howdy doing Bindu madam.... SDLC padicha nyabagam :) ! also intha bill gates story ending i read as " HR coaxing... once yu enter the company...ho boy" :) tc...

    ReplyDelete
  11. sm,

    Yes thats right. It does get difficult to set ethical rules if its going to be on a case by case basis

    Kavi,

    Yup! :-)

    anil,

    Yes these things will see light when Bill Gates is up there :-P
    Ethics? Yeah its a long forgotten vintage English word :-)

    Nethra,

    Exactly! :)

    Bik,

    Right, it doesnt. Its all on paper thats that.

    Balan,

    It sure worked :)

    Regarding Windows v/s Linux you said it all Balan. I swear by UNIX. Anytime I would want to switch over to Unix even if it means typing in lines of commands than clicking as easy as in Windows. Unix has its GUI but I prefer command line.

    Now talking about the hardware manufacturers recommending Windows, its all part of marketing. You win; I let you win funda. Unix has much more to offer than Linux. But Microsoft won with just one parameter and they are thus ruling. The parameter is usability and appearance. Look at the Windows OS, its all click and move, pluggable and ease of use; though it has so many flaws. It appeals to a layman who just has to click to open a file than type "cat "

    MS had its way; every other vendor develops windows adaptable application; many are averse to Linux even though its open source. Sigh!!

    G3,

    Yeah see its only on paper. Not all practice it.

    Chowla sir,

    Yeah there is lot more than said.

    chitra,

    Ayyo roamba blade pottutaeno? It all boils down to ethics and morality :) But I am really glad that you still attempted to read and understand chitra.

    Hary,

    Long time no see. Naan super-nga. Neenga eppdi irukinga?
    SDLC!! Hahaha I got reminded of Computer Ethics

    Yup the same blood story :-P

    ReplyDelete
  12. Whatever you've written seems analogous to electrical engineering...like design of motor and all that...which if not taken care of properly,can result in burning up of rotor and damaging an entire substation :-P

    So ethics need to be followed all around.The problem is people get confused whether to be ethical or competitive in a work environment.

    ReplyDelete
  13. Anu,

    Yup! the theory is all the same - follow ethics and conduct business with integrity. And as you said when we are hit with ethics and competition; obviously we choose the latter :)

    ReplyDelete
  14. Software Piracy is an issue. Copying code is common. Ethics are missing in software industry - personal experience. In addition a lot of companies are offering free software anyway. That is the part of the reason software professionals are losing their values.

    It ain't going to better either.

    ReplyDelete
  15. The possibility of these guys "Bill Gates' for instance developing viruses and spreading them , then intervening like good sales men of good Micro Soft antibiotics?
    No wonder he dropped out from school and set up MS. The guy has brains!!!

    ReplyDelete
  16. A,

    Rightly put. It does get tough for us to balance our ethics and keeping up with competition.

    anil,

    :-) he is the man who understood everything right. the strategy worked out for him and now MS is undisputed.

    ReplyDelete
  17. I liked the story.The rest all went above my head.Unfamiliar terrain!

    ReplyDelete
  18. dr.antony,

    :-) Understandable. Its fine..I was just trying to talk about ethics in my field

    ReplyDelete

I'd love to know what you thought :-) Please shoot!