Skip to content

Commit 45e86ad

Browse files
committed
feat(adr): enhance options section with weighted scoring criteria and detailed evaluation format
1 parent f6b821a commit 45e86ad

File tree

1 file changed

+42
-22
lines changed

1 file changed

+42
-22
lines changed

docs/adr/ADR-nnn_Any_Decision_Record_Template.md

Lines changed: 42 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -43,45 +43,60 @@ List the decision drivers that motivate this decision or course of action. This
4343

4444
### Options 🔀
4545

46-
Consider a comprehensive set of alternative options. Include weighting or scoring if it improves clarity.
46+
Consider a comprehensive set of alternative options. Always use weighted scoring. Identify the top one or two criteria for this decision context and weight them higher than the rest. State the weighting method once and apply it consistently across all options.
4747

4848
#### Option A: {Descriptive name} (Selected) ✅
4949

50+
**Top criteria**: {Criterion 1, Criterion 2}
51+
52+
**Weighted option score**: {0.0 — 5.0} (define the formula; use weights)
53+
5054
Summarise the core idea behind the selected option, including how it works at a high level and any critical constraints or prerequisites.
5155

52-
| Criteria (example) | Score/Notes |
53-
| ------------------ | --------------------------------------------- |
54-
| Criterion 1 | ⭐⭐⭐ {reasoning for score} |
55-
| Criterion 2 | ⭐⭐ {reasoning for score} |
56-
| Criterion 3 | ⭐⭐⭐ {reasoning for score} |
57-
| Criterion 4 | ⭐⭐ {reasoning for score} |
58-
| Effort | {T-shirt size or estimate with justification} |
56+
| Criteria (example) | Weight | Score/Notes |
57+
| ------------------ | ------ | --------------------------------------------- |
58+
| Criterion 1 | {1-5} | ⭐⭐⭐ {reasoning for score} |
59+
| Criterion 2 | {1-5} | ⭐⭐ {reasoning for score} |
60+
| Criterion 3 | {1-5} | ⭐⭐⭐ {reasoning for score} |
61+
| Criterion 4 | {1-5} | ⭐⭐ {reasoning for score} |
62+
| Effort | {1-5} | {T-shirt size or estimate with justification} |
63+
| Total score | | {0.0 — 5.0} |
5964

6065
#### Option B: {Descriptive name}
6166

67+
**Top criteria**: {Criterion 1, Criterion 2}
68+
69+
**Weighted option score**: {0.0 — 5.0} (define the formula; use weights)
70+
6271
Describe the second viable option, including the mechanisms involved and notable strengths/weaknesses.
6372

64-
| Criteria (example) | Score/Notes |
65-
| ------------------ | --------------------------------------------- |
66-
| Criterion 1 | ⭐⭐ {reasoning for score} |
67-
| Criterion 2 | ⭐⭐ {reasoning for score} |
68-
| Criterion 3 | ⭐ {reasoning for score} |
69-
| Criterion 4 | ⭐⭐⭐ {reasoning for score} |
70-
| Effort | {T-shirt size or estimate with justification} |
73+
| Criteria (example) | Weight | Score/Notes |
74+
| ------------------ | ------ | --------------------------------------------- |
75+
| Criterion 1 | {1-5} | ⭐⭐ {reasoning for score} |
76+
| Criterion 2 | {1-5} | ⭐⭐ {reasoning for score} |
77+
| Criterion 3 | {1-5} | ⭐ {reasoning for score} |
78+
| Criterion 4 | {1-5} | ⭐⭐⭐ {reasoning for score} |
79+
| Effort | {1-5} | {T-shirt size or estimate with justification} |
80+
| Total score | | {0.0 — 5.0} |
7181

7282
**Why not chosen**: Capture the concrete reasons this option was rejected. Reference measurable risks, constraints, or trade-offs evidenced in the codebase or architecture.
7383

7484
#### Option C: {Descriptive name}
7585

86+
**Top criteria**: {Criterion 1, Criterion 2}
87+
88+
**Weighted option score**: {0.0 — 5.0} (define the formula; use weights)
89+
7690
Describe the third option (or more if needed) with enough detail for readers to evaluate it at a glance.
7791

78-
| Criteria (example) | Score/Notes |
79-
| ------------------ | --------------------------------------------- |
80-
| Criterion 1 | ⭐⭐ {reasoning for score} |
81-
| Criterion 2 | ⭐ {reasoning for score} |
82-
| Criterion 3 | ⭐ {reasoning for score} |
83-
| Criterion 4 | ⭐⭐ {reasoning for score} |
84-
| Effort | {T-shirt size or estimate with justification} |
92+
| Criteria (example) | Weight | Score/Notes |
93+
| ------------------ | ------ | --------------------------------------------- |
94+
| Criterion 1 | {1-5} | ⭐⭐ {reasoning for score} |
95+
| Criterion 2 | {1-5} | ⭐ {reasoning for score} |
96+
| Criterion 3 | {1-5} | ⭐ {reasoning for score} |
97+
| Criterion 4 | {1-5} | ⭐⭐ {reasoning for score} |
98+
| Effort | {1-5} | {T-shirt size or estimate with justification} |
99+
| Total score | | {0.0 — 5.0} |
85100

86101
**Why not chosen**: Explain the specific drawbacks, blockers, or context conflicts that ruled out this option.
87102

@@ -129,3 +144,8 @@ If the decision is tactical, sub-optimal, or misaligned with strategic direction
129144
Use tags to link related ADRs by cross-cutting concern and quality attribute. Prefer a small, consistent set.
130145

131146
`#availability|#reliability|#resilience|#recoverability|#scalability|#performance|#latency|#throughput|#efficiency|#cost|#security|#privacy|#compliance|#auditability|#observability|#operability|#maintainability|#testability|#deployability|#portability|#interoperability|#compatibility|#usability|#accessibility|#simplicity|#modularity|#extensibility|#data-integrity|#data-quality|#data-retention|#data-lineage|#idempotency|#consistency|…`
147+
148+
---
149+
150+
> **Version**: 1.5.0
151+
> **Last Amended**: 2026-02-12

0 commit comments

Comments
 (0)