システム開発の成功を左右する「要件定義」とは?必要な進め方のコツ
2021.01.04
システムやソフトウェアの開発、スマートフォンアプリの制作、Webサイトの構築など、ITを活用したプロジェクトや開発の現場に欠かせない工程が「要件定義」です。
要件定義を作成していなかったり、作成しても実行がおろそかになっていたりすると、後に問題が発生した際に解決が難しくなり、プロジェクト自体の失敗につながる場合もあります。
効率的なプロジェクト進行のためには、しっかりとした要件定義を行うことが重要です。
今回は要件定義の基礎知識から、混同されやすい要求定義との違い、実際に要件定義を進めていく上でのコツをご紹介します。
目次
要件定義とは?
要件定義は、システム制作やソフトウェア開発、Webサイト構築などを実行する前に、プロジェクトの依頼主である顧客が求めている要件をまとめて確認し、要件定義書を作成する作業です。
一般的な要件定義は、「要件定義」「設計」「製造」「検査」の大きく4つの工程で構成されています。例えば、システム開発を行う場合、まずは要件定義の工程で顧客の求める機能や設定を確認してまとめます。次にその要件を基に、システム全体の設計・システム内部データの関係や流れを設計し、その後にプログラミングやデザインで製造します。製造されたシステムは検査・テストが行われ、最初にまとめた要件が満たされているかどうかチェックするという流れです。
システム開発などのプロジェクトが成功するかどうかは、要件定義によって左右されるといっても過言ではありません。どんなに優れたプログラマーによる使いやすいシステムでも、顧客の求める要件を満たしていなければ、検査での評価は失敗となります。そのため、要件定義はシステム全体の機能を決める上で大事な工程なのです。
システム開発会社選びはプロにお任せ完全無料で全国2000社以上からご提案
主な要件定義の内容
要件定義では、具体的にどのようなことを行えば良いのでしょうか。アパレルブランドのWeb制作プロジェクトを例に挙げながらご説明します。
●最終的な目的の設定
まず、最終的な目標を設定します。目標は、「定性目標」と「定量目標」の2つがあり、アパレルブランドのWeb制作プロジェクトの場合、定性目標は「実際に店舗に訪れたような高級感を演出するデザイン」や「店舗に訪れたときと同じように、商品を手にとって選ぶような楽しさの演出」など、定量目標では「月間100万人が訪れるWebサイト」や「月間3,000人が購入するWebサイト」と設定できます。どちらも設定することが望ましいですが、より重要な目標は実際の数値を設定する定量目標です。
●事前調査
設定した目標を基に、事前調査を行います。例えば、「月間5億人が訪れるサイト」という目標にすると、日本の人口よりも多い人数となり、目標の達成がほぼ不可能です。このようにそもそも設定した目標が現状とあまりに乖離していると、達成できない目標になってしまいます。市場調査や競合サイトの調査、自社分析などを行い、目標に無理がないかどうかを事前に調査しましょう。
●サイト要件・内容の検討
事前調査によって得られた情報を基に、要件や内容を決定していきます。ページ構成やデザイン、プロジェクトに必要なコンテンツ、含みたい機能、サーバーやインフラなどを検討します。
アパレルブランドのWebサイト制作の場合、Webサイトの形態を考慮すると、カート機能や会員機能を要件に含めるのかどうかの検討が必要となるでしょう。また、その機能を実装するプログラム言語やアップロード予定のサーバーのスペックも確認する必要があります。もし、ターゲットユーザーが10代や20代であれば、ニーズに合わせて、PCサイトは作らずにモバイルサイトのみを制作するという選択肢もあるでしょう。
●制作スケジュールとロードマップ
Webサイトを制作しただけでは、要件定義は達成していません。最初に立てた目標が「月間100万人が訪れるWebサイト」であれば、その達成のために必要なマーケティングやコンテンツの発信の継続運用、月間100万人が訪れても耐えられる計画的なサーバーの増強など、運用開始後の体制に関する計画も重要です。
そのためには、まずWebサイト全体の進捗管理を行うディレクター、デザインを担当するデザイナー、デザインを基にコーディングを行うコーダー、内部のプログラムを担当するプログラマーなど、作業分担を行いましょう。そして、要件や機能をベースに一つ一つの工程にスケジュールを引いて運用後の体制を整えることが大切です。
要件定義と要求定義の違い
要件定義に似ている用語に「要求定義」があります。混同されがちな「要件定義」と「要求定義」の違いについてご説明します。
●要求定義とは?
要求定義とは、「プロジェクトで○○がしたい」「この機能がほしい」というクライアントの希望を確認する作業です。クライアント側の担当者が複数人いる場合は、特に必要となります。
●要件定義と要求定義の違い
要求定義は「○○がしたい」というクライアントの希望で、その要求をまとめて「○○の機能が必要」など具体的なシステムの仕様書を作成するのが要件定義です。
例えば、クライアント担当者が2人いた場合、両者の希望を確認したところ、一方からは「Webサイトのデザインは、ブランドカラーの緑をベースにしたい」と要求があり、もう一方からは「Webサイトのデザインは競合他社と差別化を図るために、まだ活用されていないオレンジをベースにしたい」と異なった要求をされるケースがあります。
この場合、要求に乖離があるので、仮に「Webサイトのデザインは緑とオレンジをベースにする」と定義しても、コンセプトが不明瞭なWebサイトになってしまう危険性があります。また、両方取り入れたからといって、どちらも満足のいくものになるとは限りません。そのため、要求を確認してまとめ、最終的に要件定義にする内容を決める作業が要求定義です。
要件定義の進め方とコツ
要件定義は、繰り返し修正を行いながら作成していきます。どのように進めていけば良いのでしょうか。
●クライアントの要求をヒアリング
ヒアリングは、クライアントから、ただ求めている機能を聞くだけではありません。「現状、どのような不満があるのか」「どんな作業で時間がかかっているのか」など、質問を通してクライアントの潜在的な要求を掘り起こしましょう。メールでヒアリングシートを送付して返信してもらうだけの簡易的なヒアリングでは、要求を完全に網羅することはできません。打ち合わせをして、議事録とヒアリングシートを作成し、クライアントと共有しながら認識を合わせていく必要があります。
●要件定義書の作成
クライアントと共有したヒアリングシートを基に、要件定義書を作成します。ヒアリング情報を体系的に分析・整理していき、定義に矛盾がないようにします。要件定義書を作成する際、クライアントの要求すべてを盛り込んでもクライアントが満足してくれる良いシステムが作れるとは限りません。クライアントが実際には何を求めていて、本当に必要な機能は何なのかを分析し、要件定義書にまとめていきます。
要件定義書は簡単に作成できるものではありません。プロジェクトの根幹となる資料であり、この定義を間違えればプロジェクト全体の方向性が変わることになります。「ヒアリング」「要件定義」「共有」「修正」を繰り返して、要件定義書を完成させていきましょう。
要件定義はプロジェクト成功の鍵
プロジェクトを進めていくと、設計時やプログラム実装時、そしてリリース前など、さまざまなタイミングで問題が発生します。
その際に、どのように要件を定義していたのかを振り返って確認するための資料が要件定義書です。
しっかりと練り込まれた要件定義があれば、問題が起きて振り返る際やプロジェクトに新たなメンバーがアサインされたときにも、すぐに全体を理解できる重要なツールになります。
プロジェクトを始める際には、プロジェクト全体を良い方向に導くためにも、しっかりと要件定義を作成するように心掛けましょう。
システム開発の最適な発注先をスムーズに見つける方法
システム開発会社選びでお困りではありませんか?
日本最大級のシステム開発会社ポータルサイト「発注ナビ」は、実績豊富なエキスパートが貴社に寄り添った最適な開発会社選びを徹底的にサポートいたします。
ご紹介実績:10,600件(2021年1月現在)
外注先探しはビジネスの今後を左右する重要な任務です。しかし、
「なにを基準に探せば良いのか分からない…。」
「自社にあった外注先ってどこだろう…?」
「費用感が不安…。」
などなど、疑問や悩みが尽きない事が多いです。
発注ナビは、貴社の悩みに寄り添い、最適な外注探し選びのベストパートナーです。
本記事に掲載するシステム会社以外にも、最適な開発会社がご紹介可能です!
ご相談からご紹介までは完全無料。
まずはお気軽に、ご相談ください。 →詳しくはこちら
システム開発会社選びはプロにお任せ完全無料で全国2000社以上からご提案
■システム開発に関連する記事
「外部設計」と「内部設計」とは?それぞれの違いと作業内容を解説
機能要件とは?システムの品質向上にかかわる非機能要件との違い