-
-
Notifications
You must be signed in to change notification settings - Fork 1
ADRXX Template
Important, expensive, large scale or risky architecture decisions including rationales. With "decisions" we mean selecting one alternative based on given criteria.
Please use your judgement to decide whether an architectural decision should be documented here in this central section or whether you better document it locally (e.g. within the white box template of one building block).
Avoid redundancy. Refer to section 4, where you already captured the most important decisions of your architecture.
Stakeholders of your system should be able to comprehend and retrace your decisions.
Various options:
- ADR (Documenting Architecture Decisions) for every important decision
- List or table, ordered by importance and consequences or:
- more detailed in form of separate sections per decision
- Status: {proposed | rejected | accepted | deprecated | … | superseded by ADR-0005}
- Deciders: {list everyone involved in the decision}
- Date: {YYYY-MM-DD when the decision was last updated}
Technical Story: {description | ticket/issue URL}
{Describe the context and problem statement, e.g., in free form using two to three sentences. You may want to articulate the problem in form of a question.}
- {driver 1, e.g., a force, facing concern, …}
- {driver 2, e.g., a force, facing concern, …}
- …
- option 1
- option 2}
- option 3
- …
Chosen option: "{option 1}", because {justification. e.g., only option, which meets k.o. criterion decision driver | which resolves force {force} | … | comes out best (see below)}.
- {e.g., improvement of quality attribute satisfaction, follow-up decisions required, …}
- …
- {e.g., compromising quality attribute, follow-up decisions required, …}
- …
{example | description | pointer to more information | …}
- Good, because {argument a}
- Good, because {argument b}
- Bad, because {argument c}
- …
{example | description | pointer to more information | …}
- Good, because {argument a}
- Good, because {argument b}
- Bad, because {argument c}
- …
- Refined by ADR-0005
- …
README | Contributing | Code of Conduct | Support | Funding | Security | License |
- Home of the Wiki
- Roadmap
- API Reference
- Glossary
- Contributor Guide
- Code of Conduct
- Support
- Funding
- Security
- License
- Description of Core Essence
- Cost Estimates
- Staffing Estimates
- Predicted Benefits
- Risks
- Scheduled Milestones
- Definition of Ready
- Definition of Done
- Project Decisions
- Technological Decisions
- Sprint Reviews
- Sprint Retrospectives
- Continuous Integration
- Continuous Deployment
- Operations Troubleshooting
- External Systems
- Style Guide
- Specific Views
- View 1
- ...
- About
- Introduction and Goals
- Constraints
- Context
- Solution Strategy
- Building Block View
- Runtime View
- Deployment View
- Cross Cutting Concepts
- Design Decisions
- ADRXX Template
- ...
- Quality Requirements
- Risks and Technical Debt
- Glossary
- Reference Manuals
- Support Guides
- Release Notes