Professional Documents
Culture Documents
Society
Connection
CHANGES TO THE CODE
Computer Society and ACM Major revisions were made between
version 3.0—widely distributed through
Computer (Don Gotterbarn, Keith Miller,
84 Computer
This code may be republished without permission as long as it is not changed in any way and it carries the copyright notice.
October 1999 85
Computer Society Connection
ware engineering. The Code prescribes ing the nature of questionable acts; it also Principle 2: Client and employer
these as obligations of anyone claiming to has an important educational function. Software engineers shall act in a man-
be or aspiring to be a software engineer. As this Code expresses the consensus of ner that is in the best interests of their
It is not intended that the individual the profession on ethical issues, it is a client and employer, consistent with the
parts of the Code be used in isolation to means to educate both the public and public interest. In particular, software
justify errors of omission or commission. aspiring professionals about the ethical engineers shall, as appropriate:
The list of Principles and Clauses is not obligations of all software engineers.
exhaustive. The Clauses should not be 2.01. Provide service in their areas of
read as separating the acceptable from the PRINCIPLES competence, being honest and
unacceptable in professional conduct in forthright about any limitations
all practical situations. The Code is not a Principle 1: Public of their experience and education.
simple ethical algorithm that generates Software engineers shall act consis- 2.02. Not knowingly use software that
ethical decisions. In some situations, stan- tently with the public interest. In partic- is obtained or retained either ille-
dards may be in tension with each other or ular, software engineers shall, as appro- gally or unethically.
with standards from other sources. These priate: 2.03. Use the property of a client or
situations require the software engineer to employer only in ways properly
use ethical judgment to act in a manner 1.01. Accept full responsibility for their authorized, and with the client’s
that is most consistent with the spirit of own work. or employer’s knowledge and
the Code of Ethics and Professional 1.02. Moderate the interests of the soft- consent.
Practice, given the circumstances. ware engineer, the employer, the 2.04. Ensure that any document upon
Ethical tensions can best be addressed client, and the users with the pub- which they rely has been ap-
by thoughtful consideration of funda- lic good. proved, when required, by some-
mental principles, rather than blind 1.03. Approve software only if they one authorized to approve it.
reliance on detailed regulations. These have a well-founded belief that it 2.05. Keep private any confidential
Principles should influence software engi- is safe, meets specifications, passes information gained in their pro-
neers to consider broadly who is affected appropriate tests, and does not fessional work, where such con-
by their work; to examine if they and diminish quality of life, diminish fidentiality is consistent with the
their colleagues are treating other human privacy, or harm the environment. public interest and consistent
beings with due respect; to consider how The ultimate effect of the work with the law.
the public, if reasonably well informed, should be to the public good. 2.06. Identify, document, collect evi-
would view their decisions; to analyze 1.04. Disclose to appropriate persons or dence, and report to the client or
how the least empowered will be affected authorities any actual or potential the employer promptly if, in their
by their decisions; and to consider danger to the user, the public, or opinion, a project is likely to fail,
whether their acts would be judged wor- the environment, that they rea- to prove too expensive, to violate
thy of the ideal professional working as sonably believe to be associated intellectual property law, or oth-
a software engineer. In all these judgments with software or related docu- erwise to be problematic.
concern for the health, safety and welfare ments. 2.07. Identify, document, and report
of the public is primary; that is, the 1.05. Cooperate in efforts to address significant issues of social con-
“Public Interest” is central to this Code. matters of grave public concern cern, of which they are aware, in
The dynamic and demanding context caused by software, its installa- software or related documents, to
of software engineering requires a code tion, maintenance, support, or the employer or the client.
that is adaptable and relevant to new sit- documentation. 2.08. Accept no outside work detri-
uations as they occur. However, even in 1.06. Be fair and avoid deception in all mental to the work they perform
this generality, the Code provides sup- statements, particularly public for their primary employer.
port for software engineers and man- ones, concerning software or re- 2.09. Promote no interest adverse to
agers of software engineers who need to lated documents, methods, and their employer or client, unless a
take positive action in a specific case by tools. higher ethical concern is being
documenting the ethical stance of the 1.07. Consider issues of physical dis- compromised; in that case, in-
profession. The Code provides an ethical abilities, allocation of resources, form the employer or another
foundation to which individuals within economic disadvantage, and appropriate authority of the eth-
teams and the team as a whole can other factors that can diminish ical concern.
appeal. The Code helps to define those access to the benefits of software.
actions that are ethically improper to 1.08. Be encouraged to volunteer pro- Principle 3: Product
request of a software engineer or teams fessional skills to good causes and Software engineers shall ensure that
of software engineers. to contribute to public education their products and related modifications
The Code is not simply for adjudicat- concerning the discipline. meet the highest professional standards
86 Computer
possible. In particular, software engineers 3.12. Work to develop software and 5.01. Ensure good management for any
shall, as appropriate: related documents that respect project on which they work,
the privacy of those who will be including effective procedures for
3.01. Strive for high quality, acceptable affected by that software. promotion of quality and reduc-
cost, and a reasonable schedule, 3.13. Be careful to use only accurate tion of risk.
ensuring significant tradeoffs are data derived by ethical and law- 5.02. Ensure that software engineers
clear to and accepted by the ful means, and use it only in ways are informed of standards before
employer and the client, and are properly authorized. being held to them.
available for consideration by the 3.14. Maintain the integrity of data, 5.03. Ensure that software engineers
user and the public. being sensitive to outdated or know the employer’s policies and
3.02. Ensure proper and achievable flawed occurrences. procedures for protecting pass-
goals and objectives for any pro- 3.15. Treat all forms of software main- words, files, and information that
ject on which they work or pro- tenance with the same profes- is confidential to the employer or
pose. sionalism as new development. confidential to others.
3.03. Identify, define, and address ethi- 5.04. Assign work only after taking into
cal, economic, cultural, legal, and Principle 4: Judgment account appropriate contribu-
environmental issues related to Software engineers shall maintain tions of education and experience
work projects. integrity and independence in their pro- tempered with a desire to further
3.04. Ensure that they are qualified for fessional judgment. In particular, soft- that education and experience.
any project on which they work ware engineers shall, as appropriate: 5.05. Ensure realistic quantitative esti-
or propose to work, by an appro- mates of cost, scheduling, per-
priate combination of education, 4.01. Temper all technical judgments sonnel, quality, and outcomes on
training, and experience. by the need to support and main- any project on which they work
3.05. Ensure that an appropriate tain human values. or propose to work, and provide
method is used for any project on 4.02. Only endorse documents either an uncertainty assessment of
which they work or propose to prepared under their supervision these estimates.
work. or within their areas of compe- 5.06. Attract potential software engi-
3.06. Work to follow professional stan- tence and with which they are in neers only by full and accurate
dards, when available, that are agreement. description of the conditions of
most appropriate for the task at 4.03. Maintain professional objectivity employment.
hand, departing from these only with respect to any software or 5.07. Offer fair and just remuneration.
when ethically or technically jus- related documents they are asked 5.08. Not unjustly prevent someone
tified. to evaluate. from taking a position for which
3.07. Strive to fully understand the 4.04. Not engage in deceptive financial that person is suitably qualified.
specifications for software on practices such as bribery, double 5.09. Ensure that there is a fair agree-
which they work. billing, or other improper finan- ment concerning ownership of
3.08. Ensure that specifications for soft- cial practices. any software, processes, research,
ware on which they work have 4.05. Disclose to all concerned parties writing, or other intellectual
been well documented, satisfy the those conflicts of interest that can- property to which a software
user’s requirements, and have the not reasonably be avoided or engineer has contributed.
appropriate approvals. escaped. 5.10. Provide for due process in hear-
3.09. Ensure realistic quantitative esti- 4.06. Refuse to participate, as members ing charges of violation of an
mates of cost, scheduling, per- or advisors, in a private, govern- employer’s policy or of this Code.
sonnel, quality, and outcomes on mental, or professional body con- 5.11. Not ask a software engineer to do
any project on which they work cerned with software-related issues anything inconsistent with this
or propose to work and provide in which they, their employers, or Code.
an uncertainty assessment of their clients have undisclosed 5.12. Not punish anyone for express-
these estimates. potential conflicts of interest. ing ethical concerns about a pro-
3.10. Ensure adequate testing, debug- ject.
ging, and review of software and Principle 5: Management
related documents on which they Software engineering managers and Principle 6: Profession
work. leaders shall subscribe to and promote an Software engineers shall advance the
3.11. Ensure adequate documentation, ethical approach to the management of integrity and reputation of the profession
including significant problems dis- software development and maintenance. consistent with the public interest. In par-
covered and solutions adopted, for In particular, those managing or leading ticular, software engineers shall, as
any project on which they work. software engineers shall, as appropriate: appropriate:
October 1999 87
Computer Society Connection
6.01. Help develop an organizational Principle 7: Colleagues software at reasonable cost and
environment favorable to acting Software engineers shall be fair to and within a reasonable time.
ethically. supportive of their colleagues. In partic- 8.03. Improve their ability to produce
6.02. Promote public knowledge of ular, software engineers shall, as appro- accurate, informative, and well-
software engineering. priate: written documentation.
6.03. Extend software engineering 8.04. Improve their understanding of
knowledge by appropriate par- 7.01. Encourage colleagues to adhere the software and related docu-
ticipation in professional organi- to this Code. ments on which they work and of
zations, meetings, and publica- 7.02. Assist colleagues in professional the environment in which they
tions. development. will be used.
6.04. Support, as members of a profes- 7.03. Credit fully the work of others and 8.05. Improve their knowledge of rele-
sion, other software engineers refrain from taking undue credit. vant standards and the law gov-
striving to follow this Code. 7.04. Review the work of others in an erning the software and related
6.05. Not promote their own interest at objective, candid, and properly- documents on which they work.
the expense of the profession, documented way. 8.06. Improve their knowledge of this
client, or employer. 7.05. Give a fair hearing to the opin- Code, its interpretation, and its
6.06. Obey all laws governing their ions, concerns, or complaints of application to their work.
work, unless, in exceptional cir- a colleague. 8.07. Not give unfair treatment to any-
cumstances, such compliance is 7.06. Assist colleagues in being fully one because of any irrelevant
inconsistent with the public inter- aware of current standard work prejudices.
est. practices including policies and 8.08. Not influence others to undertake
6.07. Be accurate in stating the charac- procedures for protecting pass- any action that involves a breach
teristics of software on which words, files, and other confiden- of this Code.
they work, avoiding not only false tial information, and security 8.09. Recognize that personal viola-
claims but also claims that might measures in general. tions of this Code are inconsistent
reasonably be supposed to be 7.07. Not unfairly intervene in the with being a professional soft-
speculative, vacuous, deceptive, career of any colleague; however, ware engineer.
misleading, or doubtful. concern for the employer, the
6.08. Take responsibility for detecting, client, or public interest may com- Renew Your
correcting, and reporting errors pel software engineers, in good Membership Online
in software and associated docu- faith, to question the competence
ments on which they work. of a colleague.
6.09. Ensure that clients, employers, 7.08. In situations outside of their own Renewing your Computer Society
and supervisors know of the soft- areas of competence, call upon membership just got easier. As an
ware engineer’s commitment to the opinions of other profession- IEEE Computer Society member or
this Code of Ethics, and the sub- als who have competence in those an affiliate member, you can renew
sequent ramifications of such areas. your membership for 2000 on the
commitment. Web. Starting 1 October, members
6.10. Avoid associations with busi- Principle 8: Self can access a secure online application
nesses and organizations which Software engineers shall participate in form and submit renewal payments
are in conflict with this Code. lifelong learning regarding the practice via credit card. The service is open to
6.11. Recognize that violations of this of their profession and shall promote an anyone with an IEEE Web account,
Code are inconsistent with being ethical approach to the practice of the which full and affiliate members can
a professional software engineer. profession. In particular, software engi- create online with their member num-
6.12. Express concerns to the people neers shall continually endeavor to: bers. IEEE Web accounts also allow
involved when significant viola- access to members-only products and
tions of this Code are detected 8.01. Further their knowledge of services.
unless this is impossible, counter- developments in the analysis, To ensure a continuation of ser-
productive, or dangerous. specification, design, develop- vices, members in the US and
6.13. Report significant violations of ment, maintenance, and testing Canada must renew by the end of
this Code to appropriate author- of software and related docu- February. Members in other regions
ities when it is clear that consul- ments, together with the man- must renew by late April. For com-
tation with people involved in agement of the development plete instructions on renewing on-
these significant violations is process. line, visit http://ieee.orgmembership/
impossible, counterproductive, or 8.02. Improve their ability to create index.html.
dangerous. safe, reliable, and useful quality
88 Computer