要件定義の作り方とは?作成手順と成果物をサンプル付きで紹介
システム開発において、依頼者と認識をすり合わせたうえで作成する「要件定義」は重要な役割を担っています。
プロジェクトが順調に進行するかどうかは、要件定義の成否にかかっているといっても過言ではありません。
とはいえ、要件定義をはじめて担当する方であれば「具体的にどのように要件定義を作成すればよいのか」と悩むこともあるでしょう。そこで当記事では、要件定義の作り方を紹介します。
本記事でご紹介している「要件定義の作成」をご検討されている方へ、弊社代表が無料で30分のスポットコンサルをさせていただきます。ご不明点をお気軽にご相談いただけますので、下記お問い合わせフォームよりご連絡くださいませ。
要件定義とは?誰がやるのか
要件定義とは、システム開発者が依頼者の要望をヒアリングしたうえで必要な機能や要件をまとめることです。システム開発におけるスケジュールや予算などもすり合わせておけば、プロジェクトをスムーズに進められます。
要件定義の目的
要件定義の目的は、主に依頼者と開発者との要望・解決策をすり合わせることです。要件定義を作成するなかで「〇〇の課題もあった」「それなら〇〇の機能も必要だ」といった隠れた要望が明らかになることもあります。
要件定義をしっかりまとめておかないと、万が一プロジェクトの進行中に軸がぶれたとき、スケジュールやコストの見直しが必要になります。
プロジェクト開始前に「システム開発の全体像」を把握するためにも、要件定義の作成は重要な工程と言えるのです。
要件定義の成果物「要件定義書」
要件定義の成果物は「要件定義書」と呼ばれます。名称の通り、要件定義を文書化したものです。要件定義書はシステムに詳しくない人が見ても内容を把握できるような、わかりやすい文書が求められます。
要件定義書とRFP(提案依頼書)・要求定義の違い
要件定義書に似た言葉として「RFP(提案依頼書)」「要求定義(書)」があります。いずれもシステム開発における重要な文書ですが、それぞれ目的や作成者などが異なります。
- RFP:自社の課題を解決できるシステム開発をベンダーやslerなどに提案してもらうために、依頼側が作成・提出する文書
- 要求定義:依頼側が出した要望(要求)を整理すること、また整理したものの文書
要件定義書・RFP・要求定義書を作成・提出する流れは以下のとおりです。
- 依頼者が複数の開発会社に対してRFPを作成・提出する
- 開発会社の選定後に、依頼者が要求定義をまとめる
- 開発者が、依頼者の要求定義をもとにヒアリングして要件定義を作成する
要件定義書の作り方・作成手順~成果物のサンプル付き~
はじめて要件定義を担当する方のために、要件定義書の作り方・作成手順を解説します。当セクションの後半では成果物のサンプルも紹介するので、参考にしてみてください。
作り方1:目標と現状の課題を明確化する
要件定義を作るとき、はじめに行うのは企業の目標と現状の課題を明確化することです。「なぜシステム開発が必要なのか」「開発したシステムでどのような課題を解決したいのか」などを洗い出していきます。
このとき、依頼者と実際のシステムユーザーが異なる場合は、社内でコンセンサスをとることが大切です。
はじめの段階で「〇〇業務を効率化したい」といった現場レベルのニーズを把握しておけば、プロジェクトの進行途中で要望が大きく乖離する心配は少なくなるでしょう。
作り方2:開発システム全体の構成を決める
目標や現状を明確化できたら、次は開発システム全体の構成を決めていきます。どのような役割の構成要素が登場するのかを、要件定義の段階で詰めておかなければいけません。
ひと言で「システム」といっても、役割の構成要素は以下のようにさまざまです。
- ウェブサーバー上で動作するウェブシステム
- パソコンの上で動作するクライアントシステム
- 特定のデバイス上で動作する組み込みシステム
システム・構成要素によって見積も大きく変動します。見落としがないよう、しっかりすり合わせておきましょう。
作り方3:機能要件・非機能要件を定義する
開発システム全体の構成が決まったら、いよいよシステム開発において重要な「機能要件」「非機能要件」を定義します。それぞれの意味・違いは以下のとおりです。
- 機能要件:システムの機能に関する要件
- 非機能要件:プロジェクト進行にかかわるが機能以外の要件(拡張性や保守性、運用など)
機能要件は企業・現場の業務効率に直結するため、どのような課題をどのように改善していくかという内容、業務フローを明確にしておく必要があります。
また機能要件を定義した際には、excelや専用ツールなどを用いて「データフロー図」「フレームワーク」などを作成しましょう。
各構成が明確になれば、具体的にどの機能を定義すべきかもわかりやすくなります。UI要件やレイアウト画についても、用意しておくのがおすすめです。
一方、システムの機能ではないものの、非機能要件の定義も重要です。可用性や性能、運用・保守性やセキュリティなどを想定していないと「開発中にマシンやサーバーがクラッシュしてしまう」といったリスクがあります。
要件定義を作成する際には、機能要件だけでなく非機能要件にも注目しましょう。
作り方4:プロジェクトのスケジュール・予算・メンバーなどを決める
課題やシステムの全体像、機能・非機能要件までを明確化したら、次はプロジェクトのスケジュール・予算・メンバーなどを決めます。
- スケジュール:工数を産出して日程計画に落とし込む
- 予算:システム開発の要件定義をもとに単価を設定する
- メンバー:プロジェクトメンバーに誰を、何人アサインするかを決定する
要件定義書を作成するまでは、あくまでも大枠の定義で問題ありません。要件定義が完全に完了した段階で、詳細見積やスケジュール、成果物を作成しましょう。
作り方5:要件定義書を作成する
要件定義が完了したら、成果物として「要件定義書」を作成します。基本的には、作り方1〜5で整理・決定したことを文書としてまとめます。
要件定義書に必要な項目は以下のとおりです。
- プロジェクトの概要と目的
- 用語定義
- システムの構成要素
- 現状フロー
- システム構築後のフロー
- 利用者一覧(ステークホルダー)
- 機能要件・非機能要件
- 互換性
- スケジュール
- 予算
【成果物(要件定義書)の目次サンプル】
■プロジェクトの概要と目的 現行システムが抱える〇〇の課題による事務負担の軽減を目的として、新システムを構築します。またシステム化が未着手の〇〇業務へ対応することによって、現場の業務効率化を目指します。 ■用語定義 〇〇:~~を指します 〇〇:~~を指します ■システムの構成要素 システム構成は次の通りです。なお、新たなハードウェア導入は予定していません。 ・アプリケーションサーバー 自動連携設定を行う画面、連携結果を表示する画面を提供します。 ・データベースサーバー 既存の社内サーバーです。 ■現状フロー 現状のフローは次のとおりです。 ・担当者がシステム開発部門にデータ出力を依頼 ・システム開発部門がデータをCSV出力して、メールで送信 ・担当者がCSVをexcelにて編集 ・担当者が〇〇システムへログイン ・〇〇システムのインポート機能でCSVデータを取り込み ■システム構築後のフロー システム構築後のフローは以下を想定しています。 ・担当者が専用画面にて自動取込で設定 ・〇〇システムが自動処理後、担当者に完了メールを送信 ・担当者が〇〇システムへログイン ・取り込み未確定データを確認後、システムにて確定処理を実行 ■利用者一覧(ステークホルダー) 担当者、または現場でシステムを利用する人の名前一覧 ■機能要件・非機能要件 ※機能要件(プロセス)・機能要件(インターフェイス)・非機能要件について記載 ※詳しくは独立行政法人 情報処理推進機構(IPA)の機能要件一覧を参照ください ■互換性 既存システムとの互換性は維持されます。なお〇〇システムのバージョンは12.0.0を対象としています。マイナーアップデートは問題ないと想定していますが、メジャーアップデートのタイミングでAPIが変更される可能性はあります。 ■スケジュール 日付・内容は以下のとおりです。 2023年04月10日まで:要件確認 2023年04月20日まで:開発 2023年04月30日まで:テスト 2023年05月10日まで:テスト結果に伴う調整 2023年05月20日まで:再度テスト 2023年05月31日まで:開発完了およびデプロイ ■予算 100万円 |
要件定義書に「これ」といった正解はありません。複数のサンプルを参考・アレンジすれば、初心者でも要件定義書を作成できるようになります。
弊社にお問い合わせをいただき、お打ち合わせをさせていただけましたら、
要件定義書の作成について、無料でアドバイスをさせていただきます。
ご不明点をお気軽にご相談いただけますので、下記お問い合わせフォームよりご連絡くださいませ。
要件定義書をスムーズに作成するために準備しておくべきこと
要件定義書をスムーズに作成するためには、準備しておくべきことがあります。準備を疎かにすると十分な内容の要件定義を作成できません。しっかり理解しておきましょう。
依頼側の業務を理解しておく
システム開発で要件定義を作成するときは、依頼者の業務を理解しておく必要があります。業界や業務によって生じる課題は異なるため、依頼者とのヒアリングや現場の声を拾うなどして深く理解できるよう努めましょう。
開発担当者・タスクを明確にしておく
要件定義書をスムーズに作成するためには、開発担当者やタスクを明確にしておくことも大切です。曖昧のままだとコミュニケーション不足に陥る可能性があり、不要なスケジュール調整の増加・本来するべき業務の妨げが生じてしまいます。
具体的に「誰が」「いつまでに」「なにを完成させるのか」を明確にしておきましょう。開発担当者が他プロジェクトと兼務する場合は、作業の構成図を作成してタスクを可視化しておくのもおすすめです。
要件漏れ防止に役立つフレームワークを把握しておく
要件定義書を作成するときは、事前に要件漏れ防止に役立つフレームワークを把握しておきましょう。要件漏れは時間やコストを無駄にしてしまうリスクがあります。
「該当システムがどのようなケースに至ると問題が発生するか」を考え、要件漏れやシステム開発におけるイレギュラーを予防することが大切です。
【要件定義に役立つフレームワーク例】
- EA:要求定義を効率よくする
- 5W2H:すべきことや役割を明確にする
- RASIS:非機能要件の定義に役立つ
- ERD:業務フローを理解できる
- DFD:データの流れを定義して曖昧さを排除できる
費用目安を共有しておく
当然ですが、システム開発には費用がかかります。開発方法や機能要件によって費用は変動するため、要件定義書を作るときは費用目安を共有しておきましょう。開発途中で費用に関する問題が生じては、最悪の場合プロジェクト自体が中止になってしまうリスクもあります。
要件定義書を作成するのはexcelやパワーポイントでもよい?
結論、要件定義書を作成するのはexcelやパワーポイントでもよいです。
要件定義書の目的は「依頼者と開発者の要望をすり合わせること」「要望をわかりやすく文書化すること」のため、基本的に使用ツールは重要ではありません。
ただし、会社ごとに規定がある場合は従う必要があります。初めて要件定義書を作成するときは、事前に「使用ツールに規定があるかどうか」を確認しておくと安心です。
まとめ
要件定義書の作り方に明確な決まりはありません。とはいえ、一般的な作成手順やポイントを理解しておくことで、はじめてでも比較的スムーズに要件定義を作成できるでしょう。
要件定義を作成するうえで重要視すべきは「依頼者の要望を満たした機能が含まれているか」「誰が見てもわかりやすい内容になっているか」という点です。
要件定義を作成するときは、なにより依頼者の業務への理解・丁寧なヒアリングを心がけましょう。
本記事でご紹介している「要件定義の作成」をご検討されている方へ、弊社代表が無料で30分のスポットコンサルをさせていただきます。ご不明点をお気軽にご相談いただけますので、下記お問い合わせフォームよりご連絡くださいませ。