SlideShare a Scribd company logo
1 of 37
JOHN EVELAND
JOHN HOFFSTATTER
SOFTWARE ENGINEERING CODE
OF ETHICS
Inam Ul Haq
inam@ue.edu.pk
BSIT-UE Okara
Lecture 7
Special Thanks to Authors
1
OVERVIEW
• Why need for code?
• History of development
• Initial draft(s) development
• 8 Fundamental Principles
• Ratified code approved
• 8 Fundamental Principles Revisited
• Preamble
• Examples
• Focus on #
5 Management
• Missing points
2
THE NEED...
3
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).
4
JOINT COMMISSION STEERING
COMMITTEE
• 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).
5
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.
6
RESEARCH
• Review of available computing and
engineering codes:
• The American Association of Engineering Societies
• Accreditation Board for Engineering Technology
• ACM’s Code of Ethics for Professional Conduct
• The British Computer Society Code of Practice
• Institute for the Certification of Computing Professionals
• Engineer’s Council for Professional Development
• The IEEE Code of Ethics
• National Society of Professional Engineers Code of Ethics
• Project Management Institute Code of Ethics
7
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
8 KEY PRINCIPLES:
• Product
• Public
• Judgement
• Client and Employer
• Management
• Profession
• Colleagues
• Self
9
THE PUBLISHED PROPOSAL
• “Software Engineering Code of Ethics”
by Gotterbarn, Miller, and Rogerson
(November 1997/Vol. 40, No. 11,
Communication of the ACM)
10
FEEDBACK
• Numerous commentaries
• Consensus discussions
• ACM and IEEE surveys
• Further review and modification
11
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
12
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 13
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
14
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
15
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
16
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
17
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 18
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
19
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
20
THE CODE ADOPTION PUBLISHED
• “Software Engineering Code of Ethics is
Approved”
by Gotterbarn, Miller, and Rogerson
(October 1999/Vol. 42, No. 10,
Communication of the ACM)
21
MAJOR CHANGES BETWEEN V3 AND
V5.2
• The 8 principles reordered to show precedence
• Short version added
• Preamble significantly altered
• Defines software engineers
• Removed reference to 3 levels of obligation
• Stronger focus on standards to help the professional make
ethical decisions
22
PREAMBLE
• “Software engineers are those who contribute
by direct participation or by teaching, to the
analysis, specification, design, development,
certification, maintenance, and testing of
software systems.”
• Prevalence of software in society provide
significant opportunities to do good or cause
harm.
• Ensure that efforts are used to do good.
• Not intended to be applied piecemeal.
23
PREAMBLE - CONTINUED
• Not to be used to justify errors of omission or
commission.
• Not a simple algorithm to produce ethical decisions.
• Software engineer must use judgment after
thoughtful consideration of the 8 fundamental
principles.
• Always use the public interest as the highest and
governing principle.
24
SHORT VERSION, 1 OF 2
• 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.
25
SHORT VERSION, 2 OF 2
• 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.
26
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.
27
MANAGEMENT
5.01 Ensure good
management for any project
on which they work, including
effective procedures for
promotion of quality and
reduction of risk.
28
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. 29
COLLEAGUES
7.02. Assist colleagues in professional
development.
30
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.
31
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*
32
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
33
MISSING FROM THE CODE
• Where to get help in a dilemma?
• 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
34
SUMMARY
• Why need for code?
• History of development
• Initial draft(s) development
• 8 Fundamental Principles
• Ratified code approved
• 8 Fundamental Principles Revisited
• Preamble
• Examples
• Focus on #
5 Management
• Missing points
35
HELPFUL SITES:
• ACM Professional Code of Conduct
http://www.acm.org/constitution/code.html
• ACM Software Engineering Code of Ethics
http:/www.computer.org/tab/seprof/code.htm
• ACM Public Policy Statements
http://www.acm.org/usacm
36
REFERENCES
Gotterbarn, D., Miller, K., Rogerson, S., “Software Engineering
Code of Ethics”, Communications of the ACM 40, 11 (Nov. 1997),
pp. 110-118.
Gotterbarn, D., Miller, K., Rogerson, S., “Software Engineering
Code of Ethics is Approved”, Communications of the ACM 42, 11
(Oct. 1999), pp. 102-107.
Gottenbar, D. “A Positive Step Toward a Profession: The Software
Engineering Code of Ethics and Professional Practice”, AMC
SIGSOFT Software Engineering Notes 24, 1 (Jan. 1999), pp. 9-14
37

