SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers Summit 2023 Summer セッションレポート

アジャイルな開発をより円滑に! 日々の意思決定を残す「アーキテクチャ・デシジョン・レコード」とは?

【B-9】日々の意思決定の積み重ねを記録するアーキテクチャ・デシジョン・レコード

  • このエントリーをはてなブックマークに追加

ADRの効率的な使い方とは

 「スタディサプリ」では、マイクロサービス化が進展し、現在はCTOやリードアーキテクトがいないため、チームが個々のサービスについての意思決定を裁量で行うことが多い。チームが裁量を持つことで、ADRの使い方にも特色が現れている。使い方にはチームごとの特色があり、ADRを利用しないチームもある。言い換えれば、ADRはチームごとにカスタマイズ可能なドキュメンテーション手法と言える。内山氏はいくつかの使い方を説明した。

 1つのissueに複数の意思決定を書き連ねる場合、情報が散逸しないメリットがある。一方、1つのissueに1つのADRというシンプルな方法もあり、その場合はGitHubの機能を使ってADRラベルを付与することで情報の散逸を防いでいる。例えば、マイクロサービスのシステム名やプロジェクト名が入ったissueに、関連するADRを集約するような使い方がされている。

(例)1つのissueにまとめる
(例)1つのissueにまとめる

 1つのissueに1つのADRという手法の場合、各タイトルは具体的な意思決定の内容を反映している。例えば、「AWSコスト最適化活動」や「■■の分割統治とIngressへの移行」、「MagicPodとAutifyの住み分け」といった具体的なADRがあり、これらに対応するissueが起こされている。意思決定を明確にすることで議論がしやすくなる利点がある。

 ADRのテンプレートフォーマットを用いずに、意思決定した事柄の実内容のみを記述する場合もある。必要最低限の内容を記録することで、意思決定を記録する際のハードルを下げる効果があると考えられる。

 ADRの「A(アーキテクチャ)」にこだわらない場合もある。例えば、チームの編成方針や自動生成コードのレビューに関する決め事など、組織やチームの開発フローに関する意思決定をADRとして記録することもあるのだ。「ADRというツールを通じて、チーム内で意思決定した内容を記録する文化が内面化した結果と言えます」(内山氏)。

 また、新人のオンボーディングにADRを利用する場合もある。新人に対し、特定のシステムやエリアに関するADRを読むことを推奨し、「なぜこの設計なのか」「どうしてこのサービスを使っているのか」といった疑問を明らかにしているのだ。

 そのほか、エンジニアリングマネージャーにとって、ADRの存在はチームメンバーが開発するシステムの動向を追いやすくする効果があるとの声も聞かれた。その一方で、プロダクトマネージャーからは、ADRにあまり関心を示さない声が多く聞かれた。これは、アーキテクチャ上の意思決定は、開発者以外の振る舞いに影響を及ぼさないためだ。

次のページ
ADR以外のドキュメントの利用や、ADR運用の注意点

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Developers Summit 2023 Summer セッションレポート連載記事一覧

もっと読む

この記事の著者

森 英信(モリ ヒデノブ)

就職情報誌やMac雑誌の編集業務、モバイルコンテンツ制作会社勤務を経て、2005年に編集プロダクション業務やWebシステム開発事業を展開する会社・アンジーを創業。編集プロダクション業務においては、IT・HR関連の事例取材に加え、英語での海外スタートアップ取材などを手がける。独自開発のAI文字起こし・...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/18736 2024/01/17 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング