Skip to main content
Log in

Professional Ethics of Software Engineers: An Ethical Framework

  • Original Paper
  • Published:
Science and Engineering Ethics Aims and scope Submit manuscript

Abstract

The purpose of this article is to propose an ethical framework for software engineers that connects software developers’ ethical responsibilities directly to their professional standards. The implementation of such an ethical framework can overcome the traditional dichotomy between professional skills and ethical skills, which plagues the engineering professions, by proposing an approach to the fundamental tasks of the practitioner, i.e., software development, in which the professional standards are intrinsically connected to the ethical responsibilities. In so doing, the ethical framework improves the practitioner’s professionalism and ethics. We call this approach Ethical-Driven Software Development (EDSD), as an approach to software development. EDSD manifests the advantages of an ethical framework as an alternative to the all too familiar approach in professional ethics that advocates “stand-alone codes of ethics”. We believe that one outcome of this synergy between professional and ethical skills is simply better engineers. Moreover, since there are often different software solutions, which the engineer can provide to an issue at stake, the ethical framework provides a guiding principle, within the process of software development, that helps the engineer evaluate the advantages and disadvantages of different software solutions. It does not and cannot affect the end-product in and of-itself. However, it can and should, make the software engineer more conscious and aware of the ethical ramifications of certain engineering decisions within the process.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2

Similar content being viewed by others

Notes

  1. The eight major engineering principles (Hambling 1995) are: “plan before building” Planning requires knowledge, experience and availability of resources, planning tools and finances/cost. If these are the constraints on planning, subsequently the quality of planning is predetermined. Assure compatibility; the idea is that all producers are working according to the same standards, Design testing procedures before building; check designs before commitment; configuration management; quality assurance and quality control—learn from mistakes (reuse); know where you’re going.

  2. In 2004 they further clarified this definition (IEEE 2004): “Software engineering is about creating high-quality software in a systematic, controlled, and efficient manner. Consequently, there are important emphases on analysis and evaluation, specification, design, and evolution of software. In addition, there are issues related to management and quality, to novelty and creativity, to standards, to individual skills, and to teamwork and professional practice that play a vital role in software engineering”.

