要件定義書とは、これから作るシステムで「何を実現するか」――解決したい業務の課題、必要な機能、性能やセキュリティの条件、対象にしない範囲――を、発注者と開発者が合意するためにまとめた文書です。システム開発の最初の工程で作られ、以降の設計・開発・テストのすべての土台になります。

要件定義の抜けや認識の違いは、後の工程で見つかるほど、修正の費用が大きくなります。この記事では、要件の種類と記入例に加えて、要件ID・受け入れ基準・対象外の書き方といった、「後で揉めない」ための実務のポイントを解説します。基本設計書・詳細設計書の記事と合わせて読むと、上流工程の全体像がつかめます。

要件定義・基本設計・詳細設計の違い

工程 答える問い 主な読み手 代表的な内容
要件定義 何を実現するか 発注者(経営・業務部門)・開発者 業務の課題、機能の一覧、非機能要件、対象範囲
基本設計 外から見てどう動くか 発注者・開発者 画面、帳票、データ、外部連携
詳細設計 内部でどう作るか 開発者 クラス構成、処理手順、SQL

要件定義書には、画面の細かな配置やデータベースの項目は書きません。「何を実現したいか」「どうなれば成功か」を、業務の言葉で書くのが要件定義です。

要件の3つの種類

種類 内容 記入例
業務要件 業務の課題と、システム化で目指す姿 「電話とFAXで受けている注文を、Webで受け付け、受注の入力作業をなくしたい」
機能要件 システムが何をできるか 「顧客は、Webから商品を注文できる」
非機能要件 どのくらいの品質で動くか(性能・可用性・セキュリティなど) 「注文画面は、通常時3秒以内に表示される」

機能要件だけを並べた要件定義書は、よくある失敗です。「なぜその機能が必要か(業務要件)」がないと、優先順位を判断できず、「どのくらいの品質で(非機能要件)」がないと、完成してから「遅い」「止まったら困る」といった問題が起きます。

要件定義書の目次テンプレート

1. はじめに
   1.1 背景と目的
   1.2 対象範囲と対象外
   1.3 用語集
   1.4 関係者と役割
2. 業務要件
   2.1 現状の業務と課題(As-Is)
   2.2 システム化後の業務(To-Be)
   2.3 業務フロー
3. 機能要件
   3.1 機能一覧(要件ID・優先度つき)
   3.2 機能ごとの要件と受け入れ基準
4. 非機能要件
   4.1 性能  4.2 可用性  4.3 セキュリティ  4.4 運用・保守  4.5 移行
5. 外部システムとの連携
6. 制約条件(予算・期限・利用する技術・法令)
7. 前提条件と未決事項
8. 変更履歴・承認

本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。

(記載例)出典:株式会社RJC「要件定義書の書き方|記入例と要件ID・受け入れ基準」

各項目の書き方と記入例

「電話・FAXで受けている法人向けの注文を、Webで受け付ける」システムを例にします。

背景と目的:数値で書ける目的を入れる

悪い例 よい例
業務を効率化する 受注の入力作業(月約120時間)をなくし、担当者2名を営業支援に配置転換する
顧客満足度を上げる 注文の受付時間を、平日9〜17時から24時間に広げる

目的が数値や具体的な状態で書かれていると、機能の優先順位を判断でき、完成後に効果を測れます。

対象範囲と対象外

対象 対象外
法人顧客からのWeb注文の受付 個人顧客向けの販売
注文の確認メールの送信 請求書の発行(既存の会計システムで行う)
既存の在庫管理システムとの連携 在庫管理システム自体の改修

「対象外」を書かないと、「それもやってくれると思っていた」という認識の違いが、必ずと言っていいほど起きます。要件定義書で最も効果の大きい項目の1つです。

機能一覧:要件IDと優先度

要件ID 機能 概要 優先度 関連する業務要件
FR-001 ログイン 法人顧客の担当者が、IDとパスワードでログインする Must BR-01
FR-002 商品の検索 商品名・型番で商品を検索する Must BR-01
FR-003 注文 カートの商品を注文として確定する Must BR-01
FR-004 注文履歴 過去の注文を一覧で確認し、同じ内容で再注文する Should BR-02
FR-005 見積書の発行 カートの内容から見積書をPDFで発行する Could BR-03

