Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Engineering Code of Ethics

Similar presentations


Presentation on theme: "Software Engineering Code of Ethics"— Presentation transcript:

1 Software Engineering Code of Ethics
IMPORTANT NOTICE TO STUDENTS: These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark class discussions. Software Engineering Code of Ethics CS 360 Lecture 21

2 Morals and Ethics Broad definitions: Morals: Ethics:
A person’s standards of behavior or beliefs concerning what is and is not acceptable for them to do. Ethics: Set of moral principles that govern the behavior of an individual or group. Software engineering ethics: The application of both computer science and engineering philosophy, principles, and practices to the design and development of software systems.

3 Thoughts about software engineering
Software industry needs to take more responsibility for its products Products are sold or licensed with no (or little) guarantees about whether they work as advertised. Time-to-market dominates much of the software development. We know how to develop much more reliable and secure software. But reliability and security often have low priority in business plans. Compare: The car industry (safety and reliability)

4 How software is Developed today
Software Myths – Managers We have standards and procedures for building software So developers have everything they need We have state-of-the-art software development tools We buy the newest computers If we’re behind schedule, we can add more programmers to catch up. A good manager can manage any project.

5 How software is Developed today
Software Myths – Client A general statement of requirements/objectives is sufficient to begin writing programs. Details can come later Requirement changes are easy to accommodate because software is flexible.

6 How software is Developed today
Software Myths – Developer If I miss something now, I can fix it later. Once the program is written and running, my job is finished. Until a program is running, there is no way to assess quality. The only deliverable for a software project is a working program.

7 Software engineering code of ethics and professional practice
Recommended and jointly approved by the Association for Computing Machinery (ACM) and the Institute of Electrical and Electronics Engineers-Computer Society (IEEE-CS) as the standard for teaching and practicing software engineering.

8 Software engineering code of ethics and professional practice
Contains principles related to the behavior of and decisions made by professional software engineers, including: practitioners educators Managers and supervisors Trainees and students The Code presents these principles as obligations of anyone claiming to be or aspiring to be a software engineer.

9 Software engineering code of ethics and professional practice
Principle 1: Public SEs shall act consistently with the public interest. Accept full responsibility for their own work. Approve software only if they believe that it’s safe, meets specifications, passes appropriate tests, and does not diminish quality of life, privacy, or environment. Be fair and avoid deception. Encouraged to volunteer professional skills to good causes and contribute to public education concerning software engineering.

10 Software engineering code of ethics and professional practice
Principle 2: Client and Employer SEs shall act in a manner that is in the best interests of their client/employer. Provide service in their areas of competence, being honest about their limitations. Never using software that is obtained illegally or unethically. Keep private any confidential information gained by their work. Never accepting outside work that would be detrimental to their primary employer.

11 Software engineering code of ethics and professional practice
Principle 3: Product SEs shall ensure that their products meet the highest professional standards as possible. Strive for high quality, acceptable cost, and reasonable scheduling. Identify and address ethical, economic, cultural, legal, and environmental issues. Strive to follow professional standards, when available. Treat software maintenance with the same professionalism as new development.

12 Software engineering code of ethics and professional practice
Principle 4: Judgement SEs shall maintain integrity and independence in their professional judgment. Maintain professional objectivity with respect to any software they are asked to evaluate. Disclose to all concerned parties conflicts of interest that can’t be avoided. Refuse to participate in any organizations where their employers or clients have potential conflicts of interest.

13 Software engineering code of ethics and professional practice
Principle 5: Management SE managers and leaders shall subscribe and promote and ethical approach to the management of software development and maintenance. Ensure good management for any project on which they work. Ensure that developers are informed of standards being held to them. Never punish anyone for expressing ethical concerns about a project.

14 Software engineering code of ethics and professional practice
Principle 6: Profession SEs shall advance the integrity and reputation of the software profession. Help develop an environment favorable to acting ethically. Promote public knowledge of software engineering. Take responsibility for detecting, correcting, and reporting errors in software and documentation on which they work.

15 Software engineering code of ethics and professional practice
Principle 7: Colleagues SEs shall be fair to and supportive of their colleagues. Assist colleagues in professional development. Review the work of others in an objective, properly-documented way. Encourage colleagues to adhere to the SE code of ethics and professional practice.

16 Software engineering code of ethics and professional practice
Principle 8: Self SEs shall participate in lifelong learning regarding the practice of their profession. Further their knowledge of developments in the analysis, specification, design, development, maintenance and testing of software and related documents. Improve their ability to create safe, reliable, and useful quality software at reasonable cost and time. Recognize that personal violations of this code are inconsistent with being a professional software engineer.

17 ACM Code of Ethics and Professional conduct, updated 2018
A computing professional should: Contribute to society and human well-being, acknowledging that all people are stakeholders in computing. Avoid harm (unjustified physical or mental injury, destruction or disclosure of information, damage to property, reputation, or environment). Be honest and trustworthy about developed systems and personal qualifications. Be fair and take action not to discriminate (values of equality, tolerance, respect for others). Respect the work required to produce new ideas, inventions, creative works, and computing artifacts Credit the creators and respect copyrights. Respect privacy. Only use personal information without violating the rights of individuals/groups. Honor confidentiality. Never disclose trade secrets, un-published research data, patent applications unless there is a clear violation of the law.

18 IEEE Code of Ethics To hold paramount the safety, health, and welfare of the public. To avoid conflicts of interest whenever possible, and to disclose them to affected parties when they do exist. To be honest and realistic in stating claims or estimates based on available data. To reject bribery in all its forms. To improve the understanding of the capabilities and societal implications of conventional and emerging technologies, including intelligent systems.

19 IEEE Code of Ethics To maintain and improve our technical competence and to undertake technological tasks for others only if qualified by training or experience. To seek, accept, and offer honest criticism of technical work, to acknowledge and correct errors, and to credit the contributions of others. To treat fairly all persons and to not engage in acts of discrimination. To avoid injuring others, their property, reputation, or employment by false or malicious action. To assist colleagues and co-workers in their professional development and to support them in following this code of ethics.


Download ppt "Software Engineering Code of Ethics"

Similar presentations


Ads by Google