Skip to content

Commit

Permalink
Min edits and fixes, metadata for R1.0.1
Browse files Browse the repository at this point in the history
  • Loading branch information
socadk committed Jan 13, 2024
1 parent 28add29 commit 21d1815
Show file tree
Hide file tree
Showing 6 changed files with 13 additions and 28 deletions.
1 change: 0 additions & 1 deletion ESE-Glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,6 @@ 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 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 Down
20 changes: 1 addition & 19 deletions ESE-Literature.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
* ["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/)
* 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)
Expand All @@ -24,33 +25,14 @@ Codes of Conduct and Ethics:

* 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

<!-- Community members reviewed earlier versions and experimented with emerging versions of techniques and notations. -->

This work was funded by the [Hasler Foundation](https://haslerstiftung.ch/en/welcome-to-the-hasler-foundation/).
12 changes: 9 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,10 @@

Ethical Software Engineering (ESE) is for you if:

1. You see yourself as a socially responsible software engineer. <!--, not just a "code monkey".[^1] -->
1. You see yourself as a socially responsible software engineer.
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.

<!-- [^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:

* *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 -->
Expand Down Expand Up @@ -77,6 +75,14 @@ A collection of [Frequently Asked Questions (FAQs)](ESE-FAQ.md) is available.
See [Bibliography page](ESE-Literature.md).


## Evaluation and Feedback

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

*January 13, 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.
Expand Down
4 changes: 2 additions & 2 deletions practices/ESE-EthicalReview.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Not performing an Ethical Review compromizes the value of ESE; the Story Valuati

### Instructions

*Inspect the user story implementations with regards to the prioritized Value Cluster demonstrators/narratives and Value Requirements from Story Valuation in a meeting. Capture the meeting outcome in a report.*
*Inspect the user story implementations with regards to the prioritized Value Cluster demonstrators and Value Requirements from Story Valuation in a meeting. Capture the meeting outcome in a report.*

Record answers to the following questions during the review meeting:

Expand Down Expand Up @@ -121,7 +121,7 @@ Miscellaneous:
```yaml
title: "ESE artifact: Ethics Review Meeting/Report"
author: Olaf Zimmermann (ZIO)
date: "11, 13, 2023 (Source: Project ESE)"
date: "11, 20, 2023 (Source: Project ESE)"
copyright: The author, 2023 (unless noted otherwise). All rights reserved.
license: Creative Commons Attribution 4.0 International License
```
3 changes: 1 addition & 2 deletions practices/ESE-StoryValuation.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ Output: New or updated Value Register, EVRs, (optional) VBSRs
Activity: *Story Valuation*
---------------------------
also known as Value-Enhanced User Story Elicitation, People-Society-Planet INVESTing
<!-- 4852 words on Oct 25, 2023 -->

*Quick links:* (1) [Goal and Purpose](#goal-and-purpose) (2) [Notations](#notations) (3) [Techniques](#valuation-techniques) (4) [Usage](#usage) (5) [Application Hints](#hints-and-pitfalls-to-avoid) (6) [Other Practices](/practices/) (7) [ESE Home](/README.md)

Expand Down Expand Up @@ -442,7 +441,7 @@ Ethical values and ways to handle them are explained here:

* The article ["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+%28Pre-print%29.pdf) has many more examples of values.
* IEEE Std. 7000 and literature on "Material Value Ethics" may help with prioritization:
* For instance, advice is given on in Clause 8.3, Step d) on page 41; seven types of ethical considerations and three external sources are listed. Table B.1 in Annex B of IEEE Std. 7000 summarizes five principles for value ranking and provides examples; Table D.1 in Annex D lists legal, societal, and environmental feasibility study guidelines (pages 62 to 64).
* For instance, advice is given in Clause 8.3, Step d) on page 41; seven types of ethical considerations and three external sources are listed. Table B.1 in Annex B of IEEE Std. 7000 summarizes five principles for value ranking and provides examples; Table D.1 in Annex D lists legal, societal, and environmental feasibility study guidelines (pages 62 to 64).
* And ["Value-Sensitive Design"](https://mitpress.mit.edu/9780262039536/value-sensitive-design/) compiles 13 human values in Table 2.1 on page 28; Table 3.1 on pages 61 to 64 summarizes 17 value-sensitive design methods.
* A 2019 conference presentation by Jennifer Riggins called ["How (and Why) to Factor Tech Ethics into Your Sprint"](https://www.infoq.com/presentations/tech-ethics-sprint/) and her article ["Tech Ethics New Year’s Resolution: Don’t Build Software You Will Regret"](https://thenewstack.io/tech-ethics-new-years-resolution-dont-build-software-you-will-regret/) ask valuation questions, effectively forestalling/antedating our three valuation techniques, for instance "What is the worst possible use case for this code?" Other questions concern connectivity and data transfer as well as data storage and lifetime.
* Annex B of IEEE Std. 7000 covers value concepts, starting from philosophical foundations in B1; B2 presents an example and B.4 covers value ranking. Annex C is about ethical theories applied to ethical value elicitation, for instance, utilitarian ethics, virtue ethics, and duty ethics.
Expand Down
1 change: 0 additions & 1 deletion practices/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
# Activities and artifacts in Ethical Software Engineering (ESE)
<!-- 273 words on Oct 25, 2023 -->

ESE extends three existing practices (activities, artifacts) and proposes two new ones. It also uses three existing ones (unchanged).

Expand Down

0 comments on commit 21d1815

Please sign in to comment.