arc42
ソフトウェアアーキテクチャのドキュメントを書くためのテンプレート。2005年にGernot StarkeとPeter Hruschkaが作成し、オープンソース・無料(商用利用可)で公開されている。
12セクション構成
各セクションは任意(オプション)で、プロジェクトの規模・性質に応じて取捨選択して使う。
- Introduction & Goals — 要件と品質目標
- Constraints — 規制・外部制約
- Context & Scope — 外部システムとのインターフェース
- Solution Strategy — 核となる方針
- Building Block View — ソースコード構造・モジュール分割
- Runtime View — 重要な実行時シナリオ
- Deployment View — ハードウェア・インフラ・デプロイ構成
- Crosscutting Concepts — 横断的な技術的決定事項
- Architectural Decisions — 重要なアーキテクチャ決定(ADR的な位置づけ)
- Quality Requirements — 品質ツリー・品質シナリオ
- Risks & Technical Debt — 既知の課題・リスク(技術的負債)
- Glossary — 用語集
特徴
- 技術・プロセスに依存しない設計で、アジャイルなチームにも向く。
- 他のアーキテクチャドキュメントテンプレート(4+1ビューモデルなど)と比べてミニマルで、肥大化しにくい。
- テンプレート・実例集・Tips集(144個)が公式サイトで公開されている。