Architectural Decision Records (ADRs)

An Architectural Decision (AD) is a justified software design choice that addresses a functional or non-functional requirement that is architecturally significant. An Architecturally Significant Requirement (ASR) is a requirement that has a measurable effect on a software system’s architecture and quality. An Architectural Decision Record (ADR) captures a single AD and its rationale; the collection of ADRs created and maintained in a project constitute its decision log. All these are within the topic of Architectural Knowledge Management (AKM), but ADR usage can be extended to design and other decisions (“any decision record”).



アーキテクチャ上の意思決定 (AD)とは、アーキテクチャ上の重要な機能要件または非機能要件に対応する、正当化されたソフトウェア設計の選択です。アーキテクチャ上の重要な要件 (ASR) とは、ソフトウェアシステムのアーキテクチャと品質に計測可能な影響を与える要件です。アーキテクチャ上の意思決定記録 (ADR) とは、単一の AD とその根拠を記録したものです。プロジェクトで作成および維持される ADR の集合は、そのプロジェクトの意思決定ログを構成します。これらすべては、アーキテクチャ知識管理 (AKM) のトピックに含まれますが、ADR の使用は設計およびその他の意思決定 (“any decision record”) にまで拡張することができます。

ADR Sample

nokogiri の例:

〜その意思決定を刻め〜「アーキテクチャ・デシジョン・レコード(ADR)」を利用した設計の記録 - スタディサプリ Product Team Blog


npryce/adr-tools: Command-line tools for working with Architecture Decision Records

immutable document という考え方