要件定義とは?意味をわかりやすく解説|家づくりで見る全体像

要件定義の意味と全体像を家づくりにたとえて解説する記事のアイキャッチ

当サイトの記事は編集部がIPAなど公的機関の公開資料と読者の声を調べて独自に執筆しています。

『要件定義をやってほしい』と言われたものの、何を決めて何を書けばいいのか見えない。そんな状態で困っている方も多いはずです。

結論から言うと、要件定義とは「システムで何を実現するかを、発注側と開発側で合意して文書に残す工程」です。この記事を読めば、要件定義の意味と全体の流れが、家づくりにたとえて一枚の地図のようにつかめます。

目次

要件定義とは?意味をひとことで言うと

先に結論

要件定義は、作り始める前に「何を作るか」の約束を決める工程です。英語ではRequirements Definitionと呼ばれ、現場では略してRDと書かれることもあります。

ITの世界で「要件」と言う時は、システムが満たすべき条件のことを指します。つまり、IT分野の要件定義とは、その条件を一つずつ言葉にして関係者で確かめ合う作業なんです。

よく混ざるのが「要求」という言葉ですよね。要求は利用者や発注者の「こうしたい」「こうなってほしい」という願いです。

一方で要件は、その要求のうち予算や期間、技術を踏まえて「システムで実現する」と合意したものです。願いを出すのが要求定義、実現する約束に絞るのが要件定義、と覚えておくとわかりやすいです。

言葉意味例
要求利用者や発注者の「こうしたい」勤怠の締め作業を早く終わらせたい
要件実現すると合意した条件月末の締め処理を画面操作だけで完了できる
仕様要件をどう作るかの具体締めボタンを押すと集計表が出力される

要求と要件の違いをもっと深く知りたい方は、要求定義と要件定義の違いで詳しく扱っています。

要件定義の「要件とは」何を指すのか

要件には大きく分けて、業務のやり方に関するものと、システムの働きに関するものがあります。前者を業務要件、後者をシステム要件と呼ぶことが多いです。

さらにシステム要件は、何をするかを決める機能要件と、どのくらいの品質で動くかを決める非機能要件に分かれます。この3つがそろって、はじめて「何を作るか」が決まったと言えます。

要件定義はシステム開発のどこにあるのか

要件定義は、システム開発のいちばん最初のほうにある「上流工程」です。IPAの「共通フレーム2013」では、企画の後に要件定義があり、そこから設計、実装、テストへと進む流れで説明されています。

順番工程ここで決めること
1企画なぜシステム化するのか、何を目指すのか
2要件定義何を作るか、どこまで作るか
3設計どう作るか(画面、データ、全体の構成)
4実装とテスト作って、正しく動くかを確かめる
5導入、運用と保守使い始めて、使い続ける

開発の左側(要件定義や設計)と右側(テスト)を対応させて考える見方を、V字モデルと呼びます。この見方では、要件定義で決めた内容は最後の受入テストで発注側が確かめることになります。

つまり、要件定義で書いたことが、そのまま「完成を判断する物差し」になるんです。ここが大事なところなので、覚えておいてください。

家づくりにたとえると要件定義の全体がつかめます

ここがこの記事でいちばん伝えたいところです。要件定義は、注文住宅を建てる前の「間取り決め」によく似ています。

施主(発注側)は「家族4人で住みたい」「在宅勤務の部屋がほしい」と希望を出します。工務店(開発側)は、予算や土地の広さを見ながら「この間取りなら建てられます」と提案し、図面で合意しますよね。

たとえの読み方

家づくりの施主が発注側、工務店が開発側にあたります。間取り図が要件定義書、建築の詳細図面が設計書、と読み替えてみてください。

家づくりの場面システム開発の場面決める人
どんな暮らしをしたいか話す業務をどう変えたいかを話す(要求)主に発注側
部屋数や広さを決める必要な機能を決める(機能要件)発注側と開発側
断熱や耐震の基準を決める性能や安全性を決める(非機能要件)発注側と開発側
予算と完成時期を決める費用、期間、範囲を決める発注側と開発側
間取り図にサインする要件定義書を承認する発注側
柱や配線の図面を描く基本設計と詳細設計主に開発側
要件定義を家づくりの間取り決めにたとえて、発注側と開発側の役割を対応させた図解

『家の話ならわかるけど、システムだとピンとこない』という方もいるかもしれません。ただ、間取りが決まらないまま柱を立て始めたら困るのは、どちらも同じなんです。

