- Related Organizations
- Current ACM Code
- Using the Code
- Software Engineering Code
- Other Codes
- Previous Versions
- Code 2018 Update Project
- Enforcement Procedures and Reporting
- Ask an Ethicist
Case Studies
The ACM Code of Ethics and Professional Practice (“the Code”) is meant to be a useful code, a document that can inform practice and education. It is useful as the conscience of the profession, but also for individual decision-making. The following resources may be of use in learning to apply the Code to your own situation.
As prescribed by the Preamble of the Code, computing professionals should approach the dilemma with a holistic reading of the principles and evaluate the situation with thoughtful consideration to the circumstances. In all cases, the computing professional should defer to the public good as the paramount consideration. The analyses in the following fictional cases highlight the intended interpretations of members of the 2018 Code task force.
- Malware Disruption : Security vendors and government organizations collaborate to disrupt the operation of an ISP that hosts malware.
- Medical Implant Risk Analysis : A medical implant device maker creates a smart phone application to monitor and control the device.
- Abusive Workplace Behavior : A manager fails to address abusive behavior by a technical team leader.
- Autonomous Active Response Weapons : A defense contractor that specializes in autonomous vehicles begins to integrate automated weaponry.
- Dark UX Patterns : A web developer realizes that their client’s requests are intended to trick users into making accidental and expensive purchases.
- Malicious Inputs to Content Filters : An Internet content filtering service deploys machine learning techniques to automate the classification of blocked content.
- Accessibility in Software Development : A web-based collaboration tool deploys a new inline feature that has significant accessibility issues.
These cases studies are designed for educational purposes to illustrate how to apply the Code to analyze complex situations. All names, businesses, places, events, and incidents are fictitious and are not intended to refer to actual entities.
- Search for:
- Computer Engineering Cases
- Markkula Center for Applied Ethics
- Focus Areas
- More Focus Areas
- Engineering Ethics
- Engineering Ethics Cases
Concern is high over possible misuses of new AI technology which generates text without human intervention.
A quality assurance engineer must decide whether or not to ship products that might be defective.
A computer startup company risks violating copyright laws if it reuses a code that is the intellectual property of another company.
Full transparency might prevent a project leader from closing a deal with a valuable client. Should he still clarify the situation to his client?
A technical sales engineer feels pressure to falsify a sales report in order to prevent the delay of her company's IPO.
When a computer filled with personal data gets stolen, a data company must decide how to manage the breach in security.
Employees of a computer hardware company are angered by a manager that demonstrates favoritism.
A computer engineer is asked to divulge private medical data for marketing purposes.
In this ethics case, a woman is displeased with her work role at a computer hardware company.
A new hire at an electronics startup struggles to decide between telling the truth and maximizing the company's profit.
- More pages:
- Academic Ethics
- Bioengineering
- Engineering Business
- Civil Engineering
- Computer/Software Engineering
- Electrical Engineering
- International
- Mechanical Engineering
- Science/Research Ethics
Facing Ethical Issues as a Software Engineer Case Study
Ethical theories, software code, works cited.
The core of the ethical issue is that a particular software engineer has to make a decision to release software that did not go through all the necessary quality control checks, in order to be one hundred percent certain that there will be no catastrophic errors that will occur when already deployed.
The stakeholders are the investors of the company; the employees and staff; software engineers; the hospital staff and health professionals that will use the said software, as well as the patients of the hospitals. By looking at pertinent information the software engineer has two options.
The first one is to release the product even before it has passed the stringent quality control test required to determine that nothing can go wrong in the operational phase. The second option is to inform clients that there will be a delay in the deployment of the said software.
Applying the Kantian theory of ethics the software engineer will have to inform the stakeholders including the investors of the company and the clients that there will be a delay in the launching of the product. They will not be able to use the product because more tests are required to determine if the software will not negatively affect the lives of patients when it is already made operational.
Using the rule utilitarian approach the head software engineer will have to choose between two options and it hinders on the stakeholders that will be most affected by the action. Thus, the software engineer can say that since the bugs are only minor, then there will be no significant problems that may arise in the future.
This will negatively affect the position of the investors that anticipated the launching of the product. On the other hand if the clients outnumber the investors then the software engineer will not release the product knowing that more people will be affected in case of major problems that will arise.
Using the act utilitarianism will force the software engineer to halt the launching of the software because he will come to realize that more people will be upset if indeed the software proves to be problematic. This means that the investors and the people working in the software company are less in number when compared to the clients that will be potentially affected using the said device and software.
According to the Association of Computing Machinery Code of Ethics , there are so many things that has to be considered with regards to this issue. First of all the company must adhere to the idea that their organization must “contribute to society and human well-being” (ACM, par. 1). This means that the company must consider the quality of their product before they release it to the market.
The ACM Code also says that the company must avoid harm to others. The said software was not yet properly tested and therefore using the ACM Code, the company must not release the product yet. The ACM Code also stated that the company must be honest and trustworthy. The head software-engineer must tell the clients that expected delivery date is impossible because further tests are needed.
Finally the ACM Code says that there is a need to strive to achieve the highest quality, effectiveness, and dignity in both the process and products (ACM, par.1). There can be no dignity and effectiveness if the company will not divulge the problems that are inherent in the said product.
The software engineer responsible for making the decision to release the product or not is standing on shaky ground because he cannot prove without doubt that the software will work under different types of conditions and be assured that it will not fail during times of crisis when it is most needed.
In the Software Engineering Code of Ethics and Professional Practice it has been made clear that the software engineer must only approve if they have “well-founded belief that it is safe, meets specifications, passes appropriate tests, and does not diminish quality of life , diminish privacy or harm the environment” (Software Code, par.1).
The software engineer in this case cannot give the assurance that it is entirely safe and will not diminish the quality of life of the clients. The software-engineer is not yet knowledgeable about the extent of the problem and if there is indeed a bug that can create significant problems for hospital staff.
The same code also says that it is the duty of the software-engineer to disclose potential problems to the clients. He must tell them the problem and therefore it is not possible for them to release the product ahead of schedule. A through test is needed and the software-engineer must continue to maintain communication between the company and the clients. They must be updated as to the reason of the delay and to tell them the progress of the evaluation and testing. These things must not be hidden from clients.
If the software-engineer will decide to release the product then there is a possibility of failure. Since he did not inform the hospital management, staff, and health professionals regarding the potential problem in the said software then the moment a crisis will hit then the software-engineer will lose credibility. But there is more than that, the problem in the software may be significant then it is possible to endanger the lives of the patients.
If the software-engineer will come out into the open and explain the problems then this action will negatively affect the investors and the owners of the company. They will have problems when it comes to expected profit. They will realize that instead of making money they may have lost some.
It will be a terrible blow to the image of the company. However, if there is something seriously wrong with the software and they still decided to release it then they were not doing their jobs. This will result to litigation. Thus, it is better to lose face for a while and announce that there is a need to assess the integrity of the system.
ACM Code of Ethics and Professional Conduct . 28 Feb. 2011. Association for Computing Machinery. 2011.
Software Engineering Code of Ethics and Professional Practice . 28 Feb. 2011.
Association for Computing Machinery. 2024. About ACM .
- Use of Technology for GE
- Personal and Professional Development of Mechanical Engineer
- The Association for Computing Machinery Activities
- Healthcare Rationing During the COVID-19 Outbreak
- Launching a New Car: Project Presentation
- An Innovation of Solar Charged Laptops
- History and Development of X-Rays
- How a Magnetic Train Works
- Modeling, Prototyping and CASE Tools: The Inventions to Support the Computer Engineering
- Hydro Energy Advantages and Disadvantages
- Chicago (A-D)
- Chicago (N-B)
IvyPanda. (2019, February 20). Facing Ethical Issues as a Software Engineer. https://ivypanda.com/essays/ethics-case-study-the-case-of-the-software-engineer/
"Facing Ethical Issues as a Software Engineer." IvyPanda , 20 Feb. 2019, ivypanda.com/essays/ethics-case-study-the-case-of-the-software-engineer/.
IvyPanda . (2019) 'Facing Ethical Issues as a Software Engineer'. 20 February.
IvyPanda . 2019. "Facing Ethical Issues as a Software Engineer." February 20, 2019. https://ivypanda.com/essays/ethics-case-study-the-case-of-the-software-engineer/.
1. IvyPanda . "Facing Ethical Issues as a Software Engineer." February 20, 2019. https://ivypanda.com/essays/ethics-case-study-the-case-of-the-software-engineer/.
Bibliography
IvyPanda . "Facing Ethical Issues as a Software Engineer." February 20, 2019. https://ivypanda.com/essays/ethics-case-study-the-case-of-the-software-engineer/.
- To find inspiration for your paper and overcome writer’s block
- As a source of information (ensure proper referencing)
- As a template for you assignment
COMMENTS
The analyses in the following cases highlight the intended interpretations of members of the 2018 Code task force, and should help guide computing professionals in how to apply the Code to various situations.
Jul 25, 2022 · In ethics-aware software engineering, ethical considerations are explicitly taken into account across the software development life cycle and are an integral part of risk assessment and...
These cases studies are designed for educational purposes to illustrate how to apply the Code to analyze complex situations. All names, businesses, places, events, and incidents are fictitious and are not intended to refer to actual entities.
This paper illustrates how to use the Soft ware Engineering Code of Ethics and Professional Practice [1,2] in three case studies suitable for computer science instruction.
Our proposed model analyzes the discussed John Deere case using a portfolio of resources. The first resource is the ACM code of ethics. This code of ethics provides a set of guidelines for...
When a computer filled with personal data gets stolen, a data company must decide how to manage the breach in security. Employees of a computer hardware company are angered by a manager that demonstrates favoritism. A computer engineer is asked to divulge private medical data for marketing purposes.
Dec 1, 2004 · This paper illustrates how to use the Software Engineering Code of Ethics and Professional Practice [1,2] in three case studies suitable for computer science instruction. This code of ethics was approved by both the Association of Computing Machinery (ACM) and the IEEE Computer Society in 1998.
The Software Engineering Code of Ethics and Professional Practice has recently been approved. This article looks at the immediate and long-term implications: Why does a profession need a code of ethics?
Aug 15, 2024 · Software Code. In the Software Engineering Code of Ethics and Professional Practice it has been made clear that the software engineer must only approve if they have “well-founded belief that it is safe, meets specifications, passes appropriate tests, and does not diminish quality of life , diminish privacy or harm the environment” (Software ...
Software Engineering Code of Ethics and Professional Practice (Version 5.2) as recommended by the ACM/IEEE-CS Joint Task Force on Software Engineering Ethics and Professional Practices and jointly approved by the ACM and the IEEE-CS as the standard for teaching and practicing software engineering.