コンテンツにスキップ

arc42

arc42 は、ソフトウェアアーキテクチャをドキュメント化するための無料・オープンなテンプレートで、Dr. Peter HruschkaGernot Starke によって 2003 年に作成されました。ドイツ語圏 IT 業界ではアーキテクチャドキュメントの事実上の標準であり、ベンダー中立・技術非依存の構造として世界的に利用されています。

正本リンクhttps://arc42.org/overview/
メンテナDr. Peter Hruschka、Gernot Starke(Aim42)
キット内の hometemplate/docs/arc42/
pentaglyph 内のスロット5 つ中 #1 ― アーキテクチャ・スパイン

アーキテクチャ doc は典型的に 3 つの失敗モードのどれかに陥ります:

  1. ― アーキテクチャ doc が存在しない。設計はシニアエンジニアの頭の中にだけ
  2. 肥大化 ― 200 ページの Word ドキュメント。誰も読まず、ハンドオーバー時に 1 度だけ更新されて二度と更新されない
  3. 即興 ― 1 つの README.md が ad-hoc にトピックを増やす。プロジェクト間で構造が共有されない

arc42 はモード 3 を解決します。12 セクションのテンプレート がすべてのアーキテクチャ関心事に 1 度だけ名前を与え、固定の home を与えます。不要なセクションは空スタブのまま残します(構造自体が情報的)。

#セクション中身
1Introduction & Goalsシステムが何をするか、最優先 2〜3 個の品質目標
2Constraints選択を制限する技術 / 組織 / 政治的制約
3Context & Scopeどのシステム / アクターが統合するか。スコープ外は何か
4Solution Strategyビッグピクチャの技術選択と理由
5Building Blocks静的分解(L2+ は detailed-design/ へリンク)
6Runtime View重要シナリオのシーケンス図
7Deployment Viewシステムが実際に動く場所
8Crosscuttingモジュール横断の関心事: security、observability、エラーモデル、i18n
9DecisionsMADR ADRs ― 技術選択の なぜ
10QualitySLO、KPI、performance / 信頼性目標
11Risks技術負債、既知の脆さ
12Glossaryドメイン語彙

pentaglyph は 12 セクションそれぞれを template/docs/arc42/ 配下のディレクトリにマップします:

template/docs/arc42/
├── 01-introduction-and-goals/
├── 02-architecture-constraints/
├── 03-context-and-scope/
├── 04-solution-strategy/
├── 05-building-blocks/ ← ../detailed-design/ へリンク
├── 06-runtime/
├── 07-deployment/
├── 08-crosscutting/
├── 09-decisions/ ← MADR ADRs はここ
├── 10-quality/
├── 11-risks/
└── 12-glossary/

pentaglyph は各ディレクトリに AI が読める README.md を追加し、LLM がプロジェクト文脈ゼロで新コンテンツの配置先を決められるようにしています。

フルテンプレートを使うべきとき

Section titled “フルテンプレートを使うべきとき”
  • minimal profile: §1 (Goals)、§3 (Context)、§5 (Building Blocks)、§9 (Decisions) を埋める。それ以外は具体的な必要が出るまでスキップ
  • standard / full profile: システム成長に応じて段階的にセクションを埋める。arc42 は部分カバーを明示的に許容
  • 単一ファイルスクリプト / 使い捨てプロトタイプ ― 過剰
  • 純粋なドキュメントリポジトリ(Diátaxis を直接使う)
  • 3 か月以内に削除されるコードベース