例えば完成間近に「やっぱり和室がほしい」と言われたら、壁を壊してやり直すことになります。システムでも、作った後に「この画面が足りない」と分かると、設計から作り直す手間がかかります。

間取り図がないとどうなるか

間取り図がないと、施主と工務店がそれぞれ別の家を思い浮かべたまま進んでしまいます。要件定義書がないシステム開発も同じで、完成してから「思っていたのと違う」が起きやすくなります。

発注側「この前話した集計の画面、入っていないんですか」
開発側「議事録には残っていなかったので、対象外だと思っていました」

こうしたすれ違いを防ぐために、要件定義を文書に残して両者で確かめるんです。要件定義を書面にする具体的な方法は、要件定義書とはでも紹介しています。

要件定義で決めることは大きく3つ

決める3つの中身

業務要件、機能要件、非機能要件の3つです。加えて、範囲や前提条件、移行や運用の決めごとも要件定義の段階で話し合います。

『機能を並べれば終わりじゃないの?』と思われがちですが、実は機能だけでは足りません。それぞれ何を決めるのか、見ていきましょう。

業務要件:業務をどう変えるか

業務要件は、業務を誰が、いつ、何を、どんな基準で行うかを決めるものです。システムの話をする前に、仕事のやり方そのものを決めておく部分ですね。

例えば経費精算なら「申請者が月末までに申請し、上長が3営業日以内に承認する」のように書きます。業務の流れは、業務フロー図で描いておくと関係者が同じ絵を見て話せます。

機能要件:システムが何をするか

機能要件は、画面、帳票、データ、処理、外部との連携など、システムが行うことを決めるものです。「申請画面で領収書の画像を添付できる」のように、できることを具体的に書きます。

非機能要件:どのくらいの品質で動くか

非機能要件は、性能や安全性、運用のしやすさなど、機能以外の品質に関する条件です。見落とされやすいのですが、後から変えるのがとても大変な部分なんです。

IPAの「非機能要求グレード」では、非機能要件を次の6つの大項目で考えます。各項目のレベルを0から5の段階で選ぶ方式で、発注側と開発側が合意しやすくなる道具として公開されています。

大項目決めることの例
可用性止まってはいけない時間帯、止まった時の復旧の考え方
性能・拡張性画面の応答の速さ、利用者が増えた時の対応
運用・保守性バックアップ、監視、問い合わせの受け方
移行性旧システムからのデータの移し方、切り替えの方法
セキュリティ誰が何を見られるか、ログの残し方
システム環境・エコロジー設置場所や使う機器、省電力などの条件

詳しくはIPA 非機能要求グレードで確認できます。

3つの要件で書けているか確認する
  • 業務の流れを誰が見ても同じように説明できる
  • 画面や帳票の一覧があり、それぞれの役割が書いてある
  • 止まってよい時間や応答の速さが言葉で決まっている
  • 移行と運用の担当者が決まっている
  • まだ決まっていないことが一覧になっている

記入例:社内の勤怠管理システムを入れ替える場合

言葉だけだとイメージしにくいので、架空の題材で記入例を作ってみました。社内の勤怠管理システムを入れ替える場合の、3つの要件の書き方の例です。

種類書き方の例
業務要件社員は毎日の退勤時に勤務時間を入力し、上長は翌営業日までに確認する
業務要件人事担当は月末の締め日に全社員の勤務時間を確定させる
機能要件社員がスマートフォンから出勤と退勤を打刻できる
機能要件締め日に部署ごとの勤務時間の集計表を出力できる
非機能要件始業前後の打刻が集中する時間帯でも打刻が止まらない
非機能要件社員は自分の記録だけ、上長は部下の記録だけ見られる

このように、業務要件で「仕事のやり方」を決め、機能要件と非機能要件で「それを支えるシステムの条件」を決めていきます。上から順に書くと、なぜその機能が必要なのかが自然とつながりますよ。

システム側の要件をもっと詳しく知りたい方は、システム要件定義とはを読んでみてください。

要件定義の進め方と役割分担

要件定義を進める時は、いきなり機能を書き出すのではなく、目的から順に絞り込んでいきます。大まかな流れは次のとおりです。

要件定義の進め方
  1. システム化の背景と目的を言葉にする
  2. 今の業務(As-Is)を聞き取り、課題を出す
  3. 目指す業務(To-Be)を描き、変える点を決める
  4. 業務要件、機能要件、非機能要件を書き出す
  5. 範囲、前提、未決事項を一覧にする
  6. 関係者でレビューし、要件定義書を承認する
