ADR [Number]: [Title]
Status: [Proposed | Accepted | Rejected | Superseded by ADR-XX]
Date: YYYY-MM-DD
Last Updated: YYYY-MM-DD
Terms (this ADR)
| ID | Term | Meaning |
|---|---|---|
| Rn | Functional requirement | Numbered obligation the system must meet (R1, R2, …). |
| NRn | Non-functional requirement | Quality attribute: security, performance, operability (NR1, NR2, …). |
| Cn | Constraint | Non-negotiable boundary; violating it invalidates the decision (C1, C2, …). |
| CCn | Cross-cutting challenge | Risk or tension that spans components, with a documented mitigation (CC1, …). |
| … | (ADR-specific) | Define acronyms and terms used in requirements below (e.g. CTA, domain nouns). |
Canonical product vocabulary: Glossary.
Context
[Describe the context and problem statement. Why are we making this decision? What are the constraints and requirements?]
Requirements
Functional requirements (R1–R…)
| ID | Requirement |
|---|---|
| R1 | [First functional requirement.] |
Non-functional requirements (NR1–NR…)
| ID | Requirement |
|---|---|
| NR1 | [First non-functional requirement.] |
Constraints (C1–C…)
| ID | Constraint |
|---|---|
| C1 | [First constraint.] |
Cross-cutting challenges (CC1–CC…)
| ID | Challenge | Mitigation |
|---|---|---|
| CC1 | [Challenge.] | [Mitigation.] |
Decision
[Describe the decision we are making. Be specific and actionable.]
Rejected alternatives
| Alternative | Why rejected |
|---|---|
| … | … |
Consequences
Positive
- …
Negative
- …
Neutral
- …
Verification (optional)
| Scenario | Expected |
|---|---|
| … | … |