ACM Code Of Ethics

Case Studies for class discussion


Topic Presenter
1. The owners nephew  
2. The bosses risk

3. Who owns it?  
4. A programmer by another color  
5. In the ball park  
6. Robert's New Assignment  
7. Cindy the Apple Guru  

Presentations elements:

A ten minute presentation
  1. A complete overview of the salient aspects of the case.
  2. An analysis of case with respect to the ACM code of ethics. Which apply, and why. What is the appropriate interpretation?
  3. An analysis of the case from a Biblical perspective. Include actually Biblical references.
  4. A suggested plan(s) of acton. Consider the dilemma of the person, how can they most effectively, and reasonably, proceed.

1. The owners nephew

Eric has been working as a software developer for a mid-sized software company, TechEdge, since graduating from college 3 years earlier. Eric is married to Betty, a stay at home mom, with a two year daughter and a second child coming in 4 months. Eric has a mortgage on a modest new home, and a car payment. Eric in now a senior software developer, and is working hard, hoping to be a team leader, and then a project manager in the next five years.

A year ago Bevin, the son of the sister of Mr. Harkens, one of the three partners who own the company, was hired, and is now also a senior software developer. Bevin is smart, but a partier, and sometimes his hangovers lead to unproductive days.

Eric and Bevin are assigned to develop a major component for a new corporate tax analysis package being developed for a major client. This package, if working correctly, could save the client hundreds of thousands of dollars a year, and is very important to the success of TechEdge. Mr. Harkens, who really likes Bevin, has personally talked to both Eric and Bevin about the project. At the end he promised Bevin that if the software worked, and if it passed the requirement tests, Bevin will get a promotion to project manager, and that both Eric and Bevin will get raises.

Over the course of the project, Eric works very hard, even putting in unpaid overtime. Bevin's work is more erratic, producing good work sometimes, but other days producing shoddy work that Eric usually has to fix. As the deadline approaches, Eric realizes they are unlikely to meet the goal. However, Bevin suddenly becomes very focused, and works hard to get the system to meet the requirements testing. The day finally comes, and the software seems to be working ok. They pass it off to the test team.

The next day Eric is reviewing some of the work, and notices something odd. It seems that the code has been written with certain shortcuts specifically to pass the requirements, and to work for the test cases they know about, but that it will produce incorrect results in many other cases. He goes to Bevin and confronts him. Bevin admits he did it, but says "what is the big deal, we NEED to meet this goal for now. We can work on finishing it later on, on our own time, and get the changes into a patch in a couple of months from now. No one with ever notice, and the client will never know. Eric realizes that this could be true, but that if the results are wrong, the client could lose significant money, or end up being audited for tax fraud. He approaches Bevin again, who gets angry: "If you say ANYTHING, I will blame you for doing this, and I will see to it that you not only get fired, but that you are black listed at every software firm in the area." Eric is pretty sure, knowing the relationship Bevin has with his uncle, that he can make this happen. And Eric really needs this job!

What should Eric do? What ACM code of Ethics rules apply?

2. The bosses risk

Kelli, a team leader at a company that produces embedded software for various devices, has been assigned to lead a small group in building a system to control a device to monitor heart functions for medical diagnoses. The device is worn by the patient for several days, and the results are then used to determine what treatment the patient needs. MedLand, a hardware company that designed and built the hardware, subcontracted Kelli's company to write the embedded software.

Kelli and her team work hard to complete the system on schedule. Toward the end, during integration testing, Kelli notices that the hardware from MedLand does not always produce the expected results, missing certain measurements. She doesn't completely understand the medical significance, but she feels pretty sure that this could lead to incorrect results if the system missed certain heart events, leading the doctors to incorrect diagnoses. She thus talks to her boss, explaining the problem to him, and suggesting they talk to the client, explaining the hardware flaw. The boss disagrees, saying "That's their problem, not ours. We just need to make sure our software works correctly". Kelli is uncomfortable, worried that this problem will be missed by the hardware team, and still feels it should a be reported to the company. Her boss is angry, "Forget about it Kelli! I'm the boss, I'm assuming this risk, not you. It's my choice. I don't think it's a big issue, and I don't want to get my friend over at MedLand who designed this hardware in trouble. If something happens, I'll take the responsibility!"

What should Kelli do? What ACM code of Ethics rules apply?

3. Who owns it?

Tammy works as a senior software engineer for DigiRoute, a company that produces routing and switching devices for the Internet. Tammy spent the previous 7 years working for a small startup, NetKing, learning and honing her skills writing networking software for routers and switches. NetKing, and all it's intellectual property, had been bought out a year earlier by another large networking hardware company, Cisko. Cisko had been buying up small competitors and shutting them down to weaken it's competition. The owners of NetKing were now quite wealthy, but Tammy had been left without a job, but had then found work at DigiRoute.

At DigiRoute, Tammy has been assigned to develop the core switching code for a new 10 gigabit router device. This required extremely exotic and advanced software to work at wire speed. As the deadline approaches, Tammy realizes that she cannot make the deadline. She also remembers she spent almost two years at NetKing developing very similar code, and has it on her flash drive. She is almost certain that Cisko never even knew about the code, they simply bought the company, fired the employees, and destroyed anything they didn't want, including most software projects under development.

Tammy grabs her flash-drive, and quickly finishes the project. The results are great, and she gets a bonus, and a promotion.

Is what Tammy did ok? Do any ACM code of Ethics rules apply?

4. A programmer by another color

Casey has been working as a software engineer for 15 years. Two years ago Casey moved to a new company, VirtualTek, as a senior project manager. As a senior project manger he manages several project mangers, and thus several projects. As time passes, and people come and go, he has to select from his team members people for various roles and promotions. All decisions must be submitted to senior management for approval, usually a rubber stamp, but occasionally a request will be denied.

