mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2025-12-16 17:45:39 -06:00
2.7 KiB
2.7 KiB
Architecture Decision Records (ADRs)
Purpose
This folder contains Architecture Decision Records (ADRs) for the OpenCloud related topics. ADRs capture important architectural decisions, their context, alternatives, and rationale.
They help us:
- Document the reasoning behind significant technical choices.
- Share knowledge and context with current and future team members.
- Ensure transparency and continuity in our architectural evolution.
Why Use ADRs?
ADRs provide a structured way to record, discuss, and find architectural decisions over time. They make it easier to:
- Understand why certain approaches were chosen.
- Avoid revisiting previous discussions without context.
- Onboard new contributors efficiently.
When to Create an ADR
Not every technical or architectural decision needs a dedicated ADR. Use an ADR to document decisions which are significant, such as:
- It substantially affects the architecture, design, or direction of OpenCloud.
- It involves trade-offs between multiple options.
- It needs Team consensus or input from multiple stakeholders.
Writing ADRs
- Location: Store all ADRs as Markdown files in this folder.
- Format: Use Markdown.
- Naming: Adhere to the naming convention, e.g.,
0001-descriptive-title.md.
ADR Template
---
title: "Some Descriptive Title"
---
* Status: proposed / accepted / deprecated / superseded
* Deciders: [@user1, @user2]
* Date: YYYY-MM-DD
Reference: (link to relevant epic, story, issue)
## Context and Problem Statement
Describe the background and why this decision is needed.
## Decision Drivers
Describe the criteria that explains why this decision has to be made.
## Considered Options
Describe single or multiple options that were considered or could be considered.
## Decision Outcome
Describe the chosen option and why it was selected.
### Implementation Steps
Describe the steps needed to implement the decision.
Process
New ADRs
- Write a new ADR as a Markdown file.
- Submit it via pull request for review.
- Decision is made collaboratively, details will be discussed in the PR, which can lead to further changes.
- Update the ADR status once a decision is reached.
- Reference ADRs in code, documentation, or issues where relevant.
Updating ADRs
- If an ADR needs to be updated, create a new ADR that references the original.
- Follow the same process as for new ADRs.
- Once accepted, update the status of the original ADR and reference that new ADR.