0% found this document useful (0 votes)
22 views

Chapter 8

The document discusses the Software Engineering Code of Ethics which outlines eight principles for ethical conduct: public interest, client/employer interests, product quality, professional judgment, project management, advancing the profession, fairness to colleagues, and self-improvement. It analyzes each principle in detail.

Uploaded by

a95912544
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views

Chapter 8

The document discusses the Software Engineering Code of Ethics which outlines eight principles for ethical conduct: public interest, client/employer interests, product quality, professional judgment, project management, advancing the profession, fairness to colleagues, and self-improvement. It analyzes each principle in detail.

Uploaded by

a95912544
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

Chapter 8

Professional Ethics

1-1
Chapter Overview

• Introduction
• How well developed are the computing
professions?
• Software engineering code of ethics
• Analysis of the code
• Case studies

1-2
1-2
1 Introduction

• Informally, profession a vocation requiring…


– High level of education
– Practical experience
• We pay professionals well
– Doctors
– Lawyers
• We trust professionals to…
– Correctly ascertain and treat problems
– Take actions for the good of their clients

1-3
1-3
2 How Well Developed Are the
Computing Professions?

1-4
1-4
Characteristics of a Profession

• Initial professional education


• Accreditation
• Skills development
• Certification
• Licensing
• Professional development
• Code of ethics
• Professional society

1-5
1-5
Attributes of a Mature Profession

1-6
1-6
Computer-Related Careers

• Certification and licensing not required


• College degree not required
• Apprenticeship not required
• Membership in professional society optional
• No specific requirements for continuing
education
• Most computer programmers, system
analysts, etc. are part of teams

1-7
1-7
Status of Certification and Licensing

• Two largest organizations supporting computing field


– Association for Computing Machinery (ACM)
– IEEE Computer Society (IEEE-CS)
• Software engineer: someone engaged in development or
maintenance of software, or teaches in this area
• ACM opposed to licensing of software engineers at this
time
– Move thought to be premature
– Wouldn’t be effective at improving quality and reliability of
software

1-8
1-8
Ability to Harm Public

• Many computer professionals hold


responsibilities similar to those held by members
of mature professions
• Therac-25 killed or gravely injured at least six
people
• Millions rely upon software rather than
accountants to prepare their tax returns
• Millions of people rely on system administrators
to keep their work-related information secure
1-9
1-9
The Importance of Taking Personal
Responsibility
The ability to cause harm to members of the
public is a powerful reason why those in
computer-related careers must act
according to ethical principles. Without
formal certification and licensing and other
components of a well-developed profession
to rely upon, those in computer-related
careers must take more personal
responsibility for developing their ethical
decision-making skills.
1-10
1-10
3 Software Engineering Code of
Ethics

1-11
1-11
Preamble of Code

• Software engineers have opportunities to do


good or do harm
• Software engineers ought to be committed to
doing good
• Eight principles identify key ethical
relationships and obligations within these
relationship
• Code should be seen as a whole, not a
collection of parts
• Concern for the public interest is paramount
1-12
1-12
Eight Principles Identify Morally
Responsible Relationships
• Public
• Client and employer
• Product
• Judgment
• Management
• Profession
• Colleagues
• Self

1-13
1-13
Act Consistently with Public Interest

1.01 “Accept full responsibility for own work”


1.02 Balance competing interests
1.03 Approve software only if it is safe
1.04 Disclose actual/potential dangers
1.05 “Cooperate in efforts to address” public concerns
1.06 “Be fair and avoid deception in all statements”
1.07 Consider factors that diminish access to software
1.08 “Volunteer professional skills to good causes”

1-14
1-14
Act in Best Interest of Client,
Employer
2.01 Act within areas of competence
2.02 Don’t use software obtained illegally
2.03 Only use property in authorized ways
2.04 Ensure documents are approved
2.05 Respect confidentiality
2.06 Promptly report problems with project
2.07 Report issues of social concern
2.08 Refuse outside work detrimental to job
2.09 Put employer’s/client’s interests first, unless overriding
moral concern
1-15
1-15
Ensure Products Meet Highest
Standards
3.01 Aim for “high quality, acceptable cost and a reasonable
schedule,” making trade-offs clear
3.02 “Ensure proper and achievable goals”
3.03 Face up to “ethical, economic, cultural, legal and
environmental” issues
3.04 Ensure you are qualified for proposed work
3.05 Use appropriate project methodologies
3.06 Follow the most appropriate professional standards
3.07 “Strive to fully understand the specifications”
3.08 Ensure the specifications are correct and approved
1-16
1-16
Ensure Products Meet Highest
Standards
3.09 “Ensure realistic quantitative estimates of cost,
scheduling, personnel, quality and outcomes”
3.10 “Ensure adequate testing, debugging, and review of
software and related documents”
3.11 “Ensure adequate documentation”
3.12 Develop software and documents that respect privacy
of those affected by software
3.13 Use only accurate data appropriately acquired
3.14 Maintain data integrity
3.15 Use same standards for software maintenance as
software development
1-17
1-17
Maintain Integrity in Professional
Judgment
4.01 “Temper all technical judgments by the need to support
and maintain human values”
4.02 Understand and agree with documents before
endorsing them
4.03 Remain objective when evaluating software or related
documents
4.04 Do not engage in deceptive financial practices
4.05 Disclose conflicts of interest
4.06 Do not participate in decisions in which you, your
employer, or your client has a potential conflict of interest

