要求は「関係者が求めていること(なぜ・何をしたいか)」、要件は「その要求を満たすために、システムが満たすべき条件を、確かめられる形で書いたもの」です。 要求は利用者や事業の言葉で書き、要件は開発と検収で使える言葉で書きます。1つの要求から、ふつうは複数の要件が生まれます。

要求 要件
一言でいうと 求めていること(need) 満たすべき条件(requirement)
誰の言葉か 事業・利用者 事業・利用者と開発の合意
書く内容 目的・困りごと・やりたいこと 機能・品質・制約・移行の条件
確かめ方 目的が達成されたか(効果) テスト・検収で合否が出せるか
例 空いている会議室をすぐ探して予約したい 日時と人数を指定すると、空いている会議室を一覧で表示する
まとめる工程 要求定義 要件定義

確認環境:「要件(requirement)」の定義は、ISO/IEC/IEEE 29148:2018 の定義を引用している NIST の用語集で、要件の分類は IIBA の「The Business Analysis Standard」4.4節(BABOK Guide v3 を参照)の原文で確かめました。日本語の用語は IPA「ユーザのための要件定義ガイド 第2版」(2019年)の本文で、段階の分け方は Karl Wiegers のインタビュー記事(Dr. Dobb's Journal、2007年)の原文で確かめています。要求一覧・要件一覧の抜けを調べるスクリプトは Python 3.11.15(Linux)で動かし、図は Mermaid 12.1.0(@mermaid-js/mermaid-cli 12.0.0)で描画できることを確かめました(確認日 2026年10月13日)。

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

(記載例)出典:株式会社RJC「要求と要件の違い|要求定義と要件定義の書き方と例」

要求と要件の定義を原文で確かめる

英語では、要求も要件もふつう「requirement」1語です。 日本語では「要求」と「要件」を分けて使うため、どこで線を引くかが文書ごとに違って見えます。主な出典の言葉を並べると、次のようになります。

出典 原文 日本語にすると
ISO/IEC/IEEE 29148:2018(NIST の用語集が引用) "statement that translates or expresses a need and its associated constraints and conditions" 要求(need)と、それに伴う制約・条件を表した記述
IEEE Std 730-2014(同じく NIST が引用) "A condition or capability that must be met or possessed by a system or system element" システムやその要素が満たす・備えるべき条件や能力
BABOK Guide v3(IIBA の 4.4節) "a usable representation of a need" 要求(need)を、使える形で表したもの
Karl Wiegers(Dr. Dobb's のインタビュー) 同僚 Brian Lawrence の言葉として "anything that drives design choices" 設計の選択を決めるもの全般

29148 と BABOK はどちらも、need(求めていること)を先に置き、requirement をそれを表したもの・言い換えたものとしています。 日本語の「要求=need」「要件=requirement」と対応づけると、違いが整理しやすくなります。

IPA の「ユーザのための要件定義ガイド 第2版」も、同じ向きで書かれています。

  • 「ステークホルダから要求(What)を漏れなく抽出し、内容を見極め、新たなビジネスやシステムを創造する要件として定義する」(はじめに)
  • 「『BR.ビジネス要求定義』で定義した要求を機能要件・非機能要件の観点で仕様化」(本ガイドの構成と想定読者)

つまり、要求を集めて見極めたものが要件で、要件は機能要件・非機能要件として書き分けます。

「要求」「要件」の呼び方は文書によって揺れる

同じものでも、文書によって呼び方が違います。プロジェクトの用語集で、どちらを使うかを決めておくと混乱が減ります。

文書・規格 呼び方の例 意味
BABOK(英語) business requirements 変更を始めた理由(目的・目標・成果)
IPA 要件定義ガイド ビジネス要求定義(BR) 事業・業務の要求を把握して分析する
IPA 非機能要求グレード 非機能要求 非機能の項目と水準
一般的な要件定義書 非機能要件 性能・可用性・セキュリティなどの条件

BABOK の英語では「business requirements」ですが、日本語では「ビジネス要求」と訳されることが多く、IPA の非機能要求グレードは「要求」の語を使っています。語の違いより、「目的の段階か、システムの条件の段階か」で見分けるのが確実です。 非機能の項目は、関連記事「非機能要件一覧|IPA非機能要求グレード6大項目と定義書テンプレート」で扱っています。

ビジネス要求・ユーザー要求・システム要件の3段階

要求と要件は、2つに分けるより、3段階で考えると落とし込みやすくなります。 Wiegers はインタビューで、次のように分けています。

  • ビジネス要求(business requirements):"describe the business objectives for the project and address the question of why we're undertaking the project"(プロジェクトの事業上の目的、つまり「なぜやるのか」)
  • ユーザー要求(user requirements):"describe what users will be able to do with the product"(利用者がプロダクトで何をできるようになるか)
  • 機能要件(functional requirements):"describe what the developer must implement"(開発者が作るべきもの)

BABOK の分類(IIBA 4.4節)も、ほぼ同じ段階です。

BABOK の分類 原文 この記事の呼び方
Business requirements "Statements of goals, objectives, and outcomes for why a change has been initiated." ビジネス要求
Stakeholder requirements "The needs of stakeholders that must be met to achieve the business requirements." ユーザー要求(利害関係者の要求)
Solution requirements:Functional "the capabilities a solution must have for the behaviour and information the solution will manage." 機能要件
Solution requirements:Non-functional "conditions or qualities a solution must have." 非機能要件
Transition requirements "The capabilities and the conditions needed to facilitate a transition from the current to the future state." 移行要件
flowchart TB
  BR["ビジネス要求<br>なぜやるのか(目的・目標)<br>例:空予約を減らし、会議室の追加賃借を避ける"]
  UR1["ユーザー要求<br>社員:空き会議室をすぐ探して予約したい"]
  UR2["ユーザー要求<br>総務:使われない予約を手作業なしで解放したい"]
  subgraph SR["システム要件(要件定義の範囲)"]
    FR["機能要件<br>空き会議室の一覧表示<br>未使用予約の自動取り消し"]
    NFR["非機能要件<br>検索は95%が2秒以内"]
    CON["制約<br>ログインは社内SSO"]
    TR["移行要件<br>Excelの予約を移す"]
  end
  BR --> UR1
  BR --> UR2
  UR1 --> FR
  UR1 --> NFR
  UR2 --> FR
  BR --> CON
  UR2 --> TR

上の段ほど「なぜ」、下の段ほど「何を・どの水準で」になります。 要求定義はビジネス要求とユーザー要求を、要件定義はシステム要件(機能・非機能・制約・移行)を決める工程と考えると、境目がはっきりします。

29148 の文書の名前との対応

ISO/IEC/IEEE 29148 の 2011年版の目次には、要求・要件を書く文書として次の3つが並んでいます。

文書(29148:2011 の目次) 略称 この記事の段階
Stakeholder requirements specification StRS ユーザー要求(利害関係者の要求)
System requirements specification SyRS システム要件
Software requirements specification SRS ソフトウェアの要件

なお、ISO のページでは、現行の 29148 は 2018年の第2版で、「改訂中(to be revised)」の段階にあり、次の版(DIS)に置き換わる予定と書かれています(2026年10月13日時点)。

要求定義と要件定義の違い(工程として)

観点 要求定義 要件定義
決めること 目的・対象範囲・利用者のやりたいこと システムが満たす条件(機能・非機能・制約・移行)
主に書く人 発注側(事業部門・利用部門) 発注側と開発側が一緒に
主な成果物 要求一覧、業務の As-Is/To-Be、要求定義書 要件一覧、要件定義書、機能一覧、非機能要件の表
合意の相手 事業の責任者・利用部門 事業・利用部門・開発・運用
書き方の決まり 「誰が・何を・なぜ」 「何を・どの条件で・どう確かめるか」

IPA のガイドは「要件定義は利用部門(ユーザ)の責任」と書いています(改訂にあたって)。要件定義は開発側だけの仕事ではなく、要求を持つ側が最後まで関わる工程です。

業務の現状と目指す姿の整理は関連記事「As-Is/To-Be分析のやり方|業務フローと課題整理テンプレート」で、要件定義書の全体の書き方は「要件定義書の書き方|記入例と要件ID・受け入れ基準」で扱っています。

要求から要件への落とし込み方(5つの手順)

flowchart LR
  A["1 要求を集める<br>ヒアリング・観察"] --> B["2 なぜを問う<br>ビジネス要求に結ぶ"]
  B --> C["3 解決策を選ぶ<br>1つの要求→複数の要件"]
  C --> D["4 確かめられる形で書く<br>数値・条件・受け入れ基準"]
  D --> E["5 IDでつなぐ<br>要件→要求の追跡"]
  E -.見直し.-> B
  1. 要求を集める:利用者・業務担当・運用担当から、困りごとと、やりたいことを聞きます。聞く項目は、関連記事「要件ヒアリングの質問一覧60項目|シートのテンプレートと記入例」で扱っています。
  2. 「なぜ」を問い、ビジネス要求に結ぶ:「スマホで予約したい」と言われたら「なぜ?」と聞きます。答えが「席を離れた場所で会議が決まるから」なら、本当の要求は「その場で空きを確かめて押さえたい」です。どのビジネス要求にも結びつかない要求は、優先度を下げる候補になります。
  3. 解決策を選ぶ:要求の中には、解決策が混じっていることがあります(「Excel のマクロで自動化したい」など)。手段は要件の段階で選び直せるように、要求は目的の形に戻します。
  4. 確かめられる形で書く:「速く」「使いやすく」は人によって読み方が変わります。数値・条件・例で書き、受け入れ基準(合格の条件)を添えます。
  5. ID でつなぐ:要件ごとに、元の要求の ID を書きます。要求から要件、設計、テストまでのつながりは、関連記事「トレーサビリティマトリクスの作り方 要件・設計・テスト対応表」で扱っています。

記入例:会議室予約システム

社員 約500名の会社で、会議室が足りないという声が出ています。調べると、予約されたのに使われない「空予約」が多いことが分かりました。数字は説明のための仮の値です。

ビジネス要求

項目 記入
目的 会議室の空予約を減らし、会議室の追加の賃借をせずに済ませる
今の状態 予約の約2割が使われていない(総務部の抜き取り調査、仮の値)
目標 空予約を予約全体の5%以下にする(稼働から3か月後)
やらないこと 来客の受付、備品の予約

ユーザー要求

要求ID 要求(誰が・何を・なぜ) 出所 優先度
UR-01 社員として、空いている会議室をスマホからすぐに探して予約したい。席を離れた場所で会議が決まるから 社員アンケート Must
UR-02 総務担当として、使われなかった予約を手作業なしで解放したい。毎朝の確認に30分かかっているから 総務部ヒアリング Must
UR-03 社員として、会議の参加者に予約の内容を知らせたい 社員アンケート Should
UR-04 総務担当として、会議室ごとの利用率を月ごとに見たい 総務部ヒアリング Could
UR-05 総務担当として、今の Excel の予約を引き継ぎたい 総務部ヒアリング Must

優先度は MoSCoW(Must・Should・Could・Won't)で付けています。付け方は関連記事「MoSCoW分析のやり方|要件の優先順位付けの例と判定シート」で扱っています。

システム要件(要件一覧)

要件ID 要求ID 種類 要件 受け入れ基準
FR-01 UR-01 機能 日時と人数を指定して、空いている会議室を一覧で表示する 10名・明日14時で検索すると、条件に合う会議室だけが表示される
FR-02 UR-01 機能 一覧から選んだ会議室を予約できる 予約後に、一覧からその枠の空きが消える
FR-03 UR-02 機能 開始から15分を過ぎてもチェックインがない予約を、自動で取り消す 14:15の時点でチェックインのない14:00の予約が取り消される
FR-04 UR-03 機能 予約時に、参加者へメールで通知を送る 予約の確定から1分以内に、参加者全員にメールが届く
FR-05 UR-04 機能 会議室ごとの月別の利用率を CSV で出力する 前月分の CSV に、全会議室の行がある
NFR-01 UR-01 非機能 空き検索の結果を、95%の検索で2秒以内に表示する 同時100人の検索で、95パーセンタイルが2秒以内
NFR-02 UR-01 非機能 スマートフォンのブラウザで予約まで操作できる iOS と Android の最新版のブラウザで予約まで操作できる
CON-01 BR-01 制約 ログインは社内の SSO を使う 社内 ID でログインできる
TR-01 UR-05 移行 現行の Excel の予約を新システムに移す 稼働日の前日までの予約が、すべて移っている

UR-02 の「手作業なしで解放したい」は、FR-03 の「15分を過ぎたら自動で取り消す」という具体的な条件になりました。 「15分」は、要求を出した総務部と合意して決める値です。要求の段階では決まっていなかった数字を、要件の段階で決める。ここが要求定義と要件定義のいちばんの違いです。

FR-03 のように、1つの要件を開発の単位に分けると、ユーザーストーリーやチケットになります。書き方は、関連記事「ユーザーストーリーの書き方と例30選|受け入れ基準Given-When-Then」で扱っています。

機能要件・非機能要件との関係

機能要件と非機能要件は、どちらも「要件」の側の分け方です。 要求の段階では、まだ機能か非機能かを分けないことも多くあります。UR-01 から、機能要件(FR-01・FR-02)と非機能要件(NFR-01・NFR-02)の両方が生まれているのがその例です。

種類 何を書くか 例 確かめ方
機能要件 システムが何をするか 空き会議室を一覧表示する 機能テスト
非機能要件 どの水準でするか(性能・可用性・セキュリティなど) 95%の検索で2秒以内 性能テスト・設定の確認
制約 選べない前提(技術・法令・社内の決まり) ログインは社内 SSO 設計レビュー
移行要件 今から新しい状態に移るための条件 Excel の予約を移す 移行リハーサル

機能要件を画面や処理の単位で一覧にする方法は、関連記事「機能一覧の書き方とテンプレート 機能IDの採番と粒度の決め方」で扱っています。

要求一覧・要件一覧のテンプレート

表計算ソフトにそのまま貼れる CSV の形です。1行目が見出しです。

要求一覧

要求ID,種類,要求,出所,優先度
BR-01,ビジネス要求,(なぜやるのか。目的と目標の数値),(責任者の名前),Must
UR-01,ユーザー要求,(〇〇として、〜したい。なぜなら〜),(ヒアリング・アンケートなど),Must
UR-02,ユーザー要求,,,

要件一覧

要件ID,要求ID,種類,要件,受け入れ基準
FR-01,UR-01,機能要件,(システムが何をするか。主語はシステム),(合格の条件。具体的な値や例)
NFR-01,UR-01,非機能要件,(どの水準で。数値で),(測り方と合格の値)
CON-01,BR-01,制約,(選べない前提),(確かめ方)
TR-01,UR-05,移行要件,(移行の条件),(確かめ方)

ID の頭文字は、種類が分かるようにそろえます(BR:ビジネス要求、UR:ユーザー要求、FR:機能要件、NFR:非機能要件、CON:制約、TR:移行要件)。要件定義書での ID の付け方は、関連記事「要件定義書の書き方|記入例と要件ID・受け入れ基準」で扱っています。

抜けを調べるスクリプト

2つの一覧を読み、次の4つを調べる Python のスクリプトです。

  • 要件の「要求ID」が、要求一覧にあるか(親のない要件)
  • 受け入れ基準が空になっていないか
  • 「速く」「使いやすい」など、人によって読み方が変わる語がないか
  • 要件に落ちていないユーザー要求がないか
import csv, re, sys

reqs = {r["要求ID"]: r for r in csv.DictReader(open(sys.argv[1], encoding="utf-8"))}
sols = list(csv.DictReader(open(sys.argv[2], encoding="utf-8")))
VAGUE = ["速く", "使いやすく", "使いやすい", "適切に", "柔軟に", "なるべく", "など", "等"]
errors = []

for s in sols:
    sid = s["要件ID"]
    if s["要求ID"] not in reqs:                       # 親の要求がない
        errors.append(f"{sid}: 要求ID {s['要求ID']} が要求一覧にない")
    if not s["受け入れ基準"].strip():                 # 確かめ方がない
        errors.append(f"{sid}: 受け入れ基準が空")
    words = [w for w in VAGUE if w in s["要件"]]
    if words:                                        # 人によって読み方が変わる語
        errors.append(f"{sid}: あいまいな語 {words}")

used = {s["要求ID"] for s in sols}
for rid, r in reqs.items():
    if r["種類"] == "ユーザー要求" and rid not in used:  # 要件に落ちていない要求
        errors.append(f"{rid}: 対応する要件がない({r['優先度']})")

print("\n".join(errors) if errors else "OK")
print(f"要求 {len(reqs)} 件 / 要件 {len(sols)} 件 / 指摘 {len(errors)} 件")

書きかけの版(通知の受け入れ基準が空、検索の性能が「速く表示する」、移行要件の親が UR-09 という書き間違い、UR-04 に対応する要件がない)で動かした結果です。

$ python3 check_req.py youkyu.csv youken.csv
FR-04: 受け入れ基準が空
NFR-01: 受け入れ基準が空
NFR-01: あいまいな語 ['速く']
TR-01: 要求ID UR-09 が要求一覧にない
UR-04: 対応する要件がない(Could)
要求 5 件 / 要件 8 件 / 指摘 5 件

NFR-01 を「95%の検索で2秒以内」に直し、受け入れ基準を埋め、UR-05 を要求一覧に足し、UR-04 に FR-05 を対応させた版(上の記入例の表と同じ内容)では、次のようになりました。

$ python3 check_req.py youkyu2.csv youken2.csv
OK
要求 6 件 / 要件 9 件 / 指摘 0 件

「等」は「同等」のような語にも当たるため、指摘は人が見て判断します。あいまいな語の一覧は、チームでよく出る語に合わせて増やせます。

よくある誤り

誤り 起きること 直し方
要求をそのまま要件として渡す(「使いやすくしたい」) 開発と検収で合否が決まらない 数値・条件・例で書き、受け入れ基準を添える
要求に解決策が混じったまま進む(「Excel マクロで」) ほかの手段と比べられない 「なぜ」を問い、目的の形に戻す
要件に親の要求がない 誰のための要件か分からず、削れない 要件ごとに要求 ID を書く
ビジネス要求を書かない 優先度の根拠がなく、要求が増え続ける 目的と目標の数値を最初に書く
非機能要件を後回しにする 性能・運用の条件が後から出て手戻りになる 要求の段階で「どの水準か」も聞く
「要求」「要件」の意味をそろえない 同じ言葉で別のものを指して話がずれる 用語集で定義を決めて共有する

よくある質問

Q. 「要求定義」と「要件定義」は、別の工程として分けるべきですか。 A. 規模によります。IPA のガイドは、ビジネス要求定義(BR)とシステム化要求定義(SR)を別の章として扱っています。小さな改修では、1つの文書の中で「要求」「要件」の欄を分けるだけでも、段階の違いは表せます。

Q. ユーザー要求とユーザーストーリーは同じものですか。 A. 近いものです。Wiegers の言うユーザー要求(利用者がプロダクトで何をできるか)を「〇〇として、〜したい。なぜなら〜」の型で書いたものが、ユーザーストーリーです。アジャイル開発では、ストーリーに受け入れ基準を添えて、要件の役目も持たせます。

Q. 要件はどこまで細かく書けばよいですか。 A. 目安は「受け入れ基準で合否が出せるところまで」です。画面の配置やテーブルの設計は、要件ではなく設計の段階で決めます。設計書との境目は、関連記事「基本設計書の書き方|項目・記入例とレビューの観点」で扱っています。

Q. 要件が決まったあとに要求が変わったらどうしますか。 A. 要求 ID から、影響を受ける要件をたどれます。変更の受け付けと記録のしかたは、関連記事「仕様変更の管理方法 変更管理表テンプレートと変更要求フロー」で扱っています。

まとめ

  • 要求は「求めていること(need)」、要件は「それを満たす条件を確かめられる形で書いたもの(requirement)」
  • 29148 は要件を「need と制約・条件を表した記述」、BABOK は「need を使える形で表したもの」と定義している
  • 段階は ビジネス要求(なぜ)→ ユーザー要求(誰が何をしたいか)→ システム要件(機能・非機能・制約・移行)
  • 落とし込みは 集める → なぜを問う → 解決策を選ぶ → 確かめられる形で書く → ID でつなぐ
  • 要件には 親の要求 ID と受け入れ基準 を必ず添える

参考・出典

確認日はいずれも 2026年10月13日です。

  • NIST Computer Security Resource Center「requirement - Glossary」(ISO/IEC/IEEE 29148:2018・IEEE Std 730-2014 の定義を引用):https://csrc.nist.gov/glossary/term/requirement
  • ISO「ISO/IEC/IEEE 29148:2018 Systems and software engineering — Life cycle processes — Requirements engineering」:https://www.iso.org/standard/72089.html
  • ANSI Webstore「ISO/IEC/IEEE 29148:2011 プレビュー(目次)」:https://webstore.ansi.org/preview-pages/ISO/preview_ISO+IEC+IEEE+29148-2011.pdf
  • IIBA「The Business Analysis Standard 4.4 Understanding Requirements and Designs」:https://www.iiba.org/knowledgehub/the-business-analysis-standard/4-implementing-business-analysis/4-4-understanding-requirements-and-designs/
  • IPA「ユーザのための要件定義ガイド 第2版」:https://www.ipa.go.jp/publish/tn20191220.html
  • Dr. Dobb's Journal「So What Are Requirements?」(Karl E. Wiegers へのインタビュー、2007年9月):https://jacobfilipp.com/DrDobbs/articles/DDJ/2007/0709/070801cv01/070801cv01.html

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

(記載例)出典:株式会社RJC「要求と要件の違い|要求定義と要件定義の書き方と例」

株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。

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で一緒に開発しながら、 成長を楽しみませんか?