本文へ移動

ホーム / EM / 第2部 技術の判断

第2部 技術の判断・第2章

技術選定と意思決定

★★☆ 重要5トピック・面接 3問

チームの技術的な意思決定を支え、事業と技術の両方から判断するための知識を押さえる。

2.1ADR(意思決定の記録)

用語★★☆ 重要
ひとことで

選択肢・判断基準・トレードオフを ADR(意思決定の記録)に残し、後から理由が分かるようにする。

技術の判断は、半年後には「なぜこれを選んだのか」誰も覚えていないことがよくあります。そこで、選択肢・判断基準・トレードオフ(何かを得る代わりに何かをあきらめること)をADR(Architecture Decision Record:意思決定の記録)に短く残します。リポジトリの docs/adr/ に Markdown で置くのが一般的です。

ADR の状態の流れ提案中背景・選択肢を書くレビュー関係者がコメント承認決定と結果を記録置き換え新しい ADR を作る見直す条件に当たったら古い ADR は書き換えず「廃止(ADR-00xx で置き換え)」と記す
ADR は状態を持つ。決定が変わっても経緯が残るように、新しい ADR で置き換える
# ADR-0012: ジョブのキューに○○を採用する
状態: 承認(2026-10-01)  ※提案中/承認/廃止(ADR-00xx で置き換え)

## 背景
何が問題で、なぜ今決める必要があるか。制約(期限・予算・人数)。

## 選択肢
1. A … 長所 / 短所
2. B … 長所 / 短所
3. 何もしない … 長所 / 短所

## 決定
B を採用する。決め手は○○。

## 結果(トレードオフ)
得るもの・あきらめるもの・新たに必要になる作業。
見直す条件(例:1日のジョブ数が 100万件を超えたら再検討)。

書き方のこつは、1ページに収めること、「何もしない」も選択肢に入れること、見直す条件を書くことです。決定が変わったら古い ADR は書き換えず、新しい ADR を作って「置き換え」と記録します。経緯が残るからです。

技術選定の判断基準

面接ではこう答える

ADR は Architecture Decision Record の略で、技術の大事な決定を、背景・選択肢・決定・トレードオフの形で短く残す文書です。リポジトリの中に Markdown で置き、提案中・承認・廃止といった状態を持たせます。決定が変わったら古いものは書き換えず、新しい ADR で置き換えるので、なぜそうなったかの経緯が残ります。私は「何もしない」も選択肢に入れることと、見直す条件を書くことを必ず守っています。

技術選定の進め方要件を書く必須と希望候補を絞る2〜3つ小さく試すPoC比べる基準ごとにADR に残す決め手と見直し
結論を先に決めてから比較表を作らない

技術選定では、要件を先に書き、候補を2〜3つに絞って、同じ基準で比べます。性能や機能だけでなく、チームが扱えるか・運用を誰が持つか・やめるときの手間まで見ます。

基準確かめること
要件に合うか性能・機能・規模の要件を満たすか。小さく試して(PoC)確かめたか
チームが扱えるか今のメンバーの経験、学ぶ時間、採用のしやすさ
運用の負担監視・バックアップ・アップデートを誰がやるか。マネージドサービスがあるか
成熟度・保守更新が続いているか、利用者が多いか、ドキュメントがあるか
セキュリティ・ライセンス脆弱性への対応の速さ、ライセンスが用途に合うか
やめやすさ別のものに乗り換えるときの手間(ロックイン:特定の製品から抜け出しにくくなること)
コスト利用料だけでなく、人の時間を含めた総額

よくある失敗は、結論を先に決めてから比較表を作ることと、「流行っているから」で選ぶことです。候補ごとに小さく試し(PoC:概念実証)、数字で確かめた結果を ADR に残します。

2.3決定の重さと決め方

用語★★☆ 重要
ひとことで

やり直しやすい決定は担当者に任せて速く、やり直しにくい決定は時間をかけて比べ、記録を残して決める。

やり直しやすさで決め方を変えるやり直しやすい決定ライブラリの小さな選択、画面の文言→ 担当者が速く決める→ 間違えたら戻すやり直しにくい決定DB・言語・クラウド・データの形→ 時間をかけて比べる→ ADR を書き、関係者と決める迷ったら「間違えたときに戻すのに、どれくらいかかるか」で考える
すべての決定を同じ重さで扱うと、小さな決定まで遅くなる

