25

Codes of ethics

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Codes of ethics
Page 2: Codes of ethics

Imagine that you are a software engineer in a small software firm. Since the firm is small, its software development process is not documented. There is therefore nothing to prevent you from using a “code-and-fix” method of software development, in which one sits in front of a computer and just types away at the keyboard, coding, debugging as necessary until one thinks that the code is good enough.

Page 3: Codes of ethics

However, having read the book, you know that systematic method of analyzing the requirements first, followed by design, followed by coding, followed by systematic testing and debugging, would be more appropriate for the project at hand. Unfortunately, this systematic process will involve a lot of documentation (e.g., documentation of the requirement, design, and tests), which you hate with a passion. What would you do?

Page 4: Codes of ethics

• A code of ethics is a statement of what an organization values and how it expects its members, or those in the profession in which the organization has influence, to behave with regard to these values.

• An ethical code is adopted by an organization in an attempt to assist those in the organization called upon to make a decision (usually most, if not all) understand the difference between 'right' and 'wrong' and to apply this understanding to their decision.

Page 5: Codes of ethics

The ethical code therefore generally implies documents at three levels: codes of business ethics, codes of conduct for employees and codes of professional practice.•Code of Ethics (corporate or business ethics) – social issues, mission, vision, privacy of the environment.•Code of Conduct (employee ethics) – conduct for employees conflicts of interest or the acceptance of gifts.•Code of practice (professional ethics)- practice is adopted by a profession or by a governmental or non-governmental organization to regulate that profession.

Page 6: Codes of ethics

• Philippine Computer Society’s Code of Ethics – provides general principle.

• ACM/IEEE Software Engineering Code of Ethics – provide detailed clauses for each general principle.

Page 7: Codes of ethics

• ACM or Association for Computing Machinery – the world’s first educational and scientific computing society.

• IEEE or Institute of Electrical and Electronics Engineers – the world’s largest association of computer professionals

• See page 171-173

Page 8: Codes of ethics

In accordance with commitment to the health, safety, and welfare of the public, software

engineers shall adhere to the following Eight Principles:

1.PUBLIC 2.CLIENT AND EMPLOYER 3.PRODUCT4.JUDGEMENT5.MANAGEMENT6.PROFESSION7.COLLEAGUES8.SELF

Page 9: Codes of ethics

• PUBLIC –software engineers shall act consistently with the public interest.

• CLIENT AND EMPLOYER – Software engineers shall act in a manner that is in the best interest of their client and employer consistent with the public interest.

• PRODUCT- Software engineers shall ensure that their products and related modifications meet the highest professional standard possible.

• JUDGEMENT- Software engineer shall maintain integrity and independence in their professional judgment.

Page 10: Codes of ethics

• MANAGEMENT- Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance.

• PROFESSION- software engineers shall advance the integrity and reputation of the profession consistent with the public interest.

• COLLEAGUES- Software engineers shall be fair to and supportive to their colleagues.

• 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.

Page 11: Codes of ethics
Page 12: Codes of ethics

ANALYSIS

DESIGN

DEPLOYMENT

TESTING

CODING

Basic Software Basic Software Development Development ProcessProcess

Page 13: Codes of ethics

Initial Testing

Initial Analysis

Initial Design

Initial Coding

Further Testing

Further Analysis

Further Design

Further Coding

AN ITERATIVE AN ITERATIVE SOFTWARE SOFTWARE DEVELOPMENT PROCESSDEVELOPMENT PROCESS

Page 14: Codes of ethics
Page 15: Codes of ethics

• Computer Ethics is the study of how theories of ethics (i.e. theories of what are right and wrong) are applied to issue that have primarily to do with computers and information technology.

• Computer ethics addresses issues like software piracy (i.e., the use of unlicensed software), cracking (i.e., the unlawful access or destruction of software and related data and documentation belong to someone else), and e-waste exportation (i.e., the dumping of junk computers and electrical/electronic equipment on developing countries)

Page 16: Codes of ethics

• Consequentialist theories- look at whether an action will benefit the actor and/or other.

• Deontological theories or duty theories- actions are ethical not because their consequences are good for an individual or group (for it is not always easy to predict the consequences of an action), but because they fulfill duties. Deontological theories then try to define what duties are.

Page 17: Codes of ethics

• Social contract theories- skip the problems of determining consequences or duties by simply looking at whether an action violates a contract that a society has agreed to (e.g., the laws of a nation).

• Virtue theories- look not only the explicit law of the society, but also at the tactic values and norms of the society.

Page 18: Codes of ethics

Other Areas addressed by the Software Engineering Codes of Ethics

Page 19: Codes of ethics

Client, Employers, Colleagues, and the Public

• The ACM/IEE Software Engineering Code of Ethics also looks at the seven other areas.

• Clause 2.02: one shall “not knowingly used software that is obtained or retained either legally or unethically”. In other words, it is unethical to use pirated software.

Page 20: Codes of ethics

• Clause 2.03: one shall “use the property of a client or employer only in ways property authorized, and with client or employer’s knowledge and consent. It is unethical for software engineers to use office computers and internet connection to, say, surf the net of chat with relatives or friends, unless the company allows it.

Page 21: Codes of ethics

• Clause 4.02: software engineers shall “only endorse documents either prepared under their supervision or within their areas of competence and with which they are in agreement.” Therefore you should not sign the software approval sheet unless you are indeed approving the release of the software, even though testing is not complete.

• Clause 7.03: software engineers shall “credit fully the work of others and refrain from taking undue credit”. Therefore, one must be careful when one if leader of a team not take full credit for what one’s team did.

Page 22: Codes of ethics

• Clause 1.08: software engineers shall “be encouraged to volunteer professional skills to good causes and contribute to public education concerning the discipline”. Therefore, teaching computer or Internet skills to, say, poor kids or out-of-school youth is something to seriously consider finding time to do.

Page 23: Codes of ethics

Profession and Self• Clause 8.01: software engineers shall “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.”

• Clause 6:03: software engineers shall “extend software engineering knowledge by appropriate participation in professional organizations, meetings and publications.” Therefore, attending software engineering or other related conferences and presenting papers in these venues would enable a software engineer to fulfill clauses 6:03 and 8:01 at the same time.

Page 24: Codes of ethics

Management

• Clause 5.12: management shall “not punish anyone for expressing ethical concerns about a project”.

Page 25: Codes of ethics