1. The dynamic and demanding context of software engineering requires a code that is adaptable and relevant to new situations as they occur.
2. Support, as members of a profession, other software engineers striving to follow this Code.
3. However, even in this generality, the Code provides support for software engineers and managers of software engineers who need to take positive action in a specific case by documenting the ethical stance of the profession.
4. In particular, software engineers shall, as appropriate:Encourage colleagues to adhere to this Code.
5. Strive to fully understand the specifications for software on which they work.
6. Take responsibility for detecting, correcting, and reporting errors in software and associated documents on which they work.
7. Ensure that clients, employers, and supervisors know of the software engineer's commitment to this Code of ethics, and the subsequent ramifications of such commitment.
8. In particular, those managing or leading software engineers shall, as appropriate:Ensure good management for any project on which they work, including effective procedures for promotion of quality and reduction of risk.
9. Identify, document, and report significant issues of social concern, of which they are aware, in software or related documents, to the employer or the client.
10. Recognize that personal violations of this Code are inconsistent with being a professional software engineer.
1. Work to develop software and related documents that respect the privacy of those who will be affected by that software.
2. Credit fully the work of others and refrain from taking undue credit.
3. Ensure that they are qualified for any project on which they work or propose to work by an appropriate combination of education and training, and experience.
4. Ensure realistic quantitative estimates of cost, scheduling, personnel, quality and outcomes on any project on which they work or propose to work and provide an uncertainty assessment of these estimates.
5. Ensure that specifications for software on which they work have been well documented, satisfy the users’
6. Ensure adequate testing, debugging, and review of software and related documents on which they work.
7. Work to follow professional standards, when available, that are most appropriate for the task at hand, departing from these only when ethically or technically justified.
8. Ensure realistic quantitative estimates of cost, scheduling, personnel, quality and outcomes on any project on which they work or propose to work, and provide an uncertainty assessment of these estimates.
9. Ensure an appropriate method is used for any project on which they work or propose to work.
10. Identify, define and address ethical, economic, cultural, legal and environmental issues related to work projects.
1. Ensure that software engineers know the employer's policies and procedures for protecting passwords, files and information that is confidential to the employer or confidential to others.
2. In particular, those managing or leading software engineers shall, as appropriate:Ensure good management for any project on which they work, including effective procedures for promotion of quality and reduction of risk.
3. s humanity, in special care owed to people affected by the work of software engineers, and the unique elements of the practice of software engineering.
4. In particular, software engineers shall, as appropriate:Provide service in their areas of competence, being honest and forthright about any limitations of their experience and education.
5. To ensure, as much as possible, that their efforts will be used for good, software engineers must commit themselves to making software engineering a beneficial and respected profession.
6. Attract potential software engineers only by full and accurate description of the conditions of employment.
7. However, even in this generality, the Code provides support for software engineers and managers of software engineers who need to take positive action in a specific case by documenting the ethical stance of the profession.
8. Ensure that software engineers are informed of standards before being held to them.
9. Principle 2: CLIENT AND EMPLOYERSoftware engineers shall act in a manner that is in the best interests of their client and employer, consistent with the public interest.
10. In particular, software engineers shall, as appropriate:Encourage colleagues to adhere to this Code.
1. Recognize that violations of this Code are inconsistent with being a professional software engineer.
2. Support, as members of a profession, other software engineers striving to follow this Code.
3. In accordance with that commitment, software engineers shall adhere to the following Code of Ethics and Professional Practice.
4. In all these judgments concern for the health, safety and welfare of the public is primary; that is, the "Public Interest" is central to this Code.
5. The Code contains eight Principles related to the behavior of and decisions made by professional software engineers, including practitioners, educators, managers, supervisors and policy makers, as well as trainees and students of the profession.
6. Report significant violations of this Code to appropriate authorities when it is clear that consultation with people involved in these significant violations is impossible, counter-productive or dangerous.
7. The Code helps to define those actions that are ethically improper to request of a software engineer or teams of software engineers.
8. Express concerns to the people involved when significant violations of this Code are detected unless this is impossible, counter-productive, or dangerous.
9. These situations require the software engineer to use ethical judgment to act in a manner which is most consistent with the spirit of the Code of Ethics and Professional Practice, given the circumstances.
10. Not influence others to undertake any action that involves a breach of this Code.
1. Principle 5: MANAGEMENTSoftware engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance .
2. The Code provides an ethical foundation to which individuals within teams and the team as a whole can appeal.
3. The Code is not a simple ethical algorithm that generates ethical decisions.
4. Identify, define and address ethical, economic, cultural, legal and environmental issues related to work projects.
5. The Code helps to define those actions that are ethically improper to request of a software engineer or teams of software engineers.
6. The Principles identify the ethically responsible relationships in which individuals, groups, and organizations participate and the primary obligations within these relationships.
7. Ethical tensions can best be addressed by thoughtful consideration of fundamental principles, rather than blind reliance on detailed regulations.
8. In particular, software engineers shall, as appropriate:Help develop an organizational environment favorable to acting ethically.
9. Not punish anyone for expressing ethical concerns about a project.
10. As this Code expresses the consensus of the profession on ethical issues, it is a means to educate both the public and aspiring professionals about the ethical obligations of all software engineers.