要件定義を目的の確認から承認まで6つのステップで進める流れの図解

各ステップの詳しいやり方は要件定義の進め方・手順にまとめています。ここでは、立場ごとの役割を見ておきましょう。

発注側と開発側は何を担うのか

『要件定義は開発会社がやってくれるもの』と考えている方もいるかもしれません。でも、業務を一番知っているのは発注側ですよね。

IPAが2019年に公開した「ユーザのための要件定義ガイド 第2版」も、業務に責任を持つユーザ(発注側や業務部門)に向けて書かれています。DXの流れの中で、業務部門が主体的に要件定義に関わる必要が増している、という問題意識が背景にあります。

立場主な役割よく担う人
発注側(業務部門)業務の課題と目指す姿を伝え、要件を承認する業務の責任者、現場の担当者
発注側(情報システム部門)社内の調整と既存システムとの関係を見る社内SE
開発側要望を聞き取り、実現方法と影響を説明するSE、PM、ITコンサルタント

どの立場がどこまで担うかは、契約の形や会社によって変わります。誰が中心になるかで迷ったら、要件定義は誰がやる?も参考にしてみてください。

要件定義ガイド

まずは型をそろえよう|要件定義書のテンプレートと記入例

章立て・各章に書くこと・1行の記入例をひとつの表にまとめました。白紙から書き始める前に、型を手元に置いておきましょう。

無料要件定義書のテンプレートを見る

当サイトの記事ページに移動します。

ウォーターフォールとアジャイルで要件定義は変わるのか

工程を上から順に進めるウォーターフォールでは、要件定義書を確定させてから設計に進むのが基本です。後から変えると手戻りが大きいので、最初にしっかり決めておきます。

一方、短い期間で作って確かめるを繰り返すアジャイルでは、要件を一度に決めきりません。「利用者として、目的のために、この機能がほしい」という形のユーザーストーリーで要望を並べ、優先順位の高いものから少しずつ決めていきます。

比べる点ウォーターフォールアジャイル
要件を決める時期最初に全体を決める作りながら少しずつ決める
要件の残し方要件定義書で承認するユーザーストーリーとプロダクトバックログで並べる
変更への向き合い方手続きを踏んで変更する優先順位を入れ替えて対応する
向いている場面範囲と費用を早めに固めたい使いながら形を見つけたい

どちらの進め方でも「何を作るかを合意する」という目的は変わりません。違うのは、決めるタイミングと文書の厚さなんです。

要件定義書にはどんな項目を書くのか

要件定義の結果をまとめたものが要件定義書です。様式は会社ごとに違いますが、一般的な章立ての例を挙げておきます。

  • 背景、目的、現状の課題(As-Is)と目指す姿(To-Be)
  • 対象範囲(スコープ)と前提、制約条件
  • 業務要件(業務フロー、業務一覧)
  • 機能要件(機能一覧、画面、帳票、データ、外部連携)
  • 非機能要件、移行要件、運用と保守の要件
  • 用語集、未決事項と課題の一覧、承認欄

書き方の手順は要件定義書の書き方で、項目ごとの記入例つきで紹介しています。

要件定義でつまずきやすいポイントと防ぎ方

初めて要件定義を担当すると、同じところでつまずく方が多いんです。よくある失敗と、その防ぎ方を見ておきましょう。

よくある失敗

「使いやすい画面」「速く動く」のように、あいまいな言葉のまま合意してしまうことです。受け取る人によって解釈が変わり、完成後に「思っていたのと違う」が起きやすくなります。

国際規格のISO/IEC/IEEE 29148では、よい要件の性質として、あいまいでないこと、検証できること、矛盾しないことなどが挙げられています。言い換えると「後から確かめられる書き方」になっているかが大事なんです。

あいまいな書き方確かめられる書き方(例)
画面は使いやすくする申請に必要な入力項目を1画面にまとめる
検索は速くする検索結果が表示されるまでの目標時間を決めて書く
必要に応じて通知する承認待ちが発生した時、承認者にメールで通知する
現行と同じ機能にする現行の機能を一覧にし、残すか捨てるかを1件ずつ決める

決めきれないことは「未決」として残す

全部を一度に決めきるのは、実際にはなかなか難しいですよね。決まらないことを黙って先送りにすると、設計の途中で問題が大きくなりがちです。

