1. These Principles should influence software engineers to consider broadly who is affected by their work; to examine if they and their colleagues are treating other human beings with due respect; to consider how the public, if reasonably well informed, would view their decisions; to analyze how the least empowered will be affected by their decisions; and to consider whether their acts would be judged worthy of the ideal professional working as a software engineer.
2. Because of their roles in developing software systems, software engineers have significant opportunities to do good or cause harm, to enable others to do good or cause harm, or to influence others to do good or cause harm.
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. Ensure adequate testing, debugging, and review of software and related documents on which they work.
5. Improve their knowledge of relevant standards and the law governing the software and related documents on which they work.
6. Recognize that violations of this Code are inconsistent with being a professional software engineer.
7. 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.
8. Refuse to participate, as members or advisors, in a private, governmental or professional body concerned with software related issues, in which they, their employers or their clients have undisclosed potential conflicts of interest.
9. The dynamic and demanding context of software engineering requires a code that is adaptable and relevant to new situations as they occur.
10. Moderate the interests of the software engineer, the employer, the client and the users with the public good.
1. 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.
2. The ultimate effect of the work should be to the public good.
3. Take responsibility for detecting, correcting, and reporting errors in software and associated documents on which they work.
4. Keep private any confidential information gained in their professional work, where such confidentiality is consistent with the public interest and consistent with the law.
5. In particular, software engineers shall, as appropriate:Accept full responsibility for their own work.
6. 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.
7. 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.
8. Credit fully the work of others and refrain from taking undue credit.
9. 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.
10. Ensure proper and achievable goals and objectives for any project on which they work or propose.
1. Attract potential software engineers only by full and accurate description of the conditions of employment.
2. Principle 3: PRODUCTSoftware engineers shall ensure that their products and related modifications meet the highest professional standards possible.
3. The Code helps to define those actions that are ethically improper to request of a software engineer or teams of software engineers.
4. In particular, software engineers shall, as appropriate:Strive for high quality, acceptable cost and a reasonable schedule, ensuring significant tradeoffs are clear to and accepted by the employer and the client, and are available for consideration by the user and the public.
5. PRINCIPLESPrinciple 1: PUBLICSoftware engineers shall act consistently with the public interest.
6. Support, as members of a profession, other software engineers striving to follow this Code.
7. 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.
8. 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.
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. Principle 7: COLLEAGUESSoftware engineers shall be fair to and supportive of their colleagues.
1. Support, as members of a profession, other software engineers striving to follow this Code.
2. The Code is not a simple ethical algorithm that generates ethical decisions.
3. Recognize that personal violations of this Code are inconsistent with being a professional software engineer.
4. 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.
5. Improve their knowledge of this Code, its interpretation, and its application to their work.
6. The dynamic and demanding context of software engineering requires a code that is adaptable and relevant to new situations as they occur.
7. The Code is not simply for adjudicating the nature of questionable acts; it also has an important educational function.
8. 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.
9. Avoid associations with businesses and organizations which are in conflict with this code.
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.
1. The Code provides an ethical foundation to which individuals within teams and the team as a whole can appeal.
2. The Code is not a simple ethical algorithm that generates ethical decisions.
3. Identify, define and address ethical, economic, cultural, legal and environmental issues related to work projects.
4. Not punish anyone for expressing ethical concerns about a project.
5. Principle 8: SELFSoftware engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession.
6. The Code is not a simple ethical algorithm that generates ethical decisions.
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. The Code helps to define those actions that are ethically improper to request of a software engineer or teams of software engineers.
9. Ethical tensions can best be addressed by thoughtful consideration of fundamental principles, rather than blind reliance on detailed regulations.
10. 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.