More Related Content

What's hot

Dictionary project report.docx
Dictionary project report.docxDictionary project report.docx
Dictionary project report.docxkishoreadhikari2
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specificationAman Adhikari
 
Software Engineering Ethics
Software Engineering EthicsSoftware Engineering Ethics
Software Engineering EthicsKapil Rajpurohit
 
Professional ethics in_computing
Professional ethics in_computingProfessional ethics in_computing
Professional ethics in_computingUc Man
 
Ethics and computing profession
Ethics and computing professionEthics and computing profession
Ethics and computing professionshahmansoor109
 
Ieee code of ethics
Ieee code of ethicsIeee code of ethics
Ieee code of ethicsWaqar Ahmad
 
05 professional practice
05 professional practice05 professional practice
05 professional practiceSulman Ahmed
 
Software reuse ppt.
Software reuse ppt.Software reuse ppt.
Software reuse ppt.Sumit Biswas
 
Web Engineering - Web Applications versus Conventional Software
Web Engineering - Web Applications versus Conventional SoftwareWeb Engineering - Web Applications versus Conventional Software
Web Engineering - Web Applications versus Conventional SoftwareNosheen Qamar
 
Minor project Report for "Quiz Application"
Minor project Report for "Quiz Application"Minor project Report for "Quiz Application"
Minor project Report for "Quiz Application"Harsh Verma
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGSaqib Raza
 
Computer misuse and criminal law
Computer misuse and criminal lawComputer misuse and criminal law
Computer misuse and criminal lawZaheer Irshad
 
Software engineering-codes-of-ethics (1)
Software engineering-codes-of-ethics (1)Software engineering-codes-of-ethics (1)
Software engineering-codes-of-ethics (1)Rana Muhammad Asif
 
SE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design PatternsSE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design PatternsAmr E. Mohamed
 
Requirements analysis and modeling
Requirements analysis and modelingRequirements analysis and modeling
Requirements analysis and modelingSyed Zaid Irshad
 
Software Engineering Diversity
Software Engineering DiversitySoftware Engineering Diversity
Software Engineering DiversitySayedMokarrom
 
Software Engineering Assignment
Software Engineering AssignmentSoftware Engineering Assignment
Software Engineering AssignmentSohaib Latif
 

What's hot (20)

Dictionary project report.docx
Dictionary project report.docxDictionary project report.docx
Dictionary project report.docx
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
Software Engineering Ethics
Software Engineering EthicsSoftware Engineering Ethics
Software Engineering Ethics
 
Professional ethics in_computing
Professional ethics in_computingProfessional ethics in_computing
Professional ethics in_computing
 
Ethics and computing profession
Ethics and computing professionEthics and computing profession
Ethics and computing profession
 
Ieee code of ethics
Ieee code of ethicsIeee code of ethics
Ieee code of ethics
 
05 professional practice
05 professional practice05 professional practice
05 professional practice
 
Software reuse ppt.
Software reuse ppt.Software reuse ppt.
Software reuse ppt.
 
Web Engineering - Web Applications versus Conventional Software
Web Engineering - Web Applications versus Conventional SoftwareWeb Engineering - Web Applications versus Conventional Software
Web Engineering - Web Applications versus Conventional Software
 
Minor project Report for "Quiz Application"
Minor project Report for "Quiz Application"Minor project Report for "Quiz Application"
Minor project Report for "Quiz Application"
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 
Computer misuse and criminal law
Computer misuse and criminal lawComputer misuse and criminal law
Computer misuse and criminal law
 
Software engineering-codes-of-ethics (1)
Software engineering-codes-of-ethics (1)Software engineering-codes-of-ethics (1)
Software engineering-codes-of-ethics (1)
 
Assignment 1
Assignment 1Assignment 1
Assignment 1
 
SE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design PatternsSE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design Patterns
 
Software Reuse
Software ReuseSoftware Reuse
Software Reuse
 
Requirements analysis and modeling
Requirements analysis and modelingRequirements analysis and modeling
Requirements analysis and modeling
 
Unit 2
Unit 2Unit 2
Unit 2
 
Software Engineering Diversity
Software Engineering DiversitySoftware Engineering Diversity
Software Engineering Diversity
 
