0% found this document useful (0 votes)
27 views30 pages

Software Engineering Ethics Overview

The Software Engineering Code of Ethics was established through a joint effort by the IEEE and ACM to promote ethical standards in software engineering practices. It consists of eight key principles focusing on product quality, public interest, professional judgment, and responsibilities towards clients, employers, colleagues, and self-improvement. The code aims to guide software engineers in maintaining integrity and professionalism while addressing ethical dilemmas in their work.

Uploaded by

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

Software Engineering Ethics Overview

The Software Engineering Code of Ethics was established through a joint effort by the IEEE and ACM to promote ethical standards in software engineering practices. It consists of eight key principles focusing on product quality, public interest, professional judgment, and responsibilities towards clients, employers, colleagues, and self-improvement. The code aims to guide software engineers in maintaining integrity and professionalism while addressing ethical dilemmas in their work.

Uploaded by

mujrim36102
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd

Software Engineering

Code
of Ethics
The need...
History

• IEEE Board of Governors established steering


committee (May, 1993).

• ACM Council endorsed Commission on Software


Engineering (Late 1993).

• Joint steering committee established by both


societies (January, 1994).
Joint Commission Steering
Committee
• 3 initial task forces:

• Software engineering body of knowledge and


recommended practices.

• Software engineering ethics and professional practices.

• Software engineering curriculum.


Joint Commission Steering
•Committee
4 goals:
• Adopt standard definitions.

• Define required body of knowledge and recommended


practices.

• Define ethical standards.

• Define educational curricula for undergraduate,


graduate (Masters), and continuing education (for
retraining and migration).
Brief History Timeline
• January 1994 - International Task Force formed the
Software Engineering Ethics and Professional Practice
(SEEPP).
• July 1997 - Initial version shown to professional
societies including ACM’s SIGSOFT.
• November 1997 - Version 3 published in IEEE-CS and
ACM magazines.
• Version 4 presented to IEEE review process.
• October 1998 - Version 5.2 unanimously adopted by
ACM and IEEE.
8 Key Principles:
• Product
• Public
• Judgement
• Client and Employer
• Management
• Profession
• Colleagues
• Self
The Published Proposal

• “Software Engineering Code of Ethics”

by Gotterbarn, Miller, and Rogerson


(November 1997/Vol. 40, No. 11,
Communication of the ACM)
Feedback

• Numerous commentaries
• Consensus discussions
• ACM and IEEE surveys
• Further review and modification
Code of Ethics Feedback Form

• Sent to all software engineers with -


concentrated on ACM or IEEE members.
• All 8 principle areas surveyed.
• Response options range:

Strongly Favor  Favor  Uncertain  Oppose  Strongly Oppose


Principle 1: Products
• 1.01 Ensure adequate software specification
• 1.02 Understand specifications fully
• 1.03 Ensure you are suitably qualified
• 1.04 Ensure all goals are achievable
• 1.05 Ensure proper methodology use
• 1.06 Ensure good project management
• 1.07 Ensure all estimates are realistic
• 1.08 Ensure adequate documentation
• 1.09 Ensure adequate testing and debugging
• 1.10 Promote privacy of individuals
• 1.11 Use data legitimately
• 1.12 Delete outdated and flawed data
• 1.13 Identify and address contentious issues
• 1.14 Promote maximum quality and minimum cost
• 1.15 Follow appropriate industry standards
Principle 2: Public
• 2.01 Disclose any software-related dangers
• 2.02 Approve only safe, well tested software
• 2.03 Only sign documents in area of competence
• 2.04 Cooperate on matters of public concern
• 2.05 Produce software that respects diversity
• 2.06 Be fair and truthful in all matters
• 2.07 Always put the public’s interests first
• 2.08 Donate professional skills to good causes
• 2.10 Accept responsibility for your own work
Principle 3: Judgement

• 3.01 Maintain professional objectivity


