lb0q+@andrew.cmu.edu (Leslie Burkholder) (11/02/88)
I'd appreciate lists or accounts of ethical problems faced by software engineers in practicing their profession. Thanks, Leslie Burkholder
maner@bgsuvax.UUCP (Walter Maner) (11/02/88)
From article <sXPWxty00Wo345oGM2@andrew.cmu.edu>, by lb0q+@andrew.cmu.edu (Leslie Burkholder): > I'd appreciate lists or accounts of ethical problems faced by software engineers > in practicing their profession. As you are probably aware, such discussions can often be found in comp.risks and ETHICS-L. If you have trouble subscribing to these lists, I'll be glad to help. WALT
klee@daisy.UUCP (Ken Lee) (11/04/88)
Some activity that some software people could consider unethical: 1. being asked by your manager to do something illegal (usually white collar crime, like lying on your expense reports) 2. violating promises/contracts with clients (this may also be illegal) 3. questionable advertising (claiming something is done when it isn't, announcing products then not delivering, etc.) 4. working on projects that you think are immoral, even if they are legal (you can probably think of something here) 5. working on a "moral" project for a company that does things you think are immoral There are probably lots of others. A good professional knows how to identify these problems and knows what do to about them. Sometimes the action varies from person to person, especially on the legal, but unethical issues. Ken -- uucp: {ames!atari, ucbvax!sgi, pyramid, uunet}!daisy!klee arpanet: daisy!klee@sgi.com or daisy!klee@uunet.uu.net I'm not a tourist, I was born in California.
coggins@coggins.cs.unc.edu (Dr. James Coggins) (11/05/88)
In article <1902@daisy.UUCP> klee@daisy.UUCP (Ken Lee) writes: >Some activity that some software people could consider unethical: > Ken's list was good; here are some rather more subtle failures of professional ethics that occur to me: 1. Deliberately underestimate the cost/time of a project in order to get a more favorable response in contract competition. 2. Engage in what Brooks calls "gutless estimating": Customer: "How long will it take?" Programmer: "When do you want it?" Customer: "Six months from now." Programmer: (thinking) "My estimates say 12 months minimum but the customer can't prove that I can't finish in six months, so" (aloud): "Sure, I can do it in six months." 3. Bait-and-switch tactics: Promise the customer what he wants and then when it's too late to back out force the customer to accept what you are able to produce conveniently. 4. The whole category of violations of intellectual property rights could yield many ethical problem cases, but I do have other work to do today. 5. Fail to perform services for which you have contracted, like software maintenance, consultation, or set-up/installation. 6. As a manager, place a subordinate in a situation he or she is not qualified to handle (i.e. set up a scapegoat). 7. Fail to carefully design and evaluate a user interface that is going to be forced on employees who are powerless to evaluate it or complain about its awkwardness. You have a responsibility to your USERS as well as to your CLIENT. A good user interface can make the system a joy to use. A bad user interface can inflict real pain on its users. 8. Fail to inform your client of the relative costs of features he claims are desirable. I do not accept the dictum "The client is always right". In many cases, the client is ignorant and needs to be enlightened. If I am worth my pay, there should be some things I know better than the client. It is part of my professional responsibility to question the client's requests and to inform the client of the relative costs of his requests. "Yes sir, we can build a marble fireplace for your living room, but it will cost half as much as the whole rest of the house. Are you sure you want it that bad?" From Money magazine, Sept 1976, p. 48: "Deciding what to do is toughest when you're not directly involved in a questionable practice but you know it's going on." In my Software Engineering course last year, I had been mentioning ethical concerns in the context of other (usually technical) issues through the semester. I was pleased later when I was asked by some students to give a special lecture on ethics in software engineering. I did, of course. What's important here is that the students requested it. I was very pleased (even though it meant some more work for me) that the topics I had been covering caused them to think along those lines and ask for an hour to be devoted to ethical issues. The discussion was lively and that turned into one of the best class meetings all semester.
john@basser.oz (John Mackin) (11/16/88)
In article <5084@thorin.cs.unc.edu>, coggins@coggins.cs.unc.edu (Dr. James Coggins) writes: > >Some activity that some software people could consider unethical: > 2. Engage in what Brooks calls "gutless estimating": > Customer: "How long will it take?" > Programmer: "When do you want it?" > Customer: "Six months from now." > Programmer: (thinking) "My estimates say 12 months minimum but the > customer can't prove that I can't finish in six months, so" > (aloud): "Sure, I can do it in six months." Well, back in the Bad Old Days when I used to work in the commercial world (as a programmer), I would very commonly get asked that dreaded question, `How long will it take?' I knew there was no way I could answer that question with any accuracy, so I developed a method that kept me happy. For those of you faced with this problem I offer the method. I call it `Estimating by Threes'. If you think the task will take under ten minutes, tell them three days. If you think the task will take more than ten minutes but less than an hour, tell them three weeks. If you think the task will take more than an hour but less than a day, tell them three months. Otherwise, tell them three years. You'll be amazed at how often you manage to predict the exact time it will in fact take. John Mackin, Basser Department of Computer Science, University of Sydney, Sydney, Australia john@basser.oz.AU (john%basser.oz.AU@UUNET.UU.NET) {uunet,mcvax,ukc,nttlab}!munnari!basser.oz!john
friedl@vsi.COM (Stephen J. Friedl) (11/17/88)
In article <1616@basser.oz>, john@basser.oz (John Mackin) writes:
< For those of you faced with this problem I offer the method.
< I call it `Estimating by Threes'.
<
< If you think the task will take under ten minutes, tell them
< three days.
<
< If you think the task will take more than ten minutes but
< less than an hour, tell them three weeks.
<
< If you think the task will take more than an hour but less
< than a day, tell them three months.
<
< Otherwise, tell them three years.
Alternate mechanism:
* take your best guess as to how long the project will take,
double it, then go up to the next unit of time :-).
Steve
--
Steve Friedl V-Systems, Inc. +1 714 545 6442 3B2-kind-of-guy
friedl@vsi.com {backbones}!vsi.com!friedl attmail!vsi!friedl
------------Nancy Reagan on the worm: "Just say OH NO!"------------
whbr@cgchd6.uucp (Hellmuth Broda) (11/23/88)
In article <941@vsi.COM> friedl@vsi.COM (Stephen J. Friedl) writes: |In article <1616@basser.oz>, john@basser.oz (John Mackin) writes: |< For those of you faced with this problem I offer the method. |< I call it `Estimating by Threes'. |< [...] | |Alternate mechanism: | |* take your best guess as to how long the project will take, | double it, then go up to the next unit of time :-). | | Steve From /usr/lib/cookies: Westheimer's Rule To estimate the time to do a task: estimate the time it should take, multiply by 2, and change the unit of measure to the next highest unit. Thus we allocate 2 days for a one hour task. This wording sounds so scientific that you can put it into your design documentation as a motto on page 3 ;-} Hellmuth ____________________________________________________________________________ | Dr. Hellmuth W. Broda | c/o CIBA-GEIGY Scientific Computing Ctr. | | Biologist and Systems Analyst | R-1045.3.16, P.O.Box, Tel:+4161 697-7109 | | UUCP: whbr@cgch.uucp | CH-4002 Basel Switzerland | | Old uucp: ...!uunet!mcvax!cernvax!cgch!whbr | | Internet: whbr%cgch.uucp@uunet.uu.net | | BITNET: whbr%cgch.uucp@cernvax.bitnet | ---------------------------------------------------------------------------- <<< Everybody is a foreigner... almost everywhere >>>