そこで、決められなかったことは課題一覧に「未決」として書き、誰がいつまでに決めるかを添えておきましょう。それだけで、後から「聞いていない」となるのを防げます。

関係者が多くて話がまとまらない

部署ごとに言うことが違って、なかなか要件がまとまらないこともありますよね。そんな時は、最終的に決める人(承認者)を最初に決めておくのが近道です。

意見が分かれた時は、システム化の目的に照らしてどちらが近いかで判断します。目的が文書になっていれば、「声の大きい人の意見が通る」という事態も防ぎやすくなります。

利用部門「入力画面は今の帳票と同じ並びにしてほしいです」
情報システム部門「目的は入力ミスを減らすことでしたよね。並びを変えるとミスが減るなら、そちらを優先しませんか」

このように、目的に戻って話すと、好みの違いで止まっていた話も前に進みます。

設計と混ぜてしまう

要件定義は「何を作るか」、基本設計は「どう作るか」を決める工程です。要件定義の場でボタンの色や画面の配置まで細かく決め始めると、肝心の範囲や優先順位が決まらないまま時間が過ぎてしまいます。

工程の境目は要件定義と基本設計の違いで詳しく紹介しています。目的を見失わないコツは要件定義の目的も読んでみてください。

よくある相談に答えます

ここでは、要件定義について実際によく寄せられる相談を、要約してお答えします。

要件定義の段階で、入出力の細かい仕様まで求められるのは普通?

「要件定義の工程なのに、設計や実装に近い資料まで作るよう求められる」という相談があります。結論から言うと、会社や案件によってよくあることですが、範囲を確かめておくのが大切です。

要件定義で決めるのは「何を入力し、何を出力するか」までが目安です。項目の桁数や画面の細かい配置は、本来は設計で決める話なので、どこまで書くかを最初に関係者とすり合わせておきましょう。

範囲の決め方の例

要件定義書の冒頭に「この文書で決めること」「設計で決めること」を一覧で書いておくと、後から作業範囲でもめにくくなります。

社内SEが一人で要件定義から導入まで担当している。進め方は合っている?

人数の少ない会社では、社内SEが要件定義から導入まで一人で担うこともありますよね。一人で進める時ほど、決めたことを文書に残しておくのが助けになります。

業務部門の責任者に要件の承認をもらう場を設けると、後から「そんな話は聞いていない」と言われにくくなります。一人で抱え込まず、決める人と確かめる人を分けておきましょう。

「要求定義」と「要件定義」は英語でどう言うの?

要求はRequirement、要件定義はRequirements Definitionと書かれることが多いです。英語では要求と要件を一つの言葉で表すことが多く、日本語ほど区別しない場面もあります。

日本の現場で迷ったら、「願い」が要求、「合意した条件」が要件、と考えておけば大きく外れません。

よくある質問

要件定義とはわかりやすく言うと何ですか?

システムで何を実現するかを、発注側と開発側で合意して文書に残す工程です。家づくりでいえば、建て始める前に間取りを決めて図面にサインする段階にあたります。

ITの要件定義とRDは同じ意味ですか?

はい、同じものを指すことが多いです。RDはRequirements Definitionの略で、開発の工程表などで要件定義の工程をRDと書くことがあります。

要件定義は発注側と開発側のどちらが行いますか?

両方で行います。業務の課題や目指す姿は発注側が伝え、実現方法や影響は開発側が説明し、最後に発注側が承認するのが一般的な形です。

要件定義を省くとどうなりますか?

完成後に「思っていたものと違う」が起きやすくなります。作り直しの手間が大きくなるので、小さなシステムでも何を作るかは文書で確かめておきましょう。

要件定義の内容はいつ確かめますか?

開発の終盤に行う受入テストで確かめます。要件定義で決めた内容がテストの基準になるので、確かめられる書き方にしておくことが大切です。

まとめ

この記事の要点
  • 要件定義とは、システムで何を実現するかを発注側と開発側で合意して文書に残す工程
  • 要求は「こうしたい」という願い、要件は実現すると合意した条件
  • 決めるのは業務要件、機能要件、非機能要件の3つが中心
  • 家づくりの間取り決めと同じで、決めずに作り始めると後で大きな手戻りになる
  • あいまいな言葉を避け、決まらないことは未決として一覧に残す
要件定義ガイド

要件定義ガイド 編集部

システム開発の要件定義について、意味・進め方・要件定義書の書き方とテンプレート・必要なスキルを実務目線でまとめている情報サイトです。 公式サイト

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次