決定には、やり直しやすいものとやり直しにくいものがあります。Amazon の経営者の手紙で「一方通行のドア」「双方向のドア」と表現されたことで知られる考え方です。やり直しやすい決定まで会議で決めると、チームの速さが落ちます。

決め方も、決定の重さで選びます。

決め方向いている決定注意点
担当者が決めるやり直しやすく、影響が1チーム内決めた内容をチャットなどで共有する
相談してから担当者が決める影響が広いが、詳しい人がはっきりしている誰に相談したかを残す
関係者の合意チームの約束事、複数チームにまたがる全員一致を待ちすぎない。期限を決める
EM・TL が決める期限が迫っている、意見が割れて進まない理由を説明し、反対意見も記録する

意見が割れたときは「決めないこと」が一番のコストになることが多いです。期限と決める人を先に宣言しておきます。

面接ではこう答える

決定には、間違えてもすぐ戻せるものと、戻すのに何か月もかかるものがあります。ライブラリの小さな選択のような前者は担当者に任せて速く決め、DB やクラウドの選択のような後者は候補を比べて ADR を書き、関係者と決めます。決め方も、担当者が決める、相談してから決める、合意、EM が決める、と使い分けます。意見が割れて進まないときは、期限と決める人を先に宣言し、決めないことのコストを避けます。

2.4設計レビュー

用語★★☆ 重要
ひとことで

非機能要件(性能・可用性・セキュリティ・運用)まで含めて問いを投げる。

設計レビューは、作り始める前に設計の穴を見つける場です。機能が動くかだけでなく、非機能要件(性能・可用性・セキュリティ・運用のしやすさなど、「何をするか」以外の品質の要件)まで問いを投げます。設計書(デザインドキュメント)はレビューの2〜3日前に共有し、当日は質問と判断に時間を使います。

設計レビューの進め方設計書を書く目的・案・非機能共有2〜3日前コメント事前に質問を集めるレビュー会論点と判断に集中ADR に記録決めた人・理由当日は説明を聞く時間ではなく、質問と判断に使う
設計書を前もって読んでもらい、レビュー会は判断の場にする
観点問いの例
目的・範囲何の問題を解くか。やらないことは何か。成功をどう測るか
性能・規模想定のリクエスト数・データ量は? 1年後に10倍になっても持つか
可用性・障害依存先が落ちたらどうなるか。タイムアウト・リトライ・縮退(一部の機能を止めて動き続けること)は
データ整合性はどう保つか。移行の手順は。バックアップと復元は確かめたか
セキュリティ認証・認可は。個人情報はどこに置くか。秘密情報の管理は
運用何を監視しアラートにするか。手順書(ランブック)は。誰がオンコールを持つか
リリース段階的に出せるか(機能フラグ・カナリア)。戻し方は
コスト月額の見積もり。規模が増えたときにどう増えるか
代替案他の案と比べたか。なぜこの案か

EM の役割は、全部に自分で答えることではなく、抜けている観点を問い、結論を出す期限と決める人をはっきりさせることです。批判するのは設計であって人ではない、という前提をそろえ、新しいメンバーにも発言の機会をつくります。決まったことは ADR に残します。

設計書(デザインドキュメント)の書き方

面接ではこう答える

設計レビューは、作り始める前に設計の穴を見つける場です。機能が動くかだけでなく、性能・可用性・セキュリティ・運用のしやすさといった非機能要件まで問いを投げます。設計書は2〜3日前に共有して事前にコメントを集め、当日は論点と判断に時間を使います。EM の役割は全部に自分で答えることではなく、抜けている観点を問い、決める人と期限をはっきりさせることだと考えています。

設計書(デザインドキュメント)は、作る前に「何を・なぜ・どう作るか」を書いて、関係者に読んでもらうための文書です。長さより、判断に必要なことが書いてあるかが大事です。目安は数ページで、図を1〜2枚入れます。

節書くこと
背景と目的何の問題を解くか。なぜ今やるか
やること・やらないこと範囲をはっきりさせる。やらないことを書くと議論が散らばらない
成功の指標何がどう変われば成功か(例:処理時間を p99 で 1秒以内)
設計の案構成図、データの流れ、API、データの形
代替案他の案と、選ばなかった理由
非機能の考慮性能・可用性・セキュリティ・コスト・監視
リリースと移行段階的な出し方、データ移行、戻し方
未解決の論点レビューで決めたいこと

