ADR examples
These worked records include the context, decision, and uncomfortable consequences—not just a polished outcome. Read one close to your problem to calibrate the level of detail, then replace its assumptions and evidence rather than copying the conclusion. Each page uses the compact Nygard structure. The generator can render the same decision in other supported formats.
Last reviewed: .
How to adapt an example
- Keep the section structure, but replace the context with your actual constraints.
- Use evidence your reviewers can verify; remove options your team never considered.
- Rewrite consequences as costs and follow-up work you are genuinely accepting.
- Link the finished record from your architecture decision log.
Default relational database for new services (PostgreSQL)
An architecture decision record example for a database default: one engine to simplify operations, with explicit carve-outs.
What it demonstrates: How to state a platform default without pretending every workload is identical.
Incremental monolith to services (bounded cutovers)
Strangler pattern with data ownership rules; non-goals are explicit to avoid a big-bang rewrite.
What it demonstrates: How to make migration boundaries and non-goals reviewable.
Use Redis for short-lived application caching
Read-through cache for latency, not a source of truth: invalidation and correctness stay first-class in review.
What it demonstrates: How to keep failure modes visible when a performance optimization adds state.
Introduce event-driven communication for order lifecycle updates
Proposed: domain events to loosen coupling; eventual consistency and observability are called out as consequences.
What it demonstrates: How to record operational consequences before changing a communication model.
Use a managed authentication provider
Security and time-to-delivery over owning auth internals; vendor dependency and custom flows are acknowledged.
What it demonstrates: How to make a buy-versus-build tradeoff and its vendor dependency explicit.
Architecture decision log — how a whole set of ADRs is indexed and maintained over time.
Start from the markdown template or the generator when you write the first file in your own repository.