References

  • Amity, E. (2014). Agile and proffesional ethics. M.Sc. Thesis in software engineering. SCE - Shamoon College of engineering, Israel.

  • Basart, J. M. (2013). Engineering ethics beyond engineers’ ethics. Science and Engineering Ethics, 19(1), 179–187.

    Article  Google Scholar 

  • Bayles, M. D. (1982). Professional ethics. Belmont, CA: Wadsworth Pub. Co.

    Google Scholar 

  • Boisjoly, R. P., Curtis, F. E., & Mellican, E. (1989). Roger Boisjoly and the challenger disaster: The ethical dimensions. Journal of Business Ethics, 8(4), 217–230.

    Article  Google Scholar 

  • Braude, E. J. (2011). Software engineering: Modern approaches. NewYork: Wiley.

    Google Scholar 

  • Brooks, F. P. (1986). No silver bullet—Essence and accident in software engineering. In Proceedings of the IFIP Tenth world computing conference (pp. 1069–1076).

  • Davis, M. (1996). Defining ‘engineer’: How to do it and why it matters. Journal of Engineering Education, 85, 97–101.

    Article  Google Scholar 

  • Davis, M. (1999). Professional responsibility: Just following the rules? Business and Professional Ethics Journal, 18, 65–87.

    Article  Google Scholar 

  • De George, R. T. (1981). Ethical responsibilities of engineers in large organizations: The Pinto case. Business and Professional Ethics Journal, 1(1), 1–14.

    Article  Google Scholar 

  • Dodig-Crnkovic, G., & Feldt, R. (2009). Professional and ethical issues of software engineering curriculum applied in swedish academic context. In HAoSE 2009 first workshop on human aspects of software engineering. Orlando, Florida.

  • Farrell, B. C. (2002). Codes of ethics: Their evolution, development and other controversies. Journal of Management Development, 21(2), 152–163.

    Article  Google Scholar 

  • Foot, P. (1978). Virtues and VICES and other essays in moral philosophy. Berkeley and Oxford: University of California Press and Blackwell.

    Google Scholar 

  • Ford, G., & Gibbs, N. (1996). A mature profession of software engineering. Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University.

    Google Scholar 

  • Friedman, B. (2012). The envisioning cards: A toolkit for catalyzing humanistic and technical imaginations. In Proceedings of the SIGCHI conference on human factors in computing systems. ACM.

  • Gaumnitz, B. R. (2004). A classification scheme for codes of business ethics. Journal of Business Ethics, 49(4), 329–335.

  • Gotterbarn, D. M. (1999). Computer society and ACM approve software engineering code of ethics. Retrieved from http://www.computer.org/cms/Computer.org/Publications/code-of-ethics.pdf

  • Greenwood, E. (1957). Attributes of a profession. Social Work, 2, 44–55.

    Google Scholar 

  • Hambling, B. (1995). Managing software quality. New York: McGraw Hill.

  • IEEE. (1993). IEEE standards collection. In IEEE standard glossary of software engineering terminology. IEEE Computer Society.

  • IEEE. (2004). Software engineering 2004 curriculum guidelines for undergraduate degree programs in software engineering. Washington, DC: IEEE computer society.

    Google Scholar 

  • IEEE. (2009). Curriculum guidelines for undergraduate degree programs in software engineering. IEEE Computer Society. Retrieved from http://sites.computer.org/ccsepp15

  • Kasher, A. (2005). Professional ethics and collective professional autonomy. Ethical Perspectives, 11(1), 67–98.

  • MacIntyre, A. (1981). After virtue: A study in moral theory. Notre Dame, IN: University of Notre Dame Press.

    Google Scholar 

  • Miller, K. W. (2011). Moral responsibility for computing artifacts: The rules. IT Professional, 13(3), 57–59.

    Article  Google Scholar 

  • Mnkandla, E. (2009). About software engineering frameworks and methodologies. In AFRICON, 2009. AFRICON’09. IEEE.

  • Mullet, D. (1999). The software crisis. Benchmarks Online—A monthly publication of Academic Computing Services of the University of North Texas Computing Center, 2(7). https://www.unt.edu/benchmarks/archives/1999/july99/crisis.htm.

  • Naur, P. & Randell D. B. (1968). Software engineering: Report of a conference sponsored by the NATO Science Committee. Garmisch, Germany: The first NATO Software Engineering Conference in 1968 Garmisch, Germany. Retrieved October 7–11, 1968

  • NIST. (2002). New Release of June 28, 2002. The National Institute of Standards and Technology.

  • Parsons, T. (1939). The professions and social structure. In T. Parsons (Ed.), Essays in sociological theory (pp. 34–49). New York: The Free Press.

    Google Scholar 

  • Pressman, R. (2010). Software engineering: A practitioner’s approach (7th ed.). New York: McGraw Hill.

    Google Scholar 

  • Putnam, H. (2002). The collapse of the fact/value dichotomy and other essays. Cambridge: Harvard University Press.

    Google Scholar 

  • Schmemann, S. (1997). 2 Die at games in Israel as bridge collapses. Retrieved from http://www.nytimes.com/1997/07/15/world/2-die-at-games-in-israel-as-bridge-collapses.html

  • Sommerville, I. (2004). Software engineering, international computer science series (7th ed.). Boston: Addison Wesley, Pearson Education.

    Google Scholar 

  • StandishGroup. (n.d.). Retrieved from http://www.standishgroup.com/newsroom/chaos_2009.php

  • Tilmann, G., & Weinberger, J. (2004). Technology never fails, but project can. Baseline, 1(26), 28.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yotam Lurie.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Lurie, Y., Mark, S. Professional Ethics of Software Engineers: An Ethical Framework. Sci Eng Ethics 22, 417–434 (2016). https://doi.org/10.1007/s11948-015-9665-x

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11948-015-9665-x

Keywords

Navigation