Codes of ethics


Published on

Published in: Technology, Business
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Codes of ethics

  1. 2. <ul><li>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. </li></ul>
  2. 3. <ul><li>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 ? </li></ul>
  3. 4. <ul><li>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. </li></ul><ul><li>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. </li></ul>
  4. 5. <ul><li>The ethical code therefore generally implies documents at three levels: codes of business  ethics , codes of conduct for employees and codes of professional practice. </li></ul><ul><li>Code of Ethics ( corporate or business ethics) – social issues, mission, vision, privacy of the environment. </li></ul><ul><li>Code of Conduct (employee ethics) – conduct for employees conflicts of interest or the acceptance of gifts. </li></ul><ul><li>Code of practice (professional ethics) - practice is adopted by a profession or by a governmental or non-governmental organization to regulate that profession. </li></ul>
  5. 6. <ul><li>Philippine Computer Society’s Code of Ethics – provides general principle. </li></ul><ul><li>ACM/IEEE Software Engineering Code of Ethics – provide detailed clauses for each general principle. </li></ul>
  6. 7. <ul><li>ACM or Association for Computing Machinery – the world’s first educational and scientific computing society. </li></ul><ul><li>IEEE or Institute of Electrical and Electronics Engineers – the world’s largest association of computer professionals </li></ul><ul><li>See page 171-173 </li></ul>
  7. 8. <ul><li>In accordance with commitment to the health, safety, and welfare of the public, software engineers shall adhere to the following Eight Principles : </li></ul><ul><li>PUBLIC </li></ul><ul><li>CLIENT AND EMPLOYER </li></ul><ul><li>PRODUCT </li></ul><ul><li>JUDGEMENT </li></ul><ul><li>MANAGEMENT </li></ul><ul><li>PROFESSION </li></ul><ul><li>COLLEAGUES </li></ul><ul><li>SELF </li></ul>
  8. 9. <ul><li>PUBLIC –software engineers shall act consistently with the public interest. </li></ul><ul><li>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. </li></ul><ul><li>PRODUCT - Software engineers shall ensure that their products and related modifications meet the highest professional standard possible. </li></ul><ul><li>JUDGEMENT - Software engineer shall maintain integrity and independence in their professional judgment. </li></ul>
  9. 10. <ul><li>MANAGEMENT - Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance. </li></ul><ul><li>PROFESSION - software engineers shall advance the integrity and reputation of the profession consistent with the public interest. </li></ul><ul><li>COLLEAGUES - Software engineers shall be fair to and supportive to their colleagues. </li></ul><ul><li>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. </li></ul>
  10. 12. ANALYSIS DESIGN DEPLOYMENT TESTING CODING Basic Software Development Process
  11. 13. Initial Testing Initial Analysis Initial Design Initial Coding Further Testing Further Analysis Further Design Further Coding AN ITERATIVE SOFTWARE DEVELOPMENT PROCESS
  12. 15. <ul><li>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. </li></ul><ul><li>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) </li></ul>
  13. 16. <ul><li>Consequentialist theories - look at whether an action will benefit the actor and/or other. </li></ul><ul><li>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. </li></ul>
  14. 17. <ul><li>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). </li></ul><ul><li>Virtue theories - look not only the explicit law of the society, but also at the tactic values and norms of the society. </li></ul>
  15. 18. Other Areas addressed by the Software Engineering Codes of Ethics
  16. 19. Client, Employers, Colleagues, and the Public <ul><li>The ACM/IEE Software Engineering Code of Ethics also looks at the seven other areas. </li></ul><ul><li>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. </li></ul>
  17. 20. <ul><li>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. </li></ul>
  18. 21. <ul><li>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. </li></ul><ul><li>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. </li></ul>
  19. 22. <ul><li>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. </li></ul>
  20. 23. Profession and Self <ul><li>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.” </li></ul><ul><li>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. </li></ul>
  21. 24. Management <ul><li>Clause 5.12 : management shall “not punish anyone for expressing ethical concerns about a project”. </li></ul>