Use Sophia to knock out your gen-ed requirements quickly and affordably. Learn more
×

Professional Code of Ethics

Author: Sophia

what's covered
Digital technologies have opened the possibility to many new capabilities that simplify and expedite processes that were, at one time, complex and time-consuming. However, these new capabilities have also called into question the ethical use of digital technologies. The Software Engineering Code of Ethics and Professional Practice provides principles that detail a commitment to the health, safety, and welfare of the public. In this tutorial, we will apply the Software Engineering Code of Ethics to a few case studies of situations in which ethical behavior may be unclear.

Our discussion will break down as follows:

Table of Contents

1. Software Engineering Code of Ethics and Professional Practice

The Association for Computing Machinery (ACM) has published a short and full version of the Software Engineering Code of Ethics. The short version summarizes the guiding principles, and the full version provides additional details and examples. The full version can be found on their website. Below is the short version of the Software Engineering Code of Ethics and Professional Practice.

Software engineers shall commit themselves to making the analysis, specification, design, development, testing, and maintenance of software a beneficial and respected profession. In accordance with their commitment to the health, safety, and welfare of the public, software engineers shall adhere to the following Eight Principles:

  1. PUBLIC - Software engineers shall act consistently with the public interest.
  2. CLIENT AND EMPLOYER - Software engineers shall act in a manner that is in the best interests of their client and employer, consistent with the public interest.
  3. PRODUCT - Software engineers shall ensure that their products and related modifications meet the highest professional standards possible.
  4. JUDGMENT - Software engineers shall maintain integrity and independence in their professional judgment.
  5. MANAGEMENT - Software engineering managers and leaders shall subscribe to, and promote, an ethical approach to the management of software development and maintenance.
  6. PROFESSION - Software engineers shall advance the integrity and reputation of the profession, consistent with the public interest.
  7. COLLEAGUES - Software engineers shall be fair to, and supportive of, their colleagues.
  8. SELF - Software engineers shall participate in lifelong learning regarding the practice of their profession, and shall promote an ethical approach to the practice of the profession.

2. Case Study: Jonathan, a Software Engineer

Jonathan Cameron is a software engineer working for LFB Software Company. He is currently working on a project, for the Whitestone County School System, that will provide students, teachers, and parents with a way to electronically receive access to a student's transcript upon request. Jonathan’s current role on the team is as a software tester. Early tests show that, while the software is functional, it does not take measures to fully authenticate users, and could result in private student data being given to the wrong people, or even criminals. Jonathan would like to develop a patch for the software, but the project is severely over budget. Further complicating the situation is the fact that the project is two months late. Jonathan feels that he can resolve the problem, but it will take another month of software design, development, and implementation. Jonathan has raised his concerns with his supervisor, and has been instructed to complete development on the patch to fix the problem; however, the patch will be released next year in the second version of the software. Jonathan is under a tremendous amount of pressure from the company to sign off on the software so that it can be released to the school system. His supervisor has even suggested that Jonathan’s employment with LFB Software company may be terminated. What should Jonathan do?

think about it
What principles in the Software Engineering Code of Ethics are relevant to Jonathan’s situation?

Relevant Clauses:
Principle 1. Public Software engineers shall act consistently with the public interest. In particular, software engineers shall as appropriate:

1.03. Approve software only if they have a well-founded belief that it is safe, meets Specifications, passes appropriate test, and does not diminish quality of life, diminish Privacy, or harm the environment. The ultimate effect of the work should be good to the Public.
1.04. Disclose to appropriate persons or authorities any actual or potential danger to the User, the public, or the environment, that they reasonably believe to be associated with Software or related documents.
Principle 5. Management. Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance. In particular, those managing or leading software engineers shall, as appropriate:
5.01. Ensure good management for any project on which they work, including effective Procedures for promotion or quality and reduction of risk.
5.11. Not ask a software engineer to do anything inconsistent with this code.


Applying the Code:
According to Principle 1, Section 1.03, of the Software Engineering Code of Ethics, a software engineer should only approve software that does not diminish privacy. Section 1.04 stipulates that the engineer should disclose potential dangers associated with the product being developed. In this case, Johnathan does comply with Section 1.04 of the code, as he did attempt to explain his concerns with his supervisor. Furthermore, the software, if released, would be in direct violation of Principle 1 Section 1.03 of this policy, as the software could possibly diminish the privacy of its users.

