文化と運用の実態をご紹介します。?ADRはその名のとおりアーキテクチャに関する意思決定の記録を残すためのドキュメントです。意思決定の内容や背景と経緯、根拠などが記されます。その場において認識の共有に役立つのはもちろん、あとから設計を見直したり議論したりするときにも意思決定の記録が役立ちます。氏のブログ記事でしょうか。日本国内でケーススタディが展開されるようになったのは近年の印象ですが、この記事の日付みると2011年であり実はそれなりに以前からあるプラクティスだったと言えます。私自身、不勉強で近年まで知らなかったのと、実際に運用されている光景はResilireが初見でした。詳説されていましたのでこちらもご覧いただくと良いです。Calendarの季節なのもあって、各社からも新しいケース紹介の記事が出ていました。他にもたくさんの記事があることを承知していますが、ここでは一部をご紹介させてください。位置に下記のようなマークダウンドキュメント群が整備されています。結構な分量が蓄積しているので読み応えがあります。内容はファイル名から感じ取ってください。カテゴリーは仕様上の取り決めなど、ソフトウェアのアーキテクチャに限らない様々なチームの意思決定が記録されています。ADRのスコープをどこまで拡げるかは先に紹介した各社の事例でもまちまちの印象ですが、Resilireではこのように運用しています。記述フォーマット本稿執筆時点では次のようなフォーマットがテンプレートファイルとして用意されています。沿ったフォーマットですね。文化ResilireにおけるADRの原点を見つけるべくSlackの奥地で見つけてきたのが2023年3月頃のこちらの投稿です。Requestされてマージされていました。後世のために、という狙いのとおりジョインしたメンバーがコントリビュートするための最初の手がかりとして当時のADRが役に立っています。Slack自然とADRを書くという習慣が見てとれます。ADRの有用性を実感し、過去にさかのぼって適用されている様子も見つけました。いうemojiと共に新しいADRに対するわくわくが表明されています。実際に書いたり読んだりした感想わたしもResilireを見習って別の場所でADRに取り組んでいますが、アーキテクチャの検討段階で前提条件や選択肢の棚卸しをすること自体が思考の整理になるのでとても良い習慣だと感じました。Resilireのコードベースを理解する上でも各種のADRに最初に目を通すことで全体像や方針を掴むことができて、コードリーディングがスムーズになりました。以前に新しくジョインされた方と話したときもADRのおかげでスムーズに開発に入れたというコメントもありましたし情報資産としてうまくワークしているようです。Technologyの紹介資料もどうぞ。最後までお読みいただきありがとうございました。エンジニアが発信するソフトウェア技術ブログです。エンジニアが発信するソフトウェア技術ブログです。Proよくある質問LinksX(Twitter)GitHubメディアキットLegal利用規約プライバシーポリシ。