要件定義 Claude Code|質問・仕様・プロンプト例で手戻り回避

Claude Codeに「アプリを作って」と頼んだのに、想定と違う機能や画面ができてしまう。原因は、コードを書く前に目的・利用者・範囲・合格条件が共有されていないことです。本記事では、要件定義を会話で進める順番、使えるプロンプト、要件定義書とCLAUDE.mdの役割、実装前の確認方法を、初めて使う人にもわかる形で整理します。

Conclusion

Claude Codeの要件定義は、いきなり実装させず、目的・利用者・機能・制約・受け入れ条件を質問で確定し、合意した内容を文書に残してからPlan Modeで計画を確認する流れです。曖昧さと手戻りを減らして実装へ進めるとわかる。

Contents (8)

Claude Codeで要件定義をするメリット

要件定義は、「誰が、何のために、何を使い、どこまでできれば成功か」を開発前にそろえる作業です。Claude Codeは不足部分を推測して先へ進めるため、前提が曖昧だと実装後の修正や作り直しにつながります。

まず、要望・要件・仕様・実装を分けて考えます。

段階 決めること
要望 作りたいものの方向 店舗の予約をオンラインで受けたい
要件 必要な振る舞いと条件 利用者は空き枠を確認して予約できる
仕様 画面や処理の具体的なルール 予約確定後にメールを送る
実装 技術的な作り方 DB、API、画面をどの構成にするか