Over time Casey begins to notice a pattern. Every single black or hispanic employee that is selected for a leadership position is denied. In fact, these are the only decisions that are denied. At his next review session with his boss, Casey is given great reviews, except for one point. His boss, Shelly, says: "You need to be more careful about your selections for promotions. It puts us all in a difficult position when you put certain people up for promotion, and we don't want our senior leadership have a track record of denying certain people promotions. I hope you understand. Keep up the good work and you have a shot at our senior software architect position in two or three years!"

What should Casey do? What ACM code of Ethics rules apply?

5. In the ball park

Jennifer has been working at Slater & Beasley for the past 16 months as a software development team leader. Her team is working on a variety of .Net projects, and is using Visual Studio and several other proprietary products extensively. Recently the Jennifer was allocated a new position on her team, and she interviewed and hired a new programmer, Jason, fresh out of college, as a programmer. She requests a new computer for Jason, which arrives two days later. The system, a new HP desktop, is soon setup and ready to go. She also had put in a request for a copy of Visual Studio and the other needed licensed development products to be install on this system as well. Later that day she sees Bill, a guy from tech support, in Jason's cubical, removing the hard drive from the new computer, and connecting to Lisa's computer (another team member). He then boots up a disk cloning program and copies Lisa's hard drive. Then he puts the drive back in Jason's new computer, and boots it up, and enters the License key for Windows 7 off the new computer's COA sticker so the OS won't complain about being invalid. Bill then starts to leave.

Jennifer intervenes. "What about the licenses for the other products?". Bill says, "No problem, it won't complain, only Windows 7 has that problem, the other packages should just work". Jennifer say, "That's not the point, shouldn't Jason have new valid licenses for the other programs". Bill laughs, "Look, we are in the general ball park on license count, and frankly Jason won't even be productive for six months, so what's the big deal? In ten months when we do our yearly software audit, we will officially count all instances of everything, and get everything up to date and legal. It's easier to do the license procurement once a year. Franky, with so many people coming and going, it's likely we have a few unused licenses floating around anyway. Just chill out, Jennifer!".

What should Jennifer do? Do any ACM code of Ethics rules apply?

6. Robert's New Assignment

Robert has been working at ScrumSoft for 6 years, ever since graduating from MVNU. Over this time he has worked on a variety of projects, usually working as a team member with 2 to 4 other programmers, mostly building and maintaining custom web applications based on a LAMP stack. As such he has considerable experience with mySQL, PHP, Javascript, HTML, CSS and Linux. One morning his bosses boss, Peter, comes to him with a great deal of excitement. Peter tells Robert that ScrumSoft has been given an opportunity to pursue a new corporate direction, as a client has approached them about developing the firmware for a line of new medical devices. Basically envolves embedded system development on small medical sensor devices, with the target being to develop systems for monitoring patient data (blood pressure, pulse rate, blood oxygen, suger and electrolyte levels, etc) with small wireless devices. The project would involve programming these small embedded devices to sense the data, and then pass it back through a secure wifi link to a LAMP server that will display patient summaries, and which can raise am alarm if anything value is outside a preset range.

Peter is excited because they have long desired to break into embedded systems side of things. ScrumSoft is already building the server side for these sort of projects, but they have never had an opportunity to work on the embedded sensor side. Peter tells Robert "I checked, and you are the only person at Scrumsoft with a background in embedded systems. I want to promote you to team lead, give you a team of 4 people to lead, and make you the new embedded systems team. You will start with this project." Peter also offers to give him a 50% raise effective immediately. Peter is excited, and really pushing for Robert to accept this assignment, assuring Robert that he has complete confidence in Robert.

Robert is shocked, and a bit concerned. He had put embedded systems on his resume, but it had been a bit of a stretch. In college he had worked on a class project programming a small device to monitor solar power systems. Actually, his involvement in the embedded side had been minimal, as he had mainly worked to get the LAMP server to recieve messages from the device. Robert is uncertain. What should he do?

Do any ACM code of Ethics rules apply?

7. Cindy the Apple Guru

Cindy has been working for Apple as an Apple guru for six months, since graduating from college. She really wants to work as a software developer, the area she is educated in, but this job is getting her by for now while she looks for a better job. On this day a customer, a male about 45, brings in a laptop, a MacBook . The customer is very concerned, he can't seem to get any work done, as the system is running very slow. Cindy does the initial tests and trys the usual things, and finds nothing, making no progress. The customer then says he really needs to get back to work, so he asks if he can leave the computer, and return the next day to pick it up. Cindy agrees.

Later that day, during a slow time in the store, Cindy begins looking for problems on the computer. After coming up empty, Cindy remember's a tool show used in college, theDigital Forensics Framework. Cindy decides to use it to dig deeper and look for problems. What she discovers as she digs sends a surge of adrenaline through her. She finds a hidden folder that contains a large amount of data (several gigs). She feels a little guilty, but she is curious. She looks into the folder and finds a number of videos. The names of the files scare her, but she forges ahead, and what she finds shocks her. They are movies of the customer with groups of 2-3 younger women, engaging in sexual acts. She not sure of the ages, the girls aren't young children, but they could be younger than 18. Cindy just isn't sure. What should Cindy do? Has she done anything wrong? Should she tell anyone? Should she not?

Do any ACM code of Ethics rules apply?

-- JimSkon - 2012-04-11

Topic revision: r5 - 2016-09-18 - JimSkon
This site is powered by the TWiki collaboration platformCopyright &© by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback