Skip to content

Commit

Permalink
Maintenance/ethicomp (#1)
Browse files Browse the repository at this point in the history
* Updates for release V1.1 in practices and READMEs
* ESE-Literature.md updated and enhanced
* ESE-FAQ.md extended
* ETHICOMP paper: authors copy PDF
* Metadata update
  • Loading branch information
socadk authored Aug 23, 2024
1 parent 21d1815 commit 5a10eb8
Show file tree
Hide file tree
Showing 23 changed files with 166 additions and 62 deletions.
2 changes: 1 addition & 1 deletion ESE-BackgroundInformation.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,4 +50,4 @@ See [Frequently Asked Questions (FAQ)](/ESE-FAQ.md#agile-values-and-principles)

## Acknowledgment

This work was funded by the [Hasler Foundation](https://haslerstiftung.ch/en/welcome-to-the-hasler-foundation/).
Version 1.0 of ESE was supported by the [Hasler Foundation](https://haslerstiftung.ch/en/welcome-to-the-hasler-foundation/).
23 changes: 18 additions & 5 deletions ESE-FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
### Agile Values and Principles

* Does usage of IEEE Std. 7000 introduce the risk of harming project velocity?
* *Answer:* Our motivation in this work is to prevent this.
* *Answer:* Our motivation in this work is to prevent this. Some slow down might actually be beneficial as value elicitation and conflict resolution do take time and require rigor and effort. The more critical a system is (think about safety-critical systems), the more effort and time for careful, responsible analysis and design work is in order.

* How do the Agile values in the manifesto and those in XP etc. fit in?
* *Answer:* While related, not all of the agile values directly correspond to ethical values such as transparency, sustainability, privacy, fairness, and accountability. The following table maps the four values of the Agile Manifesto to selected, exemplary core values from Table G.1 in IEEE Std. 7000:
Expand Down Expand Up @@ -72,7 +72,20 @@ The 12 principles, also quoted from the Agile Manifesto, map to IEEE Std. 7000 (

Note that Privacy is absent from the examples; values such as Respect and Trust relate to several other Agile principles.

### ESE and other methods
### ESE and other methods/assets

* How do IEEE Std. 7000 and ESE relate to the [ACM Code of Ethics and Professional Conduct](https://www.acm.org/code-of-ethics) and similar codes (including those on ethical artificial intelligence)?
* *Answer:* IEEE Std. 7000 specifies processes, applicable for organisations, teams, projects; ESE adds practices to integrate the standards concepts into agile development. Complementarily, codes such as the ACM one focus on indiuviduals and their behavior. The standard, the codes, and ESE share common goals such as raising awareness for the existence and importance of ethical values and moral obligations in the context of systems and software engineering.

* How does ESE relate to the [Proactive CARE framework](https://ethics.acm.org/wp-content/uploads/2021/03/Proactive-CARE-for-Computing-Professionals.pdf), available on the ACM ethics website?
* *Answer:* See the following table:

| Proactive CARE (Gotterbarn et al) | IEEE Std. 7000, ESE |
|-|-|
| "Consider who might be affected and how"| ConOps work, case for ethics (IEEE Std. 7000), Story Valuation techniques (ESE) |
| "Analyze the situation’s details"| Ethical Value Requirement (EVR) elicitation, follow-on design work, reviews |
| "Review other obligations and limitations"| Work on ConOps, EVRs |
| "Evaluate the best course of action"| Design decision making |

* Can ESE be combined with other methods and description standards?
* *Answer:* Yes. For instance, in [arc42](https://www.arc42.de/) descriptions, the ESE output could go to a new section ("arc42+") or to existing ones:
Expand All @@ -90,7 +103,7 @@ Note that Privacy is absent from the examples; values such as Respect and Trust
### Misc

* What do all the acronyms mean (EVR, SOI, VBSR, ...)?
* *Answer:* See the [Glossary](/ESE-Glossary.md#overview)
* *Answer:* See the [Glossary](/ESE-Glossary.md#overview).

* What is available in ESE (this repository)?
* *Answer:* ESE describes two new [practices](/practices/), Story Valuation and Ethics Review, and extends three existing ones, Definition of Ready, Definition of Done, and Retrospective. It also features [roles](/roles/) from IEEE Std. 7000.
Expand All @@ -113,7 +126,7 @@ Note that Privacy is absent from the examples; values such as Respect and Trust
* How does ESE relate to and use existing documentation templates such as arc42?
* *Answer:* It is complementary and extends what is already there. Detailed information is work in progress (see Future Work information).

* There are many regulations in countries and organizations, compliance management often is in place. Why is value-based systems/software engineering still needed? What does ESE differently.
* There are many regulations in countries and organizations, compliance management often is in place. Why is value-based systems/software engineering still needed? What does ESE differently?
* *Answer:* Values can be brought forward by any stakeholder (group); both positive and negative ones exist, with the aim to promote responsible behavior (in contrast to just following rules). ESE pushes ethical thinking and designing into the developer mainstream, practitioners no longer have to pull it from the literature or online resources.

* What is in the method engineering backlog?
Expand All @@ -124,4 +137,4 @@ Note that Privacy is absent from the examples; values such as Respect and Trust

## Acknowledgment

This work was funded by the [Hasler Foundation](https://haslerstiftung.ch/en/welcome-to-the-hasler-foundation/).
Version 1.0 of ESE was supported by the [Hasler Foundation](https://haslerstiftung.ch/en/welcome-to-the-hasler-foundation/).
2 changes: 1 addition & 1 deletion ESE-FutureWork.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@

## Acknowledgment

This work was funded by the [Hasler Foundation](https://haslerstiftung.ch/en/welcome-to-the-hasler-foundation/).
Version 1.0 of ESE was supported by the [Hasler Foundation](https://haslerstiftung.ch/en/welcome-to-the-hasler-foundation/).
5 changes: 4 additions & 1 deletion ESE-Glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,9 @@ IEEE Std. 7000 defines: "Group containing one core value and several values inst

In ESE, value clusters can be documented in several ways, for instance as part of Value Trees (see example in Story Valuation). ESE also provides Markdown templates for them.

### Value Demonstrator
IEEE Std. 7000 defines: "Potential manifestation of a core value, which is either instrumental to the core value or undermines it.". <!-- Value Demonstrator (aka WQ in DE, see IS paper) -->

### Value Register

IEEE Std. 7000 defines: "An information store created for transparency and traceability reasons, which contains data and decisions gained in ethical values elicitation and prioritization and traceability into ethical value requirements."
Expand All @@ -96,4 +99,4 @@ See "Ethically Aligned Design: First Edition Glossary" available [online](https:

## Acknowledgment

This work was funded by the [Hasler Foundation](https://haslerstiftung.ch/en/welcome-to-the-hasler-foundation/).
Version 1.0 of ESE was supported by the [Hasler Foundation](https://haslerstiftung.ch/en/welcome-to-the-hasler-foundation/).
59 changes: 52 additions & 7 deletions ESE-Literature.md
Original file line number Diff line number Diff line change
@@ -1,38 +1,83 @@
# Ethical Software Engineering (ESE) Bibliography

*Note* Access to [IEEE Std. 7000](https://standards.ieee.org/ieee/24748-7000/11098/) is free after registration for IEEE Xplore (click on "Access via Subscription").
*News (March 14 2024):* ESE is featured in an ETHICOMP 2024 [presentation](https://ozimmer.ch/assets/presos/ZIO-ESEAtETHICOMPv10p.pdf) and paper "Bringing Ethical Values into Agile Software Development" (peer-reviewed [extended abstract](https://dialnet.unirioja.es/descarga/articulo/9326119.pdf), [full paper](./resources/ESE-ETHICOMP2024FullPaperAuthorsCopyV101.pdf)).

*News (August 22, 2024):* Two more related papers have been accepted for publication (EuroPLoP 2024, ISTAS 2024).

## Background Information on Tech. Ethics

<!-- TODO (v2) add latest Spiekerman book:
title = {{Value-Based Engineering}},
title = {{A Guide to Building Ethical Technology for Humanity}},
author = {Sarah Spiekermann},
-->

*Note:* Access to [IEEE Std. 7000](https://standards.ieee.org/ieee/24748-7000/11098/) is free after registration for IEEE Xplore (click on "Access via Subscription").

### IEEE Std. 7000 and Value-Based Systems Engineering

* ["What to Expect From IEEE 7000: The First Standard for Building Ethical Systems"](https://technologyandsociety.org/what-to-expect-from-ieee-7000-the-first-standard-for-building-ethical-systems/), IEEE Technology and Society, Spiekermann-Hoff, 2022
* ["Why"](https://www.wu.ac.at/value-based-engineering/why/) Value-based Engineering with ISO/IEC/IEEE 24748-7000: motivation behind teh standard and UNICEF case study
* ["Human Values as the Basis for Sustainable Information System Design"](https://research.wu.ac.at/ws/portalfiles/portal/19837176/Human+Values+as+the+Basis+for+Stustainable+Information+Systems+Design+(Pre-print).pdf), Winkler, Till and Spiekermann-Hoff, Sarah, IEEE Technology and Society, 2019
* ["10 Principles for Value-Based Engineering"](https://www.wu.ac.at/value-based-engineering/principles/), also featured in ["Value-based Engineering: Prinzipien und Motivation für bessere IT-Systeme"](https://link.springer.com/article/10.1007/s00287-021-01378-4) (in German)
* ["Value-Sensitive Design"](https://mitpress.mit.edu/9780262039536/value-sensitive-design/), Batya Friedman und David Hendry, MIT Press, 2019.
* A call for SW ethics ["The Five Principles of Software Ethics"](https://thenewstack.io/five-principles-software-ethics/)
* A call for Software ethics ["The Five Principles of Software Ethics"](https://thenewstack.io/five-principles-software-ethics/)
* Context, Consequences, Contribution (3C) model: ["A model to help tech companies make responsible technology a reality"](https://medium.com/doteveryone/a-model-to-help-tech-companies-make-responsible-technology-a-reality-837c50713c65)
* Olaf Zimmermann, Mirko Stocker, Stefan Kapferer, "Bringing Ethical Values into Agile Software Development", Prof. of ETHICOMP 2024 (to appear)
* Stefan Kapferer, Mirko Stocker, Olaf Zimmermann, "Towards responsible software engineering:
combining value-based processes, agile practices, and green metering", Proceedings of IEEE ISTAS 2024 (to appear)
* Olaf Zimmermann, Mirko Stocker, Stefan Kapferer, "Bringing Ethical Values into Agile Software Development", Proc. of ETHICOMP 2024 ([extended abstract (peer-reviewed)](https://dialnet.unirioja.es/descarga/articulo/9326119.pdf), [full paper in proceedings (pages 87 to 98)](https://dialnet.unirioja.es/descarga/libro/977710.pdf))

Codes of Conduct and Ethics:
### Approaches to Manage and Mitigate Risk and Impact

* Proactive CARE framework:
* Gotterbarn, D., Kirkpatrick M.S., Wolf M.J., "From the Page to Practice: Support for Computing Professionals Using a Code of Ethics", Proc. of ETHCICOMP 2022 ([proceedings PDF](https://sites.utu.fi/ethicomp2022/wp-content/uploads/sites/1104/2022/09/Ethicomp-2022-Proceedings_Corrected.pdf))
* Software Development Impact Statement (SoDIS) process:
* Gotterbarn, D., Rogerson, S., "Responsible Risk Assessment with Software Development: Creating the Software Development Impact Statement". Communications of the Association for Information Systems, 15, 2005 ([PDF download](https://doi.org/10.17705/1CAIS.01540))
* Positive responsibility
* Ladd, John. 1991. "Bhopal: An Essay on Moral Responsibility and Civic Virtue.", Journal of Social Philosophy 32: 73–91, 1991
<!--
TODO (v2) add Responsibilty gap and how to close it (and papers cited in it):
* Don Gotterbarn, Marty J. Wolf, ["Closing the ai responsibility gap with the code of ethics"](https://dialnet.unirioja.es/descarga/articulo/9326110.pdf), ETHICOMP 2024 extended abstract
-->

### Codes of Conduct and Ethics

* [ACM Code of Ethics and Professional Conduct](https://www.acm.org/code-of-ethics)
* IEEE Computer Society [Code of Ethics](https://www.computer.org/education/code-of-ethics)
* [GI (DE)](https://gi.de/ethicalguidelines) and SI (CH)
* IEEE Computer Society [Code of Ethics](https://www.computer.org/education/code-of-ethics) <!-- this is the IEEE Comp. Society one, there also is an IEEE-wide one or the SWE-specific one --> (IEEE-CS/ACM Joint Task Force on Software Engineering Ethics and Professional Practices)
* [Ethical Guidelines of the German Informatics Society](https://gi.de/ethicalguidelines)
* Swiss Informatics Society, SI [Code of Ethics](https://www.swissinformatics.org/Dokumente/legal_3_en/si-code-of-ethics-2019.pdf)

## Background Information on Agile Software Development

* Homepage of the [Agile Alliance](https://www.agilealliance.org/) that provides the Agile Manifesto, a "Subway Map to Agile Practices", an glossary, and other resources:
* Agile Coaching Ethics, <https://www.agilealliance.org/agilecoachingethics/#code>
<!-- * Agile Alliance members only (login required):
* <https://www.agilealliance.org/resources/sessions/how-to-write-ethical-user-stories/>
* <https://www.agilealliance.org/resources/sessions/iterative-ethics-can-our-moral-compass-be-agile/>
-->
* [Design Practice Repository and Reference (DPR)](https://socadk.github.io/design-practice-repository/) for agile architecting, API design, and beyond (since 2020)

## Related Work and Tools

<!--
TODO (v2) bring links back when ok or replace with new ones:
<https://ethicalos.org/> has tools (in narrow sense of the word) and checklists:
* <https://ethicalos.org/wp-content/uploads/2018/08/Ethical-OS-Toolkit-2.pdf>
* <https://ethicalos.org/wp-content/uploads/2018/08/EthicalOS_Check-List_080618.pdf>
The site and its tools are in the process of moving to <https://www.iftf.org/projects/a-playbook-for-ethical-tech-governance/>.
-->

This paper (in German) identifies related work, including an Ethics Canvas Manual, a Responsible Design Process, and an EDAP Schema (EDAP is short for "Ethische Deliberation für agile Prozesse", which translates to "ethical deliberation for agile processes").

* ["Integration moralischer Anforderungen in den agilen Entwicklungsprozess KI-basierter Anwendungen am Beispiel von Scrum"](https://link.springer.com/article/10.1365/s40702-022-00848-x#Sec2)

## Acknowledgment

This work was funded by the [Hasler Foundation](https://haslerstiftung.ch/en/welcome-to-the-hasler-foundation/).
<!-- Community members reviewed earlier versions and experimented with emerging versions of techniques and notations. -->

Version 1.0 of ESE was supported by the [Hasler Foundation](https://haslerstiftung.ch/en/welcome-to-the-hasler-foundation/).
44 changes: 38 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,14 @@
# ethical-software-engineering (ESE)

# Ethical Software Engineering (ESE)

*News (March 14, 2024):* ESE featured at ETHICOMP 2024 *"Bringing Ethical Values into Agile Software Development"*:

* Conference [presentation](https://ozimmer.ch/assets/presos/ZIO-ESEAtETHICOMPv10p.pdf) (PDF, 23 slides)
* Peer-reviewed [extended abstract](https://dialnet.unirioja.es/descarga/articulo/9326119.pdf) (PDF, 3 pages)
* Full proceedings [paper](resources/ESE-ETHICOMP2024FullPaperAuthorsCopyV101.pdf) (PDF, 10 pages)

## Overview and Orientation

*TL;DR:* [IEEE Std. 7000](https://ieeexplore.ieee.org/document/9536679) meets Agile practices
(note: access to IEEE Std. 7000 is free after registration for IEEE Xplore).

Expand All @@ -8,18 +18,24 @@

## Motivation

<!-- TODO (v2) cite form CoC preamble (see ETHICOMP presentation notes) -->

Ethical Software Engineering (ESE) is for you if:

1. You see yourself as a socially responsible software engineer.
1. You see yourself as a socially responsible software engineer. <!--, not just a "code monkey".[^1] -->
2. You see the risk that the software under construction may have undesired and/or unexpected and/or unjustified effects for one or more of its stakeholder groups and want to manage and mitigate this risk.
3. You look for a set of essential, as-light-as-possible practices that increase the chances of your project or product development effort becoming compliant with IEEE Std. 7000.

ESE targets any software engineer[^2] who wishes to create ethically valuable software, agile teams in particular. Its motivating themes are:
<!-- [^1]: "Code monkey" is a term used by Martin Fowler in presentations on the topic. We use it here under the assumption that monkeys will not feel discriminated by this term. -->

ESE targets any software engineer[^2] who wishes to create ethically valuable software, agile teams in particular. Its motivating themes are:[^1]

* *Synergies:* A value- and risk-based approach to design is very much at the heart of agile methods; for instance, [Extreme Programming](https://www.agilealliance.org/glossary/xp) aims at balancing cost, time, quality and scope variables. <!-- Sources: "Extreme Programming Explained" by Kent Beck and the "iron cross" discussion in "Clean Agile" by Robert C. Martin -->
* *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](https://www.agilealliance.org/code-of-conduct/). And a blog post on [coaching ethics](https://www.agilealliance.org/identifying-a-code-of-ethical-conduct-for-agile-coaching/) made it to the top 10 of 2022 (Agile Alliance).

[^1]: 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](ESE-Literature.md) page.

[^2]: 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.

[^3]: For instance, search for terms such as "ethics" on the [website](https://www.agilealliance.org/) of the Agile Alliance.
Expand All @@ -31,6 +47,21 @@ The following figure shows three different meanings of the term "value", dependi

For additional motivation for ethical software engineering and terminology clarification, please refer to ["Are Programmers Ethically (and Legally) Responsible for Their Code?"](https://thenewstack.io/are-programmers-ethically-and-legally-responsible-for-their-code/), an article by Jennifer Riggins on The New Stack (Aug 16, 2018).

<!--
TODO (v2) add section
## Goals and Approach
Goals and non-goals:
* + raise awareness, - allow for ethics washing
* + stimulate discussions, - over-simplify or reduce time to think and decide
* + education aid, - command/control tool
* + decision support, - decision making
Approach: "attention and reflection" are required to become a responsibleSWE; ESE provides motivation, examples, pointers, TODOs for team/roles; but no simple workflow (or even answers) or set of checkbox questions (topic is too complex and too "wicked" for that) or predefine value catalogs with right-wrong intructions, in the spirit of "positive responsibility" (John Ladd, 1993).
-->


## Repository Navigation

Expand Down Expand Up @@ -79,12 +110,13 @@ See [Bibliography page](ESE-Literature.md).

See [experimentation](/experimentation/) folder and README.

*January 13, 2024*
*August 22, 2024*
*[ZIO](https://medium.com/olzzio) aka Olaf Zimmermann*


## Acknowledgments

Bärbel Bohr, Mirko Stocker and Stefan Kapferer contributed to the ESE content via discussion input, experimenation and/or review feedback.
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!

This work was funded by the [Hasler Foundation](https://haslerstiftung.ch/en/welcome-to-the-hasler-foundation/).
Version 1.0 of ESE was supported by the [Hasler Foundation](https://haslerstiftung.ch/en/welcome-to-the-hasler-foundation/).
2 changes: 1 addition & 1 deletion contributing/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ We are happy to welcome new contributors who want to help improve our collection
title: CONTRIBUTING.md
owner: Olaf Zimmermann (ZIO)
date: "11, 08, 2023"
copyright: Olaf Zimmermann, 2023 (unless noted otherwise). All rights reserved.
copyright: Olaf Zimmermann, 2023-2024 (unless noted otherwise). All rights reserved.
```
### License
Expand Down
Loading

0 comments on commit 5a10eb8

Please sign in to comment.