検索上位の記事でも、いきなり作らせず、Claude Codeに質問させて考えを整理する方法が紹介されています。実践例はClaude Codeラボ(https://claudecodelab.jp/blogs/claude-code-requirements/)、仕様書作成例(https://portal.okihiro-school.com/articles/claude-code-requirements-definition)、要件定義から実装へ進めた記録(https://techuplabo.com/requirement-definition-to-app-claude-code-260102/)で確認できます。

最初に整理する5つの論点

Claude Codeへプロンプトを送る前に、次の論点を洗い出します。未決定の部分は「未定」と明示し、勝手に確定させないことが大切です。

  1. 目的と成果:何を改善し、完成後にどんな状態なら成功かを決めます。「電話受付を減らし、二重登録を防ぐ」のように書くと判断軸になります。
  2. 利用者と場面:誰が、いつ、どの端末から使うかを整理します。管理者と一般利用者は役割ごとに分けます。
  3. 機能・非機能要件:機能に加え、速度、セキュリティ、対応ブラウザなど品質条件も書きます。
  4. 制約と対象外:予算、納期、既存サービス、個人情報の扱いと、今回作らないものを決めます。
  5. 受け入れ条件:完成と判定する操作と結果を書きます。例は「予約確定後に番号を表示し、管理画面にも同じ予約を出す」です。

この5項目は、Functional、Non-functional、Constraint、Acceptance Criteria、Out of Scopeという分類にも対応します。用語を英語で書く必要はありませんが、分類すると機能だけを書いて運用条件を忘れる失敗を防げます。

要件定義の実践手順:質問から合意まで

要件定義は一度の長い指示で終わらせず、質問、整理、確認、文書化の順に進めます。

  1. 最初は質問だけを依頼する:目的を短く伝え、「コードは書かず、決めるべき論点を質問してください」と指定します。
  2. 決定事項と仮定を分ける:回答のたびに「決定」「未決定」「Claude Codeの仮定」を分けて表示させます。
  3. 操作をシナリオにする:正常系に加え、空入力、重複、権限不足、通信失敗、キャンセルなどを確認します。
  4. 要件定義書を保存する:背景、目的、要件、制約、対象外、受け入れ条件、未決事項を requirements.md などに残します。
  5. 人間が承認する:不足・矛盾・過剰な要件を指摘させ、依頼者が優先順位と範囲を確定します。
  6. 計画を確認して実装する:変更ファイル、実装順、テスト、リスクを計画に出させ、要件との差分を確認してから編集を許可します。

この流れなら、質問の途中で決定が変わっても文書と計画を更新できます。会話の記憶だけに頼らず、決定事項をファイルに残すことが、時間を空けて再開する場合にも役立ちます。

そのまま使える要件定義プロンプト例

最初の依頼は、「質問の進め方」と「出力形式」を明示します。サービス名や利用者だけを置き換えて使えます。

予約管理アプリを作りたい。実装前に要件定義を進めたい。

次のルールでヒアリングしてください。
1. コードを書かず、決めるべきことを質問する
2. 論点を絞り、私の回答を待つ
3. 目的、利用者、要件、制約、対象外、受け入れ条件を確認する
4. 決定、未決定、仮定、リスクを分ける
5. 権限、入力エラー、重複、通信失敗も質問する
6. 最後に requirements.md の草案を作り、実装は始めない

私が回答し終えたら、矛盾や不足を指摘してから、要件定義書を提示してください。

ポイントは、Claude Codeに答えを急がせず、質問を通じて前提を引き出すことです。「良い感じに作って」「一般的な仕様で進めて」は便利な反面、判断をAIに預ける範囲が広くなります。未決事項には選択肢、推奨案、採用時の影響を並べて提示させると決めやすくなります。

要件定義書とCLAUDE.mdを使い分ける

要件定義書と CLAUDE.md は、どちらもMarkdownで管理できますが、役割が違います。

文書 書く内容 更新の単位
requirements.md 今回の機能の目的、範囲、振る舞い、受け入れ条件 機能や案件ごと
CLAUDE.md プロジェクト共通の規約、構成、テストコマンド、禁止事項 プロジェクト全体

CLAUDE.mdには、すべての作業で守るルールだけを置きます。「変更後はテストを実行する」「秘密情報をコミットしない」といった内容です。特定機能の期限や画面仕様まで詰め込むと、重要な指示が埋もれます。

Claude Code公式の説明(https://code.claude.com/docs/en/memory)でも、CLAUDE.mdはセッション開始時に読み込まれる指示書として扱われ、簡潔な構成が推奨されています。要件定義書を別に保管し、CLAUDE.mdには「機能開発では docs/requirements.md を確認する」と書くと役割が明確です。

Plan Modeで実装前に確認する

要件が固まったら、Plan Modeでコードベースと要件の関係を調べます。公式ドキュメントでは、Plan Modeはファイルを読みながら計画を提案し、承認までソースを編集しないモードと説明されています。起動例は次のとおりです。

claude --permission-mode plan

セッション中は /planShift+Tab で切り替える方法もあります。表示は環境で異なるため、利用中の公式ドキュメントも確認してください。

Plan Modeでは、次の内容を依頼すると要件と計画を照合しやすくなります。

  1. requirements.mdを読み、目的と受け入れ条件を要約する
  2. 関係する既存ファイルとデータの流れを調査する
  3. 変更・追加・変更しないファイルを分ける
  4. 実装順、テスト、リスクを提示する
  5. 要件にない変更や判断が必要な点を質問する

公式のベストプラクティス(https://code.claude.com/docs/en/best-practices)も、複雑な作業では「探索、計画、実装」の順に進め、検証手段を先に用意する考え方を示しています。計画を読んで変更範囲やテスト漏れを確認すれば、大きな手戻りを避けられます。使い方は公式チュートリアル(https://code.claude.com/docs/en/tutorials)にも掲載されています。

要件定義で起きやすい失敗と対策

文章の見栄えより、決定の根拠と確認可能性を重視します。

失敗 起きること 対策
「作って」だけで依頼する Claude Codeが不足部分を推測する 先に質問だけを依頼する
機能一覧だけを書く 使う人や成功条件が不明になる 利用シナリオと受け入れ条件を加える
対象外を決めない 便利機能が増え、納期と範囲が膨らむ 今回作らないものを明記する
仮定を確定事項として扱う 後から仕様変更として発覚する 決定・未決・仮定を分ける
文書を長くしすぎる 重要なルールが読みにくくなる 要件定義書と共通ルールを分離する
計画を確認せず編集する 変更範囲やテスト漏れに気づけない Plan Modeで差分を確認する

特に非機能要件と対象外は後回しにされがちです。速度、ログ、権限、バックアップ、エラー時の案内は、画面完成後に変えると影響が広がります。未決事項には期限と判断者を記録し、実装開始の条件を決めておきましょう。

まとめ

Claude Codeでは、最初に質問だけを依頼し、目的、利用者、要件、制約、対象外、受け入れ条件を整理します。決定事項は requirements.md に残し、共通ルールは CLAUDE.md に分けます。最後にPlan Modeで変更範囲とテストを確認してから実装へ進めば、手戻りを抑えられます。

Helpful? ♡
Clauder Navi Editorial Team
@clauder_navi

Delivering the latest Claude / Claude Code news and practical insights daily. Learn more about us at About this site.