• 3.02 Only sign documents within your responsibility
• 3.03 Reject bribery
• 3.04 Do not accept secret payments from the client
• 3.05 Accept payment from only one source for a job
• 3.06 Disclose conflicts of interest
• 3.07 Avoid conflicting financial interests
• 3.08 Temper technology judgments with ethics
Principle 4: Client and Employer
• 4.01 Provide services only where competent
• 4.02 Ensure resources are authentically approved
• 4.03 Only use property as authorized by the owner
• 4.04 Do not use illegally obtained software
• 4.05 Honor confidentiality of information
• 4.06 Raise matters of social concern
• 4.07 Inform when a project becomes problematic
• 4.08 Accept no detrimental outside work
• 4.09 Represent no interests adverse to your employer
Principle 5: Management
• 5.01 Assure standards are known by employees
• 5.02 Assure knowledge of confidentiality protocols
• 5.03 Assign work according to competence
• 5.04 Provide due process for code violations
• 5.05 Develop fair ownership agreements
• 5.06 Accurately describe conditions of employment
• 5.07 Offer only fair and just remuneration
• 5.08 Do not prevent a subordinate’s promotion
• 5.09 Do not ask a person to breach this code
Principle 6: Profession
• 6.01 Associate with reputable people
• 6.02 Promote commitment of this code
• 6.03 Support followers of this code
• 6.04 Help develop an ethical environment
• 6.05 Report suspected violations of this code
• 6.06 Take responsibility for errors
• 6.07 Only accept appropriate remuneration
• 6.08 Be accurate and honest regarding software
• 6.09 Place professional interests before personal
• 6.10 Obey all laws governing your work
• 6.11 Exercise professional responsibility
• 6.12 Promote public knowledge of the subject
• 6.13 Share software knowledge with the profession
Principle 7: Colleagues
• 7.01 Assist colleagues in professional development
• 7.02 Review other’s work only with their consent
• 7.03 Credit fully the work of others
• 7.04 Review others work candidly
• 7.05 Give fair hearing to colleagues
• 7.06 Assist colleagues’ awareness of work practices
• 7.08 Do not hinder a colleague’s career
• 7.09 Do not pursue a job offered to a colleague
• 7.10 Seek help with work outside your competence
Principle 8: Self
• 8.01 Further your own professional knowledge
• 8.02 Improve your ability to produce quality work
• 8.03 Improve your ability to document work
• 8.04 Improve your understanding of work details
• 8.05 Improve your knowledge of relevant legislation
• 8.06 Improve your knowledge of this code
• 8.07 Do not force anyone to violate this code
• 8.08 Consider code violations inconsistent with
software engineering
Short version
• 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.
Short version
• 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.
Examples

• Brief example of specific points


• Not comprehensive
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.
Client & Employer
2.09. Promote no interest
adverse to their employer or
client, unless a higher ethical
concern is being compromised;
in that case, inform the employer
or another appropriate authority
of the ethical concern.
Management
5.01 Ensure good management for
any project on which they work,
including effective procedures for
promotion of quality and reduction
of risk.
Profession

6.07. Be accurate in stating the characteristics of software on


which they work, avoiding not only false claims but also claims
that might reasonably be speculative, vacuous, deceptive,
misleading, or doubtful.
Colleagues

7.02. Assist colleagues in professional development.


Self
8.01. Further their knowledge of
developments in the analysis,
specification, design, development,
maintenance, and testing of
software and related documents,
together with the management of
the development process.
More on Management

• Software engineers need to know the standards


which they are held to
• Know policy for protecting confidential information
• Assign work after considering each individual’s skills
• Principle of team balance*
• Provide realistic quantitative estimates
• Function points & SLOC*
• Well defined cost models such as COCOMO*
Even more on management

• Fair compensation
• Don’t prevent someone’s promotion if he/she is qualified
• Good programmers don’t always make good managers*
• Let the person progress if he shows the aptitude
• Don’t punish someone for expressing ethical concerns
Missing from the Code

• Who to report violations to?


• Where to get advise and support in a confrontation with employer?
• Consequences of violating the code?
• Client and Employer – what do you do if their interests conflict?
• Provisions for updating the Code

You might also like