Quick links: (1) Story Valuation, (2) Ethical Review, (3) two-way Practice-Process Mappings (4) Glossary (5) FAQs
Sibling repository: Value-Driven Analysis and Design, seven-step process, two additional practices.
Ethical Software Engineering (ESE) is for you if:
- You see yourself as a socially responsible software engineer.
- You want to manage and mitigate the risk that a project or product development effort and the software under construction may have undesired and/or unexpected and/or unjustified effects for one or more of its stakeholder groups.
- You look for a set of essential practices that help to adopt IEEE Std. 7000.
Let's assume that a development team has been assembled to enhance an online shop with a same-day delivery capability. Different stakeholders exist, and their project goals differ too:
ESE aims at answering the questions and managing value conflicts systematically. It does not mandate or enforce any particular values, but provides a framework for value-based, ethical software engineering.
ESE targets any software engineer1 who wishes to create ethically valuable software, agile teams in particular. See roles folder for user stories, shared with the sibling Value-Driven Analysis and Design (VDAD) project.
Principles that guided the design of ESE include:2
- Synergies: A value- and risk-based approach to design is very much at the heart of agile methods; for instance, Extreme Programming aims at balancing cost, time, quality and scope variables.
- Dual relation: Agile practices may promote social responsibility and ethical behavior, but may also harm ethical values. The devil is in the detail, software usage context matters.
- Novelty: The topic of ethical values has not been discussed much in Agile practices so far.3 The Agile Alliance has a Code of Conduct. And a blog post on coaching ethics made it to the top 10 of 2022 (Agile Alliance).
ESE lets IEEE Std. 7000 meet Agile practices (note: access to IEEE Std. 7000 is free after registration for IEEE Xplore):
ESE provides new and/or enhanced practices (i.e., activities and artifacts):
- Story Valuation activity, a good place to get started with ESE
- Ethical Review report and meeting
- Extended, value-enhanced Definition of Ready artifact
- Extended, value-enhanced Definition of Done artifact
- Value Retrospective activity, inspired by and complementing other forms of retrospectives.
Other folders and pages in this repository include:
- Roles directory (not fully populated at present)
- Experimentation instructions (method validation)
- Future work
Other content is linked in the directory-level index pages.
Experience with the Agile practices that ESE applies, extends or complements is welcome and useful but not strongly required; links and examples provide opportunities to catch up.
Working with ESE (the content of this repository) does not assume that you have read the IEEE Std. 7000. It is helpful but not required to be familiar with selected concepts and processes; these are introduced and/or referenced as needed. The Background Information page provides value comparisons and mappings from IEEE Std. 7000 to Agile concepts and practices (and back).
What are (ethical) values? Which ones matter? Our Glossary references the definitions of the terms value and ethical value from IEEE Std. 7000; the Merriam-Webster Dictionary defines the term "ethic".
The following figure shows three different meanings of the term "value", depending on the viewpoint taken:
For additional motivation for ethical software engineering and terminology clarification, please refer to "Are Programmers Ethically (and Legally) Responsible for Their Code?", an article by Jennifer Riggins on The New Stack (Aug 16, 2018).
ESE was featured at the ETHICOMP 2024 conference:
- Conference presentation "Bringing Ethical Values into Agile Software Development" (PDF, 23 slides)
- Peer-reviewed extended abstract (PDF, 3 pages)
- Full proceedings paper (PDF, 10 pages)
Several additional resources are available within ESE:
- A Glossary defines and explains terms in IEEE Std. 7000, Agile, ESE.
- A collection of Frequently Asked Questions (FAQs) is available.
- Literature and related work appear in a Bibliography.
See experimentation folder and README.
July 28, 2025
ZIO
Bärbel Bohr, Mirko Stocker and Stefan Kapferer contributed to the ESE content via discussion input, experimenation and/or review feedback before its public release. The attendees of the ETHICOMP 2024 presentation on ESE Version 1.0, as well as other conference attendees, provided valuable feedback, incorporated in the current version. Thank you very much indeed!
Version 1.0 of ESE was supported by the Hasler Foundation.
Footnotes
-
We use the term "software engineer" in a broad sense here, including roles such as requirements engineer, architect, developer, tester, operator and maintainer. The entire software development lifecycle is in scope, with special emphasis on analysis and design. ↩
-
An ETHICOMP 2022 paper, "From the Page to Practice: Support for Computing Professionals Using a Code of Ethics", makes the case for a proactive approach. It presents a Consider, Analyze, Review, Evaluate (CARE) process. See the Bibliography page. ↩
-
For instance, search for terms such as "ethics" on the website of the Agile Alliance. ↩


