A Code for Coders

Software development survived for many years without a widely accepted code of ethics. In the late 1990s, a joint committee of the ACM and IEEE Computer Society began developing a code of ethics for software engineering. The Code underwent several drafts and was reviewed by practicing software developers worldwide. In 1998, the Software Engineering Code of Ethics and Professional Practice was adopted by both the ACM and IEEE Computer Society. The Code is reproduced in Figure 20-1. A more detailed version of the Code is also available and is accessible from the IEEE Computer Society Web site at www.computer.org.

Figure 20-1. The Software Engineering Code of Ethics and Professional Practice. This Code has been adopted by both the ACM and IEEE Computer Society and provides ethical and professional guidance for software engineers.

© 1998 SEEPP Executive Committee. Used by permission.

graphics/20fig01.jpg

The Code is based on two overriding goals stated in the preamble and eight specific principles enumerated in the Code's detailed paragraphs. The first overriding goal is that "Software engineers shall commit themselves to making the analysis, specification, design, development, testing, and maintenance of software a beneficial and respected profession." In other words, one function of the Code is to foster the development of the software engineering profession itself. This language implicitly acknowledges that software engineering is not yet a "beneficial and respected profession." Once the profession has become more mature, this language may be revised to say that software engineers will "maintain" or "enhance" the respected profession rather than "make" it.

The second overriding goal is that software engineers have a "commitment to the health, safety and welfare of the public." This is consistent with the idea that engineers more commonly have a duty to society than to specific individuals. Other engineering codes of ethics similarly emphasize the importance of protecting public welfare.[2]

These two goals are primary, and the eight specific principles should be interpreted as supporting these overarching goals. Here are some implications of the Code.

  1. Public. Software engineers shall accept full responsibility for their work and approve software only if they have a well-founded belief that it is safe, meets specifications, passes appropriate tests, and is ultimately for the public good. Software engineers shall disclose any actual or potential danger to specific persons, the public, or the environment.

  2. Client and Employer. Clients and employers are directly affected by software engineers' work, and so software engineers need to protect their clients' and employers' interests, except when their interests conflict with a greater public interest. Software engineers shall provide services only within their areas of expertise. They shall protect confidential information and not accept outside work or promote interests that are detrimental to their clients or employers. They shall not use software that was obtained illegally or unethically. If they think a project is likely to fail, they shall report the evidence that leads them to believe that to their employer or client.

  3. Product. In all their work, software engineers shall strive for high quality, acceptable costs, and reasonable schedules. They shall ensure that tradeoffs among these are clear to their employers and clients. They shall provide assessments of the uncertainties contained in their estimates. Software engineers shall follow relevant professional standards. They shall ensure that software has been adequately reviewed and tested before it is released to the public.

  4. Judgment. True professionals have both the right and the duty to exercise their professional judgment independently to adhere to a high professional standard even when it conflicts with their self-interest or their clients' or employers' interests. Software engineers shall endorse only products that they have adequately reviewed and objectively agree with. They shall not engage in illegal or dishonest activities such as bribery, double billing, or working for two parties that have conflicting interests without fully disclosing the conflict of interest.

  5. Management. Software engineering managers shall abide by the same professional standards as other software engineers, including the provisions of the Code of Ethics. Software engineering managers shall treat their employees fairly and honestly. They shall assign work to people qualified to perform the work, tempered with the goal of furthering each employee's education and experience. They shall ensure realistic quantitative estimates of cost, schedule, staffing, quality, and other outcomes of projects they work on.

  6. Profession. Software engineers shall help to advance software engineering as a profession. They shall promote public knowledge of software engineering. They shall create a work environment that supports the Code and refuse to work for organizations that are in conflict with the Code. They shall report significant violations of the Code to colleagues, managers, or other appropriate authorities.

  7. Colleagues. Software engineers shall help other software engineers follow the Code of Ethics. They shall treat each other fairly, and provide assistance in others' professional development. In situations that require expertise outside their areas of competence, they shall call upon the assistance of other professionals who have appropriate expertise.

  8. Self. Software engineers shall make self-education a career-long priority. They shall maintain current knowledge of developments in software requirements, design, construction, maintenance, testing, and management. They shall maintain current knowledge of standards and laws relevant to their work.



Professional Software Development(c) Shorter Schedules, Higher Quality Products, More Successful Projects, [... ]reers
Professional Software Development(c) Shorter Schedules, Higher Quality Products, More Successful Projects, [... ]reers
ISBN: N/A
EAN: N/A
Year: 2005
Pages: 164

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net