Software Engineering Assignment
Software Engineering AssignmentSoftware Engineering Assignment
Software Engineering Assignment
 

Similar to software engineering ethics

The Software Engineering Code and the ACM Code
The Software Engineering Code and the ACM CodeThe Software Engineering Code and the ACM Code
The Software Engineering Code and the ACM CodeAhmed Elshal
 
software-engineering-code-of-ethics-and-professional-practice_compress.pdf
software-engineering-code-of-ethics-and-professional-practice_compress.pdfsoftware-engineering-code-of-ethics-and-professional-practice_compress.pdf
software-engineering-code-of-ethics-and-professional-practice_compress.pdfJenniferPido
 
Improve Product Design with High Quality Requirements
Improve Product Design with High Quality RequirementsImprove Product Design with High Quality Requirements
Improve Product Design with High Quality RequirementsElizabeth Steiner
 
Software Testing Basics
Software Testing BasicsSoftware Testing Basics
Software Testing BasicsBelal Raslan
 
Seng 123 2-engineering-swe-ethics
Seng 123 2-engineering-swe-ethicsSeng 123 2-engineering-swe-ethics
Seng 123 2-engineering-swe-ethicsAtilla Elçi
 
Topic 6 professional ethics
Topic 6 professional ethicsTopic 6 professional ethics
Topic 6 professional ethicsHamid Zainudin
 
01- Lecture -Introduction to IT Agile Development.
01- Lecture -Introduction to IT Agile Development.01- Lecture -Introduction to IT Agile Development.
01- Lecture -Introduction to IT Agile Development.mailtoahmedhassan
 
Unit2 Software engineering UPTU
Unit2 Software engineering UPTUUnit2 Software engineering UPTU
Unit2 Software engineering UPTUMohammad Faizan
 
2 approaches to system development
2 approaches to system development2 approaches to system development
2 approaches to system developmentcymark09
 
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptxUNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptxLeahRachael
 
Test What Matters Most
Test What Matters MostTest What Matters Most
Test What Matters MostRemedy IT
 
req engg (1).ppt
req engg (1).pptreq engg (1).ppt
req engg (1).pptWaniHBisen
 
Sdlc (software development life cycle)
Sdlc (software development life cycle)Sdlc (software development life cycle)
Sdlc (software development life cycle)Nadeesha Thilakarathne
 
Agile methodology in cloud computing
Agile methodology in cloud computingAgile methodology in cloud computing
Agile methodology in cloud computingAhmed M. Abed
 
13. PP -II IEEE CS ACM Code of Ethics-1.pptx
13. PP -II IEEE CS ACM Code of Ethics-1.pptx13. PP -II IEEE CS ACM Code of Ethics-1.pptx
13. PP -II IEEE CS ACM Code of Ethics-1.pptxmuhammad562811
 

Similar to software engineering ethics (20)

The Software Engineering Code and the ACM Code
The Software Engineering Code and the ACM CodeThe Software Engineering Code and the ACM Code
The Software Engineering Code and the ACM Code
 
software-engineering-code-of-ethics-and-professional-practice_compress.pdf
software-engineering-code-of-ethics-and-professional-practice_compress.pdfsoftware-engineering-code-of-ethics-and-professional-practice_compress.pdf
software-engineering-code-of-ethics-and-professional-practice_compress.pdf
 
Improve Product Design with High Quality Requirements
Improve Product Design with High Quality RequirementsImprove Product Design with High Quality Requirements
Improve Product Design with High Quality Requirements
 
Software Testing Basics
Software Testing BasicsSoftware Testing Basics
Software Testing Basics
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
Seng 123 2-engineering-swe-ethics
Seng 123 2-engineering-swe-ethicsSeng 123 2-engineering-swe-ethics
Seng 123 2-engineering-swe-ethics
 
Topic 6 professional ethics
Topic 6 professional ethicsTopic 6 professional ethics
Topic 6 professional ethics
 
01- Lecture -Introduction to IT Agile Development.
01- Lecture -Introduction to IT Agile Development.01- Lecture -Introduction to IT Agile Development.
01- Lecture -Introduction to IT Agile Development.
 
Unit2 Software engineering UPTU
Unit2 Software engineering UPTUUnit2 Software engineering UPTU
Unit2 Software engineering UPTU
 
