そもそも要件定義とは?
要件定義には、求められる要件の意味や内容を、ほかと区別するために明確にするといった意味があります。
クライアントへヒアリング調査を行い、構築システムの概要と実現すべき方向性・手順を設定します。
ヒアリング調査の際に、設定する要点は下記の5つです。
- 作業工程
- 作業メンバー
- スケジュール
- 制作にかかる予算
- 構築システムの概要
また要件定義は、基本設計や要求定義と合わせて上流工程とも呼ばれています。
要件定義のゴールは経営層やクライアント、達成すべき目標・理想像を実現したり、開発範囲を明確にしたりすることです。
そのため、システム開発やWeb制作を受注するシステムエンジニアの役割を担っています。
要件定義書とは
要件定義書とは、要件定義の最終的な成果物をまとめた書類です。
一般的に開発側が作成するケースが多く、プロジェクトの手順とクライアントの要求をすり合わせた結果が記載されています。
要件定義書を作成する目的は、下記の通りです。
- システム開発側が、クライアントの要求を踏まえて開発計画を策定するため
- 策定内容をクライアントに分かりやすく説明するため
また、開発作業に着手する前にクライアントへ提出して、システム概要や搭載機能を詳細に記載しなければいけません。
ほかにもクライアントがシステム開発に関する知識を持っていない場合を考えて、専門用語は避けて、解説用資料も作成しておきましょう。
提案依頼書(REP)との違い
提案依頼書(REP)と要件定義書の違いは、依頼書の作成を発注者側が行う点です。
提案依頼書では、発注者からシステム開発会社に対して、システム全体のイメージや実装を希望する機能を伝えます。
ちなみに提案依頼に含まれる要件は、下記の通りです。
- 移行要件
- 教育要件
- 機能要件
- テスト要件
- 提案依頼内容
- プロジェクト体制
- 提案を依頼したい範囲
提案依頼書は、複数のシステム開発会社に見積もりやコンペを依頼するタイミングで活用されています。
要件定義書に記載すべき項目は?
ここまで、要件定義や要件定義書の概要、提案依頼書(REP)との違いをお伝えしました。
続いて、要件定義書に記載すべき項目を解説します。
- システムに関する要件
- 機能に関する要件
- 非機能に関する要件
それぞれ解説していきます。
システムに関する要件
要件定義書に記載すべき項目として、システムに関する要件が挙げられます。
システムを開発する過程で、どのように構築するのか、開発形態などを細かく記載しましょう。
具体的に盛り込むべき項目は、下記の5つです。
- システムの基本概要
- システム開発の目的
- システム導入後の業務の変化
- 使用するプログラミング言語
- 開発システムから得られるメリット
上記の5つは、システム開発において大枠となる部分です。
基本項目は案件を受注するタイミングで完成するため、比較的短い期間で作成できるでしょう。
機能に関する要件
要件定義書の機能に関する要件には、レイアウトやクライアント成果物に求める機能などを記載します。
機能に関する要件内容は、システム実装の行程におけるゴールとなるので、クライアントと発注側、SEの認識が揃うまで調整を繰り返しましょう。
具体的に記載すべき内容は、下記の4つです。
- 外部との連携機能
- データ・システムの種類
- レイアウトなどのUI要件
- システムの処理内容や構造
ただし、クライアントによって上記の記載内容以外の項目が必要なケースもあります。
そのため何度もヒアリング調査を繰り返して、両者が納得する機能要件を見つけましょう。
非機能に関する要件
要件定義書における非機能に関する要件とは、システム機能以外で求められる要件です。
システム機能以外の要件の例として、下記が挙げられます。
- セキュリティ
- システムの性能
- 保守・運用サービス
非機能に関する要件は、システム開発のなかで重要度の高い項目ですが、具体的なイメージを持てていないクライアントは少なくありません。
そのため開発者側がヒアリングを積極的に行い、具体的なイメージを持てるようにしましょう。
また、ヒアリングを繰り返した場合でも、認識のずれが発生しやすい傾向があります。
システム開発後のトラブルを避けるためにも、要件定義書や追加資料も作成して、クライアントと細かい打ち合わせを行いましょう。
要件定義書の書き方は?
ここまで、要件定義書に記載すべき項目をお伝えしました。
続いて、要件定義書の書き方を解説します。
- 要求をヒアリング
- システムで解決できるか検討
- 要件定義書の作成
ひとつずつ解説していきます。
要求をヒアリング
要件定義を書く際は、まずクライアントの要求をヒアリングするところから始まります。
その際にヒアリングすべき内容は、下記の通りです。
- どのような課題を抱えているか
- どういった解決策を望んでいるか
ただし、すべてのクライアントが明確に課題を言語化できるとは限りません。
そのため発注企業の状況や環境、業界動向、社内事情などをなるべく把握したうえで、言語化できていない部分を捉える必要があります。
システムで解決できるか検討
要件定義書を書くにあたって、クライアントの要求を細分化して、システムで解決できる方法を検討します。
目標実現や課題解決に必要な手順を、システムで解決できるレベルまで細分化して、必要な機能を洗い出していきましょう。
時間やコストによっては、実現できない可能性も出てくるはずです。
そういった点も明確にしたうえで、開発・代替案を提案する準備を進めていきましょう。
要件定義書の作成
ヒアリングと社内で検討したうえで、要件定義書を作成していきましょう。
クライアントに共有する際は、開発システムの完成イメージにズレが生じないように、下記の項目を共有します。
- 目標
- 具体的な機能
- 画面イメージ
- 解決すべき課題
- システムの全体的な構成
またシステム以外の保守・運用やセキュリティに関しても明確にしておきましょう。
プロジェクトを成功に導く要件定義のコツは?
ここまで、要件定義書の書き方をお伝えしました。
続いて、プロジェクトを成功に導く要件定義のコツを解説します。
- 5W2Hで明確に記載する
- 要件と要求をすり合わせる
- 既存システムや業務を把握する
- 要件定義書をステークホルダーに共有する
ひとつずつ解説していきます。
5W2Hで明確に記載する
プロジェクトを成功に導くためには、要件定義に5W2Hを明確に記載しましょう。
5W2Hを意識することで、内容の曖昧さや抜け漏れを防げるため、ヒアリング精度を向上できます。
実際の5W2Hの活用例は、下記の通りです。
- What:システムで何を解決したいのか
- Why:どういった理由でシステムを開発するのか
- Where:どの部分にシステムを導入するのか
- Who:誰がシステムを運用・利用するのか
- When:いつまでのシステムを開発・導入するのか
- How:どのようにして課題を解決するのか
- How much:システムを開発する際の予算はいくらか
もちろん、全ての質問に5W2Hが当てはまるとは限りません。
しかし正確にクライアントの要求を引き出す方法として、的確に質問を投げかけることも必要です。
そのためヒアリング内容は記録に残しておき、次のプロジェクトに活かしましょう。
要件と要求をすり合わせる
プロジェクトの成功に導くには、要件定義書の要件と要求をすり合わせましょう。
要件定義書には、クライアントの「どういったシステムを求めているか」が記載されており、純粋なニーズが記載されています。
ただし開発者側の視点が盛り込まれていないので、要件定義書と要求定義書をすり合わせることで、それぞれのズレや抜け漏れを把握できるでしょう。
手戻りの発生や無駄なコストを防ぐためにも、お互いのすり合わせを行い、クライアントの要求を満たしたシステムを開発できるか確認が必要です。
既存システムや業務を把握する
クライアントの既存システムや業務を把握することは、プロジェクトを成功に近づけるでしょう。
企業のシステムや業務は、下記の流れで進められるケースが一般的です。
- システム:複数の管理システムの連携によって業務がサポートされている
- 業務:複数の業務と連携して進められる
つまり、新しく開発するシステムが既存のシステム・業務と連携できるように事前の調査が必要です。
しかしシステムによっては、情報のブラックボックス化や専門担当者の不在などの理由から、調査が難航する可能性もあります。
そういった際はできる限り調査を進めて、現行のシステム開発に盛り込むケースも検討しておきましょう。
要件定義書をステークホルダーに共有する
プロジェクトを成功させるには、作成した要件定義書をステークホルダーに共有しましょう。
システム開発のプロジェクトによっては、システムの設計や構築、運用を複数の企業で分担する場合があります。
さらに担当者が変わることで、下記のリスクも考えられます。
- 伝達した情報が劣化していく
- 要件の認識にズレが生じてくる
認識のズレは作業の手戻りを引き起こす可能性があるので、関係者を事前に集めて情報共有を行いましょう。
情報共有の際は、システム開発の経緯やクライアント企業の現状、バックグラウンドなどを共有できれば、担当者間の理解度の溝を埋められるはずです。
こちらの記事では、ステークホルダーの概要や関連用語、活用事例について解説しているので、ぜひ参考にしてください。
まとめ
今回は、要件定義書に記載すべき項目や提案依頼書との違い、プロジェクト成功のコツを解説しました。
要件定義には、求められる要件の意味や内容を、ほかと区別するために明確にするといった意味があります。
また、要件定義書に記載すべき項目は、下記の3つです。
- システムに関する要件
- 機能に関する要件
- 非機能に関する要件
要件定義書と書き方として「要求をヒアリング」「システムで解決できるか検討」「要件定義書の作成」があるとお伝えしました。
本記事でお伝えしたプロジェクトを成功に導く要件定義のコツも参考にして、システム開発のプロジェクトを成功に導きましょう。
【SNSフォローのお願い】
kyozonは日常のビジネスをスマートにする情報を毎日お届けしています。
今回の記事が「役に立った!」という方はtwitterとfacebookもフォローいただければ幸いです。
twitter:https://twitter.com/kyozon_comix
facebook:https://www.facebook.com/kyozon.comix
さらにこちらの記事では、要件定義を作成する流れやうまく進めるためのポイントを解説しているので、ぜひ参考にしてください。