diff --git a/adr/adr-process.md b/adr/adr-process.md new file mode 100644 index 000000000..71d338edf --- /dev/null +++ b/adr/adr-process.md @@ -0,0 +1,35 @@ +# ADR Process + +## Overview + +When writing/maintaining software, developers often have to make architectural design decisions. In the BigBone project, +we use Architectural Decision Records (ADRs) to log the outcome of the decision-making process behind. ADRs are +typically created for design decisions that address a functional or non-functional requirement that is architecturally +significant. Hence, we can view them as journals, akin to meeting outcome summaries or discussion notes. ADRs help +future developers to better understand why things are done in a particular way. + +## Process + +## ADR Creation + +The process for discussing architectural or design topics is initiated by first identifying a need for discussing it. +Once the team has agreed that there is a real need for having an in-depth discussion, the process is initiated as +follows: + +1. The initiator of the topic creates a new discussion thread under the "Architecture & Design" category. The topic is + discussed on the discussion thread and members agree on a decision to be taken. +2. The outcome of the discussion should be recorded in a new ADR inside the `/adr` folder. Please use the provided + template for this (`adr-template.md`). Give your ADR a meaningful name, such as `0001-exception-handling.md`. For + every future ADR, the number should be incremented by 1. +3. Also please place a link in the discussion thread that points to the newly created ADR. +4. If concrete action needs to be taken, please open issues for all of them and refer to the ADR. + +## ADR Review + + + +## More on ADRs + +- https://adr.github.io/ +- https://www.ozimmer.ch/practices/2023/04/03/ADRCreation.html +- https://docs.aws.amazon.com/prescriptive-guidance/latest/architectural-decision-records/adr-process.html \ No newline at end of file diff --git a/adr/adr-template.md b/adr/adr-template.md new file mode 100644 index 000000000..a8ff5cc05 --- /dev/null +++ b/adr/adr-template.md @@ -0,0 +1,22 @@ +# ADR : + +## Status + +The status of this ADR. Valid statuses are: + +- Proposed: ADRs in the Proposed state are ready for review. +- Accepted: An ADR which was accepted by the team. +- Rejected: An ADR which was rejected by the team. +- Superseded: An ADR which was replaced by a newer one. + +## Context + +What is the issue that we're seeing that is motivating this decision or change? + +## Decision + +What is the change that we're proposing and/or doing? + +## Consequences + +What becomes easier or more difficult to do because of this change? \ No newline at end of file