From 877fed5637d0c2de39f25056c96a53404a1e67d5 Mon Sep 17 00:00:00 2001 From: Enrico Candino Date: Fri, 20 Jan 2023 11:46:27 +0100 Subject: [PATCH] added madr (#2030) --- docs/decisions/README.md | 15 +++++++ docs/decisions/adr-template.md | 79 ++++++++++++++++++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 docs/decisions/README.md create mode 100644 docs/decisions/adr-template.md diff --git a/docs/decisions/README.md b/docs/decisions/README.md new file mode 100644 index 0000000000..70c4ee43e5 --- /dev/null +++ b/docs/decisions/README.md @@ -0,0 +1,15 @@ +# Decisions + +This directory contains the Architectural Decision Records (ADRs) for Epinio. + +More information about ADRs can be found here: https://adr.github.io/ + +The template used is the MADR https://adr.github.io/madr/ + +## Create an ADR + +To create an ADR: + +- Copy the `adr-template.md` to `NNNN-title-with-dashes.md` +- Edit `NNNN-title-with-dashes.md` +- Create a Pull Request with the new ADR diff --git a/docs/decisions/adr-template.md b/docs/decisions/adr-template.md new file mode 100644 index 0000000000..682c6bd681 --- /dev/null +++ b/docs/decisions/adr-template.md @@ -0,0 +1,79 @@ +--- +# These are optional elements. Feel free to remove any of them. +status: {proposed | rejected | accepted | deprecated | … | superseded by ADR-0005 <0005-example.md>} +date: {YYYY-MM-DD when the decision was last updated} +deciders: {list everyone involved in the decision} +consulted: {list everyone whose opinions are sought (typically subject-matter experts); and with whom there is a two-way communication} +informed: {list everyone who is kept up-to-date on progress; and with whom there is a one-way communication} +--- + +# {short title of solved problem and solution} + +## Context and Problem Statement + +{Describe the context and problem statement, e.g., in free form using two to three sentences or in the form of an illustrative story. You may want to articulate the problem in form of a question and add links to collaboration boards or issue management systems.} + + +## Decision Drivers + +* {decision driver 1, e.g., a force, facing concern, …} +* {decision driver 2, e.g., a force, facing concern, …} +* … + +## Considered Options + +* {title of option 1} +* {title of option 2} +* {title of option 3} +* … + +## Decision Outcome + +Chosen option: "{title of option 1}", because +{justification. e.g., only option, which meets k.o. criterion decision driver | which resolves force {force} | … | comes out best (see below)}. + + +### Consequences + +* Good, because {positive consequence, e.g., improvement of one or more desired qualities, …} +* Bad, because {negative consequence, e.g., compromising one or more desired qualities, …} +* … + + +## Validation + +{describe how the implementation of/compliance with the ADR is validated. E.g., by a review or an ArchUnit test} + + +## Pros and Cons of the Options + +### {title of option 1} + + +{example | description | pointer to more information | …} + +* Good, because {argument a} +* Good, because {argument b} + +* Neutral, because {argument c} +* Bad, because {argument d} +* … + +### {title of other option} + +{example | description | pointer to more information | …} + +* Good, because {argument a} +* Good, because {argument b} +* Neutral, because {argument c} +* Bad, because {argument d} +* … + + +## More Information + +{You might want to provide additional evidence/confidence for the decision outcome here and/or + document the team agreement on the decision and/or + define when and how this decision should be realized and if/when it should be re-visited and/or + how the decision is validated. + Links to other decisions and resources might appear here as well.} \ No newline at end of file