2 approaches to system development
2 approaches to system development2 approaches to system development
2 approaches to system development
 
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptxUNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
 
ODD + Project Control 0.9
ODD + Project Control 0.9ODD + Project Control 0.9
ODD + Project Control 0.9
 
ICIECA 2014 Paper 06
ICIECA 2014 Paper 06ICIECA 2014 Paper 06
ICIECA 2014 Paper 06
 
Ch01.ppt
Ch01.pptCh01.ppt
Ch01.ppt
 
Test What Matters Most
Test What Matters MostTest What Matters Most
Test What Matters Most
 
SOFTWARE ENGINEERING
SOFTWARE ENGINEERINGSOFTWARE ENGINEERING
SOFTWARE ENGINEERING
 
req engg (1).ppt
req engg (1).pptreq engg (1).ppt
req engg (1).ppt
 
Sdlc (software development life cycle)
Sdlc (software development life cycle)Sdlc (software development life cycle)
Sdlc (software development life cycle)
 
Agile methodology in cloud computing
Agile methodology in cloud computingAgile methodology in cloud computing
Agile methodology in cloud computing
 
13. PP -II IEEE CS ACM Code of Ethics-1.pptx
13. PP -II IEEE CS ACM Code of Ethics-1.pptx13. PP -II IEEE CS ACM Code of Ethics-1.pptx
13. PP -II IEEE CS ACM Code of Ethics-1.pptx
 

More from university of education,Lahore

More from university of education,Lahore (20)

Activites and Time Planning
 Activites and Time Planning Activites and Time Planning
Activites and Time Planning
 
Steganography
SteganographySteganography
Steganography
 
Classical Encryption Techniques
Classical Encryption TechniquesClassical Encryption Techniques
Classical Encryption Techniques
 
Activites and Time Planning
Activites and Time PlanningActivites and Time Planning
Activites and Time Planning
 
OSI Security Architecture
OSI Security ArchitectureOSI Security Architecture
OSI Security Architecture
 
Network Security Terminologies
Network Security TerminologiesNetwork Security Terminologies
Network Security Terminologies
 
Project Scheduling, Planning and Risk Management
Project Scheduling, Planning and Risk ManagementProject Scheduling, Planning and Risk Management
Project Scheduling, Planning and Risk Management
 
Software Testing and Debugging
Software Testing and DebuggingSoftware Testing and Debugging
Software Testing and Debugging
 
ePayment Methods
ePayment MethodsePayment Methods
ePayment Methods
 
SEO
SEOSEO
SEO
 
A Star Search
A Star SearchA Star Search
A Star Search
 
Enterprise Application Integration
Enterprise Application IntegrationEnterprise Application Integration
Enterprise Application Integration
 
Uml Diagrams
Uml DiagramsUml Diagrams
Uml Diagrams
 
eDras Max
eDras MaxeDras Max
eDras Max
 
RAD Model
RAD ModelRAD Model
RAD Model
 
Microsoft Project
Microsoft ProjectMicrosoft Project
Microsoft Project
 
Itertaive Process Development
Itertaive Process DevelopmentItertaive Process Development
Itertaive Process Development
 
Computer Aided Software Engineering Nayab Awan
Computer Aided Software Engineering Nayab AwanComputer Aided Software Engineering Nayab Awan
Computer Aided Software Engineering Nayab Awan
 
Lect 2 assessing the technology landscape
Lect 2 assessing the technology landscapeLect 2 assessing the technology landscape
Lect 2 assessing the technology landscape
 
system level requirements gathering and analysis
system level requirements gathering and analysissystem level requirements gathering and analysis
system level requirements gathering and analysis
 

Recently uploaded

SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...Poonam Aher Patil
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...pradhanghanshyam7136
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin ClassesCeline George
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701bronxfugly43
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17Celine George
 
Magic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxMagic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxdhanalakshmis0310
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxcallscotland1987
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 

Recently uploaded (20)

SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptxAsian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Magic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxMagic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptx
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 

