This ADR template emphasizes creating a business case for a decision, including critera, candidates, and costs.
- Title
- Status
- Evaluation criteria
- Candidates to consider
- Research and analysis of each candidate
- Does/doesn't meet criteria and why
- Cost analysis
- SWOT analysis
- Opinions and feedback
- Recommendation
Title:
- A short present tense imperative phrase, less than 50 characters, like a git commit message.
Status:
- One of proposed, accepted, rejected, deprecated, superseded, etc.
Evaluation criteria:
-
Summary: explain briefly what we seek to discover and why.
-
Specifics
Candidates to consider:
-
Summary: explain briefly how we discovered candidates, and draw attention to any outliers.
-
List all candidates and related options; what are we evaluating as potential solutions?
-
Specifics
Research and analysis of each candidate:
-
Summary: explain briefly the research methods, and draw attention to patterns, clusters, and outliers.
-
Does/doesn't meet criteria and why
-
Summary
-
Specifics
-
-
Cost analysis
-
Summary
-
Examples
-
Licensing, such as contract agreements and legal commitments
-
Training, such as upskilling and change management
-
Operating, such as support and maintenance
-
Metering, such as bandwidth and CPU usage
-
-
-
SWOT analysis
-
Summary
-
Strengths
-
Weaknesses
-
Opportunites
-
Threats
-
-
Internal opinions and feedback
-
Summary
-
Examples
-
By the team, ideally written by the actual person
-
From other stakeholders
-
Quality attributes a.k.a. cross-functional requirements
-
-
-
External opinions and feedback
-
Summary
-
Who is providing the opinion?
-
What are other candidates you considered?
-
What are you creating?
-
Examples
-
B2B or B2C
-
external-facing or employee-only
-
desktop or mobile
-
pilot or production
-
monolith or microservices
-
-
-
How did you evaluate the candidates?
-
Why did you choose the winner?
-
What is happening since then?
-
Examples
-
How is the winner performing?
-
What % of real-world production user traffic is flowing through the winner?
-
What kinds of integrations are involved, such as with continuous delivery pipelines, content management systems, analytics and metrics, etc.?
-
Knowing what you know now, what would you advise people to do differently?
-
-
-
-
Anecdotes
Recommendation:
-
Summary
-
Specifics