ADR
テキストベースの軽量なテンプレートを使用して、アーキテクチャ上の設計判断を記録する。(中略)設計判断を記録していくことで、それらを共有し分析することが容易になる。意思決定の履歴を残すことで、現在のアーキテクチャについてのコンテキストを、その過程と結びつけて提供できる。
具体的な実装として代表的なものとして次のようなものがある
madr : 2022年末時点ではこれが主流っぽい。Markdown Any(Architectureに限らない!) Decision Records。 Nygard のもの(上記のオリジナルなもの)
基本的なADRの構造
タイトル:アーキテクチャ決定の簡単な説明
ステータス:提案済み、承認済み、破棄
コンテキスト:この決定を行った状況
決定:決定とその根拠
影響:この決定による影響
コンプライアンス:この決定が順守されていることを確認する方法
備考:この決定のメタデータ(著者など)
参考資料
hr.icon
Nygard の記事で、「An architecture decision record is a short text file in a format similar to an Alexandrian pattern. (Though the decisions themselves are not necessarily patterns, they share the characteristic balancing of forces.) Each record describes a set of forces and a single decision in response to those forces. Note that the decision is the central piece here, so specific forces may appear in multiple ADRs.」と言っていて、アレグザンダーのパターンとADRの共通性について語っている koma.icon kawasima訳のgistを見つけたのでリンクしておきました。ADR自体はパターンでなくてもいいけれど、フォースに着目しよう(言語化して伝えていこう)っていうのが興味ぶかいですね。 kakutani.icon