「未解決の論点」を最後に書いておくと、レビュー会で何を決めればよいかがはっきりします。決まったことのうち、後から理由を知りたくなりそうなものは ADR にも残します。

設計レビューの観点

この章のまとめ

🖨 まとめシート(印刷・PDF)
  • 技術選定は要件・チーム・運用・やめやすさ・総コストで比べる
  • やり直せる決定は速く、やり直せない決定は時間をかけて ADR に残す
  • 設計レビューは非機能要件まで問い、決める人と期限をはっきりさせる
  • ADR(意思決定の記録):選択肢・判断基準・トレードオフを ADR(意思決定の記録)に残し、後から理由が分かるようにする。
  • 決定の重さと決め方:やり直しやすい決定は担当者に任せて速く、やり直しにくい決定は時間をかけて比べ、記録を残して決める。
  • 設計レビュー:非機能要件(性能・可用性・セキュリティ・運用)まで含めて問いを投げる。

この章のクイズ

面接ではこう聞かれる

まず答えを見ずに声に出して答え、そのあと開いて比べる。

Q1ADR とは何ですか? 何を書き、どう運用しますか?

模範回答

ADR(Architecture Decision Record)は、技術の判断を短く記録した文書です。半年後に「なぜこれを選んだのか」が分からなくなるのを防ぎます。リポジトリの docs/adr/ などに Markdown で置くことが多いです。

書くのは、背景(何が問題で、なぜ今決めるか)、選択肢(「何もしない」も含め、それぞれの長所と短所)、決定と決め手、結果(得るもの・あきらめるもの・見直す条件)です。1ページに収まる長さにします。

運用で大事なのは、決定が変わっても古い ADR を書き換えないことです。新しい ADR を作り、古いほうに「廃止(新しい番号で置き換え)」と記します。経緯が残るので、新しく入った人も判断の流れを追えます。全部の判断に書くのではなく、DB や言語の選択など、やり直しが難しい判断に絞ると続けやすいです。

深掘りされたら

  • ADR を書く判断と書かない判断はどう分けますか?
  • ADR が書かれなくなったらどうしますか?

見られているポイント目的・中身・置き換えの運用

Q2技術選定でチームの意見が割れたとき、どう決めますか?

模範回答

まず、決める前に判断基準をそろえます。意見が割れるのは、案の良し悪しよりも、重視しているもの(性能、運用の手間、チームの経験、やめやすさなど)が人によって違うことが多いからです。基準と重みを先に合意すると、議論が「どちらが好きか」から離れます。

次に、基準ごとに案を比べ、分からない点は期限つきの小さな検証(PoC)で確かめます。それでも決まらないときは、あらかじめ決めておいた決める人(多くはテックリード)が期限内に決めます。やり直しが簡単な判断なら早く決めて進め、やり直しが難しい判断ほど時間をかけます。

決まったら ADR に、選ばなかった案とその理由も残します。反対した人の懸念は「見直す条件」として書いておくと、納得して進めやすくなります。

深掘りされたら

  • 決めた後も反対し続ける人がいたらどうしますか?
  • やり直しが難しい判断かどうかは、どう見分けますか?

見られているポイント判断基準の合意・決める人と期限・記録

Q3メンバーが新しい技術(流行のフレームワークなど)を使いたいと言ってきたら、どうしますか?

模範回答

まずは歓迎して、何の問題を解きたいのかを聞きます。「新しいから」ではなく、今の困りごと(遅い、書きにくい、保守が切れる)とつながっているかを確かめます。

そのうえで、本番に入れる前に判断の材料をそろえてもらいます。チームの他の人が扱えるか、運用や監視はどうなるか、更新が続いているか、やめるときにどれくらい大変か、です。いきなり中心のシステムに入れるのではなく、社内ツールや影響の小さい部分で期限つきで試し、結果を共有してもらいます。

採用するなら ADR に残し、見送るならその理由と「どうなったら再検討するか」を伝えます。挑戦する気持ちをつぶさず、チーム全体で保守できるかを判断の中心に置くようにしています。

深掘りされたら

  • 試した結果、使い続けるかどうかは何で決めますか?
  • 本人しか分からない技術が残ったらどうしますか?

見られているポイント問題とのつながり・小さく試す・チームで保守できるか