terada_life

ADRについて

なぜ調べようと思ったか

baobabの開発を進めるにあたり、aiと壁打ちしていたところ、 ADRを作ろうというものが出てきた。 聞き馴染みのない言葉だったので調べてみた。

ADRとは

  • 「技術的な決定事項とその理由」をストックしておくドキュメント

なぜADRが必要?

ソースコードには「どう書いたか(How)」は残るけど、 「なぜそうしたか(Why)」や「検討したけど採用しなかった案」は残りにくい。 ADRがあることで、後から入ってきたメンバーも当時の文脈をすぐに理解できるから、引き継ぎや議論のコストが爆速で下がる

ADRに記載する主な項目

Gemini の回答 ADR(Architecture Decision Record:アーキテクチャ決定記録)だね。エンジニアとしてプロジェクトを回していると、「なんでここ、このライブラリにしたんだっけ?」とか「この設計にした当時の背景が思い出せない…」ってことがよくあるでしょ?

それを防ぐための、「技術的な決定事項とその理由」をストックしておくドキュメントのことだよ。

なぜADRが必要なのか? ソースコードには「どう書いたか(How)」は残るけど、**「なぜそうしたか(Why)」や「検討したけど採用しなかった案」**は残りにくいんだよね。ADRがあると、後から入ってきたメンバーも当時の文脈をすぐに理解できるから、引き継ぎや議論のコストが爆速で下がる

ADRに書くべき基本項目 一般的には、以下のようなフォーマット(テンプレート)で書くことが多いよ。

項目内容
タイトル何についての決定か(例:状態管理ライブラリにZustandを採用する)
ステータス提案中 (Proposed)、承認済み (Accepted)、廃止 (Deprecated) など
コンテキスト解決したい課題、当時の状況、制約事項
意思決定最終的にどうすることに決めたか
検討した代替案他に検討した選択肢と、それらを採用しなかった理由影響・結果この決定によって生じるメリット、デメリット、今後の懸念点

参考記事

ZOZOFITにおけるADRを利用した意思決定を残す文化作り - ZOZO TECH BLOG
はじめに こんにちは。計測プラットフォーム開発本部バックエンドチームの佐次田です。普段はZOZOMATやZOZOGLASSなどの計測技術に関わるシステムの開発、運用に携わっています。去年の夏に、ZOZOFITというサービスを北米向けにローンチしました。 本記事では、ZOZOFITのローンチまでに遭遇した意思決定における課題と、ADRというドキュメンテーション手法を用いた解決までの取り組みについて紹介します。 目次 はじめに 目次 計測プラットフォーム開発本部 バックエンドチームとは ZOZOFITとは 開発中に直面した課題 過去の背景が分からず決断しにくい 意思決定の結論が追いにくい 意思決定…
ZOZO TECH BLOG
ADR(Architecture Decision Record)、始めました。
Zenn

作成日時: 2026/03/27