Skip to content

ADR-XXX: [意思決定のタイトル]

TIP

このテンプレートをコピーして、新しいADRを作成してください。

ステータス

[採用済み / ペンディング / 却下 / 廃止]

  • 採用済み: 意思決定が確定し、実装されている
  • ペンディング: 検討中で、まだ決定していない
  • 却下: 検討したが採用しないと決定
  • 廃止: 過去に採用されたが、現在は使用していない

意思決定者

  • 名前(役割)
  • 名前(役割)

決定日

YYYY-MM-DD


背景(Context)

なぜこの決定が必要だったのか、どのような問題を解決するのかを記載します。

現状の課題

  • 課題1
  • 課題2
  • 課題3

解決したいこと

  • ゴール1
  • ゴール2

要件(Requirements)

この意思決定で満たすべき要件を列挙します。

機能要件

  • 要件1
  • 要件2

非機能要件

  • パフォーマンス要件
  • スケーラビリティ要件
  • セキュリティ要件
  • 保守性要件

制約条件

  • 技術的制約
  • ビジネス的制約
  • 時間的制約

検討した選択肢

最低2つ以上の選択肢を記載してください。

選択肢1: [技術名・方法名]

概要

選択肢の簡単な説明

メリット

  • メリット1
  • メリット2
  • メリット3

デメリット

  • デメリット1
  • デメリット2
  • デメリット3

実装コスト

  • 初期実装: X時間
  • 学習コスト: Y時間
  • 保守コスト: 低/中/高

選択肢2: [技術名・方法名]

概要

選択肢の簡単な説明

メリット

  • メリット1
  • メリット2
  • メリット3

デメリット

  • デメリット1
  • デメリット2
  • デメリット3

実装コスト

  • 初期実装: X時間
  • 学習コスト: Y時間
  • 保守コスト: 低/中/高

選択肢3: [技術名・方法名](オプション)

概要

選択肢の簡単な説明

メリット

  • メリット1
  • メリット2
  • メリット3

デメリット

  • デメリット1
  • デメリット2
  • デメリット3

実装コスト

  • 初期実装: X時間
  • 学習コスト: Y時間
  • 保守コスト: 低/中/高

決定(Decision)

選択した技術・方法: [選択肢X]

選択理由

なぜその選択肢を選んだのかを、以下の観点で説明します。

  1. 要件との適合性

    • 選択肢Xが要件1を最もよく満たす理由
    • ...
  2. 技術的妥当性

    • 選択肢Xが技術的に優れている理由
    • ...
  3. コスト対効果

    • 選択肢Xのコスト対効果が高い理由
    • ...
  4. 将来性

    • 選択肢Xが長期的に有利な理由
    • ...

実装方針

選択した技術をどのように実装するかの概要

  • 実装ステップ1
  • 実装ステップ2
  • 実装ステップ3

受け入れたトレードオフ

この決定で受け入れたデメリットや制約を明記します。

トレードオフ1: [トレードオフの内容]

  • 影響: どのような影響があるか
  • 受け入れ理由: なぜこのトレードオフを受け入れたか
  • 軽減策: トレードオフの影響を軽減する方法(あれば)

トレードオフ2: [トレードオフの内容]

  • 影響: どのような影響があるか
  • 受け入れ理由: なぜこのトレードオフを受け入れたか
  • 軽減策: トレードオフの影響を軽減する方法(あれば)

結果(振り返り)

NOTE

このセクションは、実装後に記入してください。

実際に採用してみてどうだったかを記載します。

うまくいったこと(Pros)

  • うまくいったこと1
  • うまくいったこと2

うまくいかなかったこと(Cons)

  • うまくいかなかったこと1
  • うまくいかなかったこと2

学び

  • 学び1
  • 学び2

今後の改善点

  • 改善点1
  • 改善点2

参考リンク

  • 公式ドキュメント: URL
  • 関連するADR: ADRへのリンク
  • 参考記事: URL
  • 実装PR: GitHubのPRへのリンク

関連ドキュメント

  • 技術仕様: /technical/xxx
  • 実装ガイド: /guide/xxx