1-18
1-18
Promote Effective Project
Management
5.01 Ensure good project management procedures
5.02 Ensure software engineers know standards
5.03 Ensure software engineers know policies and
procedures for protecting confidential information
5.04 Take employees’ abilities into account before
assigning work
5.05 Ensure reasonable estimates are made
5.06 Give full and accurate information to potential
employees

1-19
1-19
Promote Effective Project
Management
5.07 Pay employees fairly
5.08 Do not unjustly prevent a qualified person from taking
a job
5.09 Work out fair intellectual property agreements
5.10 Provide employees charged with misconduct due
process
5.11 Do not ask someone to do anything violating the Code
5.12 “Do not punish anyone for expressing ethical concerns
about a project”

1-20
1-20
Advance the Profession
6.01 Help create an environment supporting ethical conduct
6.02 “Promote public knowledge of software engineering”
6.03 Participate in professional activities
6.04 Support others who are trying to follow this Code
6.05 Do not promote self-interest at expense of profession,
client, or employer
6.06 Obey all laws unless there is an overriding public
interest
6.07 Do not deceive others regarding the characteristics of
software

1-21
1-21
Advance the Profession
6.08 Take responsibility for finding, correcting, and reporting
errors in software and documentation
6.09 Ensure others know you are committed to the Code
and what that means
6.10 Do not associate with businesses and organizations
that are in conflict with Code
6.11 Understand violating the Code is inconsistent with
being a professional
6.12 Share concerns about Code violations with the people
involved
6.13 “Blow the whistle” when no alternative to reporting
significant Code violations
1-22
1-22
Be Fair to and Supportive of
Colleagues
7.01 “Encourage colleagues to adhere to this Code”
7.02 “Assist colleagues in professional development”
7.03 Give others the credit they deserve
7.04 Be objective when reviewing the work of others
7.05 Give colleagues a fair hearing
7.06 Help colleagues remain aware of work practices
7.07 Do not unfairly interfere with another’s career, but
protect the public interest
7.08 Bring in experts for situations outside your own area of
competence.
1-23
1-23
Participate in Lifelong Learning
8.01 Stay current with developments in field
8.02 Improve ability to create high quality software
8.03 Improve ability to produce high quality documentation
8.04 Improve understanding of software and documentation
used in work
8.05 Improve knowledge of relevant standards
8.06 Improve knowledge of this Code and its application
8.07 Do not treat others unfairly because of prejudices
8.08 Do not influence others to break the Code
8.09 “Recognize that personal violations of this Code are
inconsistent with being a professional software engineer”
1-24
1-24
4 Analysis of the Code

1-25
1-25
Analysis of Preamble

• No mechanical process for determining if an


action is right or wrong
• Should not take an overly legalistic view of the
Code
– If Code doesn’t forbid something, that doesn’t mean it
is morally acceptable
– Judgment required
• Code reflects principles drawn from multiple
ethical theories

1-26
1-26
Alternative, Discipline-Independent
List of Fundamental Principles
• Be impartial.
• Disclose information that others ought to know.
• Respect the rights of others.
• Treat others justly.
• Take responsibility for your actions and inactions.
• Take responsibility for the actions of those you supervise.
• Maintain your integrity.
• Continually improve your abilities.
• Share your knowledge, expertise, and values.
1-27
1-27
5 Case Studies

1-28
1-28
Case: Software Recommendation

• Sam Shaw asks for free advice on LAN security


• Prof. Smith answers questions and recommends
top-ranked package
• Prof. Smith does not disclose
– She has financial interest in company producing top-
ranked package
– Another package was given a “best buy” rating
• Did Prof. Smith do anything wrong?

1-29
1-29
Analysis

• Most relevant principles


– Be impartial.
– Disclose information others ought to know.
– Share your knowledge, expertise, and values.
• Clause 1.06: Prof. Smith was deceptive
• Clauses 1.08, 6.02: Prof. Smith freely gave
valuable information
• Clauses 4.05, 6.05: Prof. Smith did not reveal
conflict of interest

1-30
1-30
Conclusion

• Professor Smith should have revealed her


conflict of interest to Mr. Shaw.

1-31
1-31
Case: Anti-Worm

• Internet plagued by new worm that exploits hole in


popular operating system
• Tim Smart creates anti-worm that exploits same
security hole
• Tim’s anti-worm fixes PCs it infects. It also uses
these PCs as launch pad to reach new PCs.
• Tim launches anti-worm, taking pains to keep it from
being traced back to him.
• The anti-worm quickly spreads through Internet,
infecting millions of computers
• System administrators around the world combat the
anti-worm
1-32
1-32
Analysis (1/2)

• Most relevant principles


– Continually improve your abilities.
– Share your knowledge, expertise, and values.
– Respect the rights of others.
– Take responsibility for your actions and
inactions.

1-33
1-33
Analysis (2/2)

• Most relevant clauses:


– 1.01: Tim did not accept responsibility for his
action.
– 1.08: The worm was free, but cost system
administrators a lot of time.
– 2.03: The anti-worm entered computers
without permission of their owners.
– 8.01, 8.02, 8.06: Tim improved his knowledge
and skills by creating the anti-worm.

1-34
1-34
Conclusions

• Tim’s welfare is less important than the public


good
• By attempting to hide his identity, Tim refused to
accept responsibility for his actions
• Tim violated the property rights of the PC owners
whose systems were infected by his anti-worm
• Tim violated the Code

1-35
1-35

You might also like