software engineering ethics

  • 1. JOHN EVELAND JOHN HOFFSTATTER SOFTWARE ENGINEERING CODE OF ETHICS Inam Ul Haq inam@ue.edu.pk BSIT-UE Okara Lecture 7 Special Thanks to Authors 1
  • 2. OVERVIEW • Why need for code? • History of development • Initial draft(s) development • 8 Fundamental Principles • Ratified code approved • 8 Fundamental Principles Revisited • Preamble • Examples • Focus on # 5 Management • Missing points 2
  • 4. 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). 4
  • 5. JOINT COMMISSION STEERING COMMITTEE • 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). 5
  • 6. 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. 6
  • 7. RESEARCH • Review of available computing and engineering codes: • The American Association of Engineering Societies • Accreditation Board for Engineering Technology • ACM’s Code of Ethics for Professional Conduct • The British Computer Society Code of Practice • Institute for the Certification of Computing Professionals • Engineer’s Council for Professional Development • The IEEE Code of Ethics • National Society of Professional Engineers Code of Ethics • Project Management Institute Code of Ethics 7
  • 8. 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
  • 9. 8 KEY PRINCIPLES: • Product • Public • Judgement • Client and Employer • Management • Profession • Colleagues • Self 9
  • 10. THE PUBLISHED PROPOSAL • “Software Engineering Code of Ethics” by Gotterbarn, Miller, and Rogerson (November 1997/Vol. 40, No. 11, Communication of the ACM) 10
  • 11. FEEDBACK • Numerous commentaries • Consensus discussions • ACM and IEEE surveys • Further review and modification 11
  • 12. 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 12
  • 13. 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 13
  • 14. 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 14
  • 15. 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 15
  • 16. 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 16
  • 17. 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 17
  • 18. 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 18
  • 19. 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 19
  • 20. 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 20
  • 21. THE CODE ADOPTION PUBLISHED • “Software Engineering Code of Ethics is Approved” by Gotterbarn, Miller, and Rogerson (October 1999/Vol. 42, No. 10, Communication of the ACM) 21
  • 22. MAJOR CHANGES BETWEEN V3 AND V5.2 • The 8 principles reordered to show precedence • Short version added • Preamble significantly altered • Defines software engineers • Removed reference to 3 levels of obligation • Stronger focus on standards to help the professional make ethical decisions 22
  • 23. PREAMBLE • “Software engineers are those who contribute by direct participation or by teaching, to the analysis, specification, design, development, certification, maintenance, and testing of software systems.” • Prevalence of software in society provide significant opportunities to do good or cause harm. • Ensure that efforts are used to do good. • Not intended to be applied piecemeal. 23
  • 24. PREAMBLE - CONTINUED • Not to be used to justify errors of omission or commission. • Not a simple algorithm to produce ethical decisions. • Software engineer must use judgment after thoughtful consideration of the 8 fundamental principles. • Always use the public interest as the highest and governing principle. 24
  • 25. SHORT VERSION, 1 OF 2 • 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. 25
  • 26. SHORT VERSION, 2 OF 2 • 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. 26
  • 27. 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. 27
  • 28. MANAGEMENT 5.01 Ensure good management for any project on which they work, including effective procedures for promotion of quality and reduction of risk. 28
  • 29. 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. 29
  • 30. COLLEAGUES 7.02. Assist colleagues in professional development. 30
  • 31. 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. 31
  • 32. 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* 32
  • 33. 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 33
  • 34. MISSING FROM THE CODE • Where to get help in a dilemma? • 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 34
  • 35. SUMMARY • Why need for code? • History of development • Initial draft(s) development • 8 Fundamental Principles • Ratified code approved • 8 Fundamental Principles Revisited • Preamble • Examples • Focus on # 5 Management • Missing points 35
  • 36. HELPFUL SITES: • ACM Professional Code of Conduct http://www.acm.org/constitution/code.html • ACM Software Engineering Code of Ethics http:/www.computer.org/tab/seprof/code.htm • ACM Public Policy Statements http://www.acm.org/usacm 36
  • 37. REFERENCES Gotterbarn, D., Miller, K., Rogerson, S., “Software Engineering Code of Ethics”, Communications of the ACM 40, 11 (Nov. 1997), pp. 110-118. Gotterbarn, D., Miller, K., Rogerson, S., “Software Engineering Code of Ethics is Approved”, Communications of the ACM 42, 11 (Oct. 1999), pp. 102-107. Gottenbar, D. “A Positive Step Toward a Profession: The Software Engineering Code of Ethics and Professional Practice”, AMC SIGSOFT Software Engineering Notes 24, 1 (Jan. 1999), pp. 9-14 37