[Short noun phrase describing the decision]
Context
[This section should explain:]
- What is the current situation?
- What problems are we trying to solve?
- What constraints or requirements do we have?
- What are the key business, technical, or operational drivers?
Decision
[This section should include:]
- The specific decision being made
- Key implementation details or parameters
- Any standards, patterns, or conventions being adopted
- How this decision addresses the problems stated in the Context
text
Example code, configuration, or technical specification
that demonstrates the decision can be included here
Consequences
[Describe the resulting context, after applying the decision. All consequences should be listed here, not just the "positive" ones. A particular decision may have positive, negative, and neutral consequences, but all of them affect the team and project in the future.]
Positive Consequences
- [List the benefits and advantages of this decision]
- [Include improvements to development experience, performance, maintainability, etc.]
- [Mention any problems this decision solves]
Negative Consequences
- [List the drawbacks, costs, or limitations of this decision]
- [Include any increased complexity, maintenance burden, or technical debt]
- [Mention any trade-offs or compromises made]
Neutral Consequences
- [List any other effects that are neither clearly positive nor negative]
- [Include changes to processes, tools, or team practices]
Alternatives Considered
[Optional section - include if relevant]
1. [Alternative Name]
- Description: [Brief description of the alternative approach]
- Reason for Rejection: [Why this alternative was not chosen]
2. [Alternative Name]
- Description: [Brief description of the alternative approach]
- Reason for Rejection: [Why this alternative was not chosen]
References
[Optional section - include if relevant]
- [Link to related documentation]
- [Reference to external standards or best practices]
- [Links to discussions, RFCs, or other relevant resources]