Architecture Decision Records (ADRs): Documenting the Why

Code comments explain *what*, but not *why* a particular architectural decision was made. **ADRs** are lightweight Markdown documents capturing context, options considered, and the decision chosen.

ADR Template

# ADR-001: Use PostgreSQL over SQL Server

## Status
Accepted

## Context
We need a relational database for application X. 
Options: SQL Server, PostgreSQL, MySQL.

## Decision
Use PostgreSQL because of licensing costs and JSON support.

## Consequences
Team needs training on pgAdmin. 
ARM templates change.

Key Takeaways

  • Store ADRs in the repo (`docs/adr/`).
  • ADRs are immutable. If a decision changes, write a new ADR superseding the old one.

Discover more from C4: Container, Code, Cloud & Context

Subscribe to get the latest posts sent to your email.

WordPress database error: [User 'dataadl336' has exceeded the 'max_questions' resource (current value: 40000)]
SELECT SQL_CALC_FOUND_ROWS cmxg4_comments.comment_ID FROM cmxg4_comments WHERE ( comment_approved = '1' ) AND comment_post_ID = 15560 AND comment_type NOT IN ('note') ORDER BY cmxg4_comments.comment_date_gmt ASC, cmxg4_comments.comment_ID ASC

Leave a comment

Your email address will not be published. Required fields are marked *

WordPress database error: [User 'dataadl336' has exceeded the 'max_questions' resource (current value: 40000)]
SELECT option_value FROM cmxg4_options WHERE option_name = 'akismet_comment_nonce' LIMIT 1

This site uses Akismet to reduce spam. Learn how your comment data is processed.

WordPress database error: [User 'dataadl336' has exceeded the 'max_questions' resource (current value: 40000)]
SELECT option_value FROM cmxg4_options WHERE option_name = 'cookie_consent_template' LIMIT 1

WordPress database error: [User 'dataadl336' has exceeded the 'max_questions' resource (current value: 40000)]
SELECT option_value FROM cmxg4_options WHERE option_name = 'jpsq_sync_checkout'

WordPress database error: [User 'dataadl336' has exceeded the 'max_questions' resource (current value: 40000)]
SELECT COUNT(*) FROM cmxg4_jetpack_sync_queue WHERE queue_id = 'sync'