Principle 5 of the code addresses the behavior or management. Based on the code, Jonathan’s manager would be in violation based on Sections 5.01 and 5.11. Section 5.01 addresses the reduction of risk, while 5.11 stipulates that a manager not ask an engineer to do anything in violation of the code.

In this example, Jonathan finds himself in a tough situation. On one hand, he would like to act ethically as a software engineer, but faced with tight deadlines, the overall quality of the application could be diminished, and user privacy may be compromised. To further complicate things, it has been implied that Jonathan’s job could on the line if the software is not released on time. With this being the case, it would be advisable that Jonathan, as he rightly did, express his concerns to his manager regarding end users' privacy being compromised if the application is deployed. If Jonathan is still concerned about the software, he may even ask that a team meeting be called (or ask to put his concerns on an agenda for another already scheduled meeting) with all key development personnel in attendance, where he can then express his specific concern to the entire team, thereby ensuring that other team members understand the ethical ramifications of going forward with the software release. After initially listening to Jonathan’s concerns, his manager might want to commission a software test in which Jonathan’s concerns are documented and tested. If it turns out that his concerns are valid, then the manager should address this issue with his supervisor and the development team. If the manager has the authority to stop work on the project until the issue is resolved, then the manager should have development stopped. It would not be advisable for the manager to sign off on the software and wait until the second version to fix or patch the software.


3. Case Study: Chris, a Computer Engineering Professor

Chris Sellers is a computer engineering professor who sits on the board of directors for Sophia University. His role on the board of directors is to serve as the chair of the technology committee. It is his responsibility to evaluate the University’s technology needs and make recommendations based on the assessment of the board’s technology committee. Chris has been asked by the dean of the chemical engineering department to assist with evaluating process simulation software packages that will used by students, professors, and researchers at the University. The University provided Chris with software applications from several different companies. After carefully evaluating each application based on the University’s expressed needs, Chris recommended an application developed by Bison Software Firm (BSF). His recommendation included a report on the software, and why he felt the BSF application was best suited for the needs of the University’s chemical engineering department. Chris did not inform the University or the board of directors that he currently owns 35% of BSF’s stock, and that the purchase of a software application by the University will significantly increase the value of Chris’s stock. Assuming that Chris’s evaluation of the software packages was fair and balanced, were Chris’s actions in not informing the University or board of directors ethical?

think about it
What principles in the Software Engineering Code of Ethics are relevant to Chris’s situation?

Relevant Clauses:
Principle 4. Judgement. Software engineers shall maintain integrity and independence in their professional judgement. In particular, software engineers shall, as appropriate:

4.05. Disclose to all concerned parties those conflicts of interest that cannot reasonably be avoided or escaped.

Applying The Code
Section 4.05 speaks to judgement. In this case, Chris Sellers’s positions — as board chair and the chief evaluator of the software applications to be purchased, as well as owning a large share of a company whose software he is evaluating — are a direct conflict of interest. Chris should have disclosed his conflict of interest to the board of directors and the University immediately. He could have, thereby, recused himself or given the University an opportunity to decide whether or not to recuse him from the software evaluation and recommendation process. The issue here is not about whether or not Mr. Sellers was fair in the process of evaluating the software, but rather that the University has invested a high level of trust in Mr. Sellers. He did maintain integrity and independence, as his evaluation of the software was fair and unbiased. However, by not disclosing his interests and the inherent conflicts up front, Chris is breaking the University’s trust. If he disclosed his monetary interests in BSF, and the University still hired him to evaluate the software applications, he could have done so professionally. The code absolutely restricts Mr. Sellers from any conflict(s) of interest.

summary
In every industry, it is important for the businesses and organizations to maintain a clear code of ethics. The values contained within a business’s code of ethics are an extension of the organization, and can serve as a way to hold management and employees accountable to a business’s ultimate vision. A well-written code of ethics can ensure that a company is viewed positively by customers as well as employees. A well-written code of ethics also goes a long way in explaining to employees what is acceptable conduct versus inappropriate conduct.

Source: Software Engineering Code of Ethics and Professional Practice from http://www.acm.org/about/se-code. This Code may be published without permission as long as it is not changed in any way and it carries the copyright notice. Copyright (c) 1999 by the Association for Computing Machinery, Inc. and the Institute for Electrical and Electronics Engineers, Inc.