要件IDを付けると、基本設計・テストで「どの要件に対応するか」を追えるようになり(トレーサビリティ)、要件の漏れと要件にない機能の追加の両方を防げます。

優先度は、MoSCoW(Must:必須、Should:できれば、Could:余裕があれば、Won't:今回はやらない)で付けるのが一般的です。予算や期限が厳しくなったときに、何を削るかを冷静に判断できます。

機能ごとの要件と、受け入れ基準

機能要件には、「どうなれば完成とするか」を判定できる受け入れ基準を付けます。

FR-003 注文

項目 内容
要件 法人顧客の担当者は、カートの商品を注文として確定できる
利用者 法人顧客の購買担当者
業務上のルール 与信の限度額を超える注文は受け付けない。在庫がない商品は取り寄せとして受け付ける

受け入れ基準

  • 注文を確定すると、注文番号が表示され、担当者のメールアドレスに確認メールが届く
  • 与信の限度額を超える場合は、注文が確定されず、理由が表示される
  • 在庫がない商品を含む場合は、「取り寄せ」と表示されたうえで注文できる
  • 同じ注文を二重に送信しても、注文は1件だけ登録される

「使いやすいこと」「正しく注文できること」のような書き方では、完成したかどうかを誰も判定できません。受け入れ基準は、テストの項目にそのまま使える具体さで書きます。「〜の場合は」という例外の条件を含めるのがポイントです。

非機能要件:数値で書く

分類 記入例
性能 通常時、画面の90%以上を3秒以内に表示する。同時利用者300人で上記を満たす
可用性 平日8〜22時は稼働率99.5%以上。障害時は4時間以内に復旧する
セキュリティ 通信はすべてHTTPS。パスワードは専用のハッシュ関数で保存する。5回連続でログインに失敗したらロックする
運用・保守 データは毎日バックアップし、30日保管する。操作ログを1年保管する
移行 既存の顧客データ(約2,000社)を、稼働開始前に移行する
対応環境 最新版のChrome・Edge・Safari。スマートフォンでは閲覧のみ対応

非機能要件は、発注者が「言われなくても当然」と考えていることが多いため、開発側から質問して明文化します。IPAの「非機能要求グレード」は、可用性・性能拡張性・運用保守性・移行性・セキュリティ・システム環境の観点で項目を洗い出す手引きとして役立ちます。

未決事項

No 内容 担当 期限
1 与信の限度額のデータを、どのシステムから取得するか 発注者(経理部) 10/15
2 見積書のPDFのレイアウト 発注者(営業部) 10/31

決まっていないことを、決まったことのように書かないのが大切です。未決事項として一覧にし、担当と期限を決めて管理します。

ヒアリングで使える質問

要件定義の質は、発注者から何を引き出せるかで決まります。

目的 質問の例
課題の把握 今の業務で、一番時間がかかっている作業は何ですか?
目的の明確化 このシステムができたら、何がどう変わっていれば成功ですか?
例外の把握 普段と違う対応が必要になるのは、どんなときですか?
頻度・量 1日(月)に何件くらい発生しますか?繁忙期はいつですか?
関係者 この作業に関わる人・部署は、他にありますか?
優先順位 予算や期限が足りない場合、最後まで残したい機能はどれですか?
非機能 システムが止まったら、どのくらいの時間まで業務を続けられますか?

「どんな機能が欲しいですか?」とだけ聞くと、今の業務をそのまま置き換えた要望や、手段の話ばかりが出てきます。課題と目的から聞き、機能は開発側から提案する、という進め方が効果的です。

よくある失敗と対策

よくある失敗 起きること 対策
目的が「効率化」など抽象的 機能の優先順位を決められない 数値や具体的な状態で書く
対象外を書いていない 「それもやると思っていた」 対象外の節を設ける
受け入れ基準がない 完成の判定で揉める テストに使える具体さで書く
非機能要件が抜けている 完成後に「遅い」「止まると困る」 開発側から質問し、数値で合意する
決まっていないことを推測で書く 後で前提が崩れ、手戻りになる 未決事項として一覧で管理する
現場の担当者に確認していない 実際の業務と合わない 業務の担当者にもレビューしてもらう
承認の記録がない どの版で合意したかわからない 版番号・承認者・承認日を記録する

レビューのチェックリスト

  • □ 目的が、数値や具体的な状態で書かれているか
  • □ 対象範囲と対象外が明記されているか
  • □ すべての機能要件に、要件ID・優先度・受け入れ基準があるか
  • □ 受け入れ基準に、例外の条件(エラー時・上限を超えた場合など)が含まれているか
  • □ 非機能要件(性能・可用性・セキュリティ・運用・移行)が数値で書かれているか
  • □ 外部システムとの連携の相手・方式・タイミングが書かれているか
  • □ 法令・社内規程・予算・期限などの制約が書かれているか
  • □ 未決事項に、担当と期限があるか
  • □ 用語が統一され、用語集と一致しているか
  • □ 業務の担当者と、決裁者の両方が確認したか

AIを活用するときの注意点

生成AIは、ヒアリングのメモから要件の一覧の下書きを作る、受け入れ基準の抜け(例外の条件)を洗い出す、非機能要件の確認項目を挙げるといった作業で大きな助けになります。

一方で、次の点に注意します。

  • AIはもっともらしい要件を補って書くため、発注者が言っていない要件が混ざることがある。すべての要件について「誰が言ったか」を確認する
  • 数値(件数、応答時間など)を推測で埋めさせない。わからない数値は未決事項にする
  • 発注者の機密情報を、許可されていないAIサービスに入力しない

受け入れ基準まで具体的に書かれた要件定義書は、その後の設計・実装でAIを使う場面でも、AIへの正確な指示の土台になります。

よくある質問

Q. 要件定義は誰が行いますか? A. 本来は発注者が主体となって決めるものですが、実際には開発会社のSEやコンサルタントが、ヒアリングと提案を通じて一緒に作り上げることが多くあります。最終的に内容を承認するのは発注者です。

Q. 要件定義書と提案依頼書(RFP)の違いは何ですか? A. RFPは、発注者が開発会社を選ぶために作る「こういうシステムを作ってほしい」という依頼書です。要件定義書は、開発会社が決まった後に、発注者と開発会社が一緒に詳細を詰めて合意する文書です。

Q. アジャイル開発でも要件定義書は必要ですか? A. 分厚い要件定義書を最初に作ることは少なく、ユーザーストーリーとして要件を管理することが一般的です。ただし、目的、対象範囲、非機能要件、受け入れ基準の考え方は、アジャイル開発でも同じように重要です。

Q. 要件定義にはどのくらいの期間がかかりますか? A. システムの規模によって大きく異なりますが、開発全体の期間の1〜2割程度をかけることが多いとされます。ここで時間を惜しむと、後の工程での手戻りが大きくなります。

まとめ

  • 要件定義書は、システムで何を実現するかを発注者と開発者が合意する文書
  • 要件は業務要件・機能要件・非機能要件の3種類。機能だけを並べない
  • 目的は数値で、範囲は対象外まで書く
  • 機能要件には要件ID・優先度(MoSCoW)・受け入れ基準を付ける
  • 受け入れ基準は、例外の条件を含め、テストに使える具体さで書く
  • 決まっていないことは未決事項として、担当と期限を決めて管理する

本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。

(記載例)出典:株式会社RJC「要件定義書の書き方|記入例と要件ID・受け入れ基準」

株式会社RJCでは、SI事業を通じて、お客様とともに課題を整理し、要件定義から設計・開発まで一貫してシステムを形にしています。お客様の想いを「伝わる」形にする力を、仲間と一緒に高め合いながら、成長を楽しんでいます。

株式会社RJC ― SI事業・SES事業・AI駆動開発。未経験からエンジニアに育てるのが得意な会社です。

WE ARE HIRING

RJCで一緒に開発しながら、
成長を楽しみませんか?

RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!

  • 127日年間休日
  • 12時間平均残業時間
  • 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!

ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。

ABOUT RJC RJCがどんな会社か知る 考え方、研修、働き方、福利厚生、社員の前職まで。RJCのことが丸わかり! RJC丸わかりページへ JOB DESCRIPTION 仕事内容・待遇を見てみる 仕事内容、給与・待遇、選考の流れ。経験者も未経験も!応募前に知りたいこと、まとめました! 募集要項を見る ENTRY エントリーする エントリーは1〜2分・履歴書不要です。まずは話を聞いてみたい、という方でも歓迎です! エントリーフォームへ

RJCで一緒に開発しながら、 成長を楽しみませんか?