An Architecture Decision Record (ADR) is a concise account of a decision with significant consequences. A basic record includes a title, status, context, decision and consequences. In practice, also record the options considered and the assumptions on which the decision depends.

Fictional example: “We will use a queue instead of a synchronous call for reservation-change notifications. This tolerates brief provider outages, while introducing delivery latency and the need to handle retries.”

When a decision changes, add a new ADR and record its relationship to the earlier one. That preserves the reason the solution took its current shape.