ADR
Architecture Decision Records の頭字語。
テキストベースの軽量なテンプレートを使用して、アーキテクチャ上の設計判断を記録する。(中略)設計判断を記録していくことで、それらを共有し分析することが容易になる。意思決定の履歴を残すことで、現在のアーキテクチャについてのコンテキストを、その過程と結びつけて提供できる。
(『Design It!』p.302)
Documenting Architecture Decisions (public domain)で Michael T. Nygard が提唱したものがじわじわ広がっている
kawasimaによる日本語訳 http://thinkrelevance.com/blog/2011/11/15/documenting-architecture-decisions
概念としてのADRのサイトは: https://adr.github.io/
具体的な実装として代表的なものとして次のようなものがある
madr : 2022年末時点ではこれが主流っぽい。Markdown Any(Architectureに限らない!) Decision Records。
YStatement
Nygard のもの(上記のオリジナルなもの)
基本的なADRの構造
『ソフトウェアアーキテクチャの基礎』 p.189
タイトル:アーキテクチャ決定の簡単な説明
ステータス:提案済み、承認済み、破棄
コンテキスト:この決定を行った状況
決定:決定とその根拠
影響:この決定による影響
コンプライアンス:この決定が順守されていることを確認する方法
備考:この決定のメタデータ(著者など)
参考資料
https://github.com/joelparkerhenderson/architecture-decision-record
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
#執筆者募集中