
受託開発で炎上しやすい要件定義の特徴
"いい感じに作ってほしい" が、後で一番高くつく。
この記事の結論
- 炎上する要件定義の共通点は、目的が曖昧・例外処理が抜ける・運用担当者が決まっていない の 3 点。
- 「画面一覧だけ」「機能リストだけ」では要件定義になりません。業務フロー・ユーザー権限・データ・例外・通知・手動対応 を含めて初めて成立します。
- 要件定義を重くしすぎる必要はありません。1 枚設計書 + 簡易仕様 で MVP は進められます。
- AI 時代は、プロジェクト文脈ファイル (CLAUDE.md / AGENTS.md) に要件と制約を書いておくことで、開発全体の認識が揃いやすくなります。
- 「決めていないこと」を 明示してリスト化 することが、炎上を防ぐ最大のコツです。
「要件定義書ができたので、開発開始でいいですよね」
発注時によく言われる言葉ですが、そこに書かれている内容次第 で開発の成否が決まります。立派な要件定義書でも、炎上する案件はあります。逆に、シンプルな 1 枚設計書でも、うまく進む案件もあります。
Anthropic の Claude Code 解説でも、コードベース固有の規約・標準・ワークフローを CLAUDE.md として明示する ことの重要性が紹介されています (Using CLAUDE.md files / Anthropic)。発注者と開発会社の間でも、要件と制約を明示することが、認識のズレを防ぎます。
この記事では、炎上しやすい要件定義の特徴と、防ぐためのチェック項目を整理します。
炎上する要件定義の共通点
実際の失敗パターン:
1. 目的が曖昧
「便利なツールを作ってほしい」「他社事例を参考に」だけ。なぜ作るのか、誰のために作るのかが書かれていない。
2. 機能リストはあるが、業務フローがない
「予約管理機能」「顧客検索機能」とだけ書かれている。実際の業務でどう使うかが分からない。
3. 例外処理が抜けている
ハッピーパスだけ書かれていて、キャンセル、返金、誤入力、特殊対応がない。
4. 運用担当者が決まっていない
「リリース後の不具合対応は誰が見るか」「軽微改修は誰がやるか」が決まっていない。
5. 権限が後付け前提
「最初は 1 ロールで」と決めて、ロールが増えたときの対応方針がない。
6. データモデルが整理されていない
主要なデータ (顧客、注文、在庫など) の項目と関係が、図でも一覧でも示されていない。
7. 「ケースバイケース」が多い
判断基準が言語化されておらず、「現場の判断」「担当者の経験」に依存。
これらが揃うと、開発途中で「思っていたものと違う」「これも入れてほしい」が頻発し、追加見積もりで予算超過、納期遅延につながります。
目的が曖昧なケース
「目的」と「機能」を混同して書かれている要件定義は、炎上の典型。
悪い例
予約管理システムを作ってほしい。 機能: 予約登録、検索、編集、削除、レポート。
良い例
目的: 紙と電話の予約管理から SaaS に移行することで、予約取りこぼしを月 5 件から 0 件にし、複数店舗の状況共有を可能にする。 ユーザー: 店舗スタッフ (1 日 30 回操作)、本社管理者 (月数回レポート確認)、顧客 (月 1 万人がスマホで予約)。 検証したい仮説: 予約取りこぼしが減ることで、月の機会損失が 20 万円減る。
目的が決まっていれば、外注先から「もっと安い代替案」「別のアプローチ」の提案を受けやすくなります。
詳しくは 開発会社に依頼する前に作るべき "1 枚設計書" で展開しています。
例外処理が抜けるケース
ハッピーパスだけで設計されたシステムは、例外で破綻します。
よく抜ける例外
- キャンセル後の復活
- 二重申込み、二重決済
- 期限切れ後の対応
- 部分的な失敗 (3 つ中 2 つ成功、1 つ失敗)
- 担当者が承認できない時の代理対応
- システム停止時の手作業
対策
- 設計時に「いま、システム外で処理している例外」を吐き出すヒアリング
- 自由記述メモ、例外承認、特殊対応の組み込み
- エラーハンドリングの方針を最初に決める
AI で作った業務システムが、リリース後に破綻する 5 パターン でも、例外フローの設計不足が破綻の典型として紹介しています。
運用担当者が決まっていないケース
「リリース後に決める」では遅すぎます。
決めておくべき項目
- 不具合の窓口は誰か
- 営業時間外の障害対応はどうするか
- 軽微改修 (文言、項目追加) は誰がやるか
- 運用に関する質問の相談先
- 内製化計画の有無
これらを発注前に決めておくと、リリース後にスムーズに運用が回ります。
ここまでで「自社の要件定義を見直したい」と感じたら、要件整理のワークショップから相談するのが現実的です。
要件定義で決めるべきこと
最低限、以下を明示します。
| 項目 | 内容 |
|---|---|
| 目的 | なぜ作るか (1 段落) |
| ユーザー | 役割と人数規模、利用頻度 |
| 業務フロー | 入力・判断・出力・承認・例外の 5 要素 |
| 画面 / 機能 | Must / Manual / Later / Never の仕分け |
| データ | 主要エンティティと項目 |
| 権限 | 役割と見える範囲のマトリクス |
| 例外 | 想定する例外と対応方針 |
| 通知 | 誰に、いつ、何を通知するか |
| 運用責任 | リリース後の担当者と対応経路 |
| 予算 | 上下のレンジ |
| 納期 | 絶対の締め日と希望日 |
これらが揃っていれば、見積もり精度と提案の質が大きく上がります。
「決めていないこと」を明示する
要件定義の盲点は、「決まっていない」のに「決まっているように見える」 ことです。
決めていないことのリスト化
- いま決めていない判断は何か
- それを、誰が、いつまでに、どう決めるか
- 決まるまでの仮定値
このリストを 週次で更新 することで、開発中の遅延が大幅に減ります。
AI 時代の要件整理
AI ツール (Cursor / Claude Code / Codex) を使う開発では、要件と制約を プロジェクト文脈ファイル にまとめておきます。
CLAUDE.md / AGENTS.md に書く要件関連の情報
- プロジェクトの目的とユーザー像
- 主要なドメインモデル
- 触ってはいけない領域
- セキュリティ上の制約
- コーディング規約
OpenAI のドキュメントでも、AGENTS.md は 作業を始める前に Codex が読む プロジェクト固有指示として説明されています (Custom instructions with AGENTS.md / OpenAI Developers)。これは AI 用の要件定義書とも言えます。
詳しくは CLAUDE.md / AGENTS.md に何を書くべきか で展開しています。
要件定義を重くしすぎない
「完璧な要件定義書」を目指すと、開発開始までに数ヶ月かかります。これは MVP・新規事業では非現実的。
軽い要件定義の例
- 1 枚設計書 + 主要画面のワイヤーフレーム
- データモデル 1 枚
- Must 機能の優先順位リスト
- 「決めていないこと」リスト
これくらいでも、開発はスタートできます。走りながら決める 部分を明示することで、要件定義の重さを減らせます。
発注前チェックリスト
要件定義の完了度を確認するチェックリスト:
| 項目 | 確認すること |
|---|---|
| 目的 | 1 段落で書ける |
| ユーザー | 役割と人数が明示 |
| 業務フロー | 5 要素 (入力・判断・出力・承認・例外) が整理 |
| 機能 | Must / Manual / Later / Never に分けてある |
| データ | 主要エンティティと項目が 1 枚 |
| 権限 | 役割マトリクスがある |
| 例外 | 想定例外がリスト化 |
| 通知 | 誰に何を通知するか明示 |
| 運用 | リリース後の担当者が決まっている |
| 決めていないこと | リスト化されている |
8 つ以上揃っていれば、発注可能な状態です。
min's の要件整理支援
min's では、要件定義の整理を以下の形で支援しています。
Phase 1: 要件ワークショップ (1〜2 日)
- 目的・ユーザー・業務フローのヒアリング
- 1 枚設計書のドラフト作成
- 「決めていないこと」リストの整理
- 費用 20〜50 万円
Phase 2: 要件定義書化 (1〜2 週間)
- ワイヤーフレーム、データモデル
- 業務フロー図
- 「決めていないこと」リストの確定
- 費用 50〜150 万円
Phase 3: 発注先比較サポート
- 複数社への見積もり依頼
- 比較表の作成
- 発注先選定支援
要件整理について相談したい方へ
min's では、要件整理ワークショップ、要件定義書の作成、発注先選定までを支援しています。
以下のような状態であれば、ご相談ください。
-
仕様が固まっていない段階から相談したい
-
過去の要件定義で炎上した、次は防ぎたい
-
1 枚設計書のテンプレが欲しい
-
「決めていないこと」を整理したい
次に読む記事
参考
- Using CLAUDE.md files / Anthropic — プロジェクト構造と制約を明示する CLAUDE.md
- Custom instructions with AGENTS.md / OpenAI Developers — Codex に作業前に読ませる AGENTS.md