要件定義についてこのようなお悩みはありませんか?
「要求定義と要件定義の違いとは?」
「要件定義の必要性は?」
「クライアントからの要求をすべて受け入れる必要はある?」
本記事では、システム開発の要件定義について詳しく解説していきます。
要求定義と要件定義の違いとは?
ここでは要求定義と要件定義の違いについて解説していきます。
1. 要求定義とは?
要求定義とは、発注者の目的やニーズをヒアリングし、新システムに期待するものや求めるものを明確にすることです。
要求定義では、一般的に下記の内容をヒアリングします。
- 現状の課題(何に困っているのか)
- 理想の状態(どのようになれば解決したといえるのか)
- システム機能(どんな機能がほしいのか)
2. 要件定義とは?
要求定義とは、要求定義をRFPに落とし込み、ベンダを選定することです。
具体的には、要求定義の段階でヒアリングした内容をもとにして、現状の課題(As-Is)とあるべき姿(To-Be)を業務として設計し、RFP(提案依頼書)として文書化することを指します。
ベンダ選定後にはベンダ主導でクライアントにヒアリングを実施し、要件定義書を作成することになります。
つまり要件定義は、クライアントの要求をどのようなシステムで実現していくかの具体化をした後に要件定義書に文書でまとめ、成果物として合意することが目的なのです。
システム開発において要件定義の難易度が高い理由
システム開発において、クライアントと合意するためには要件定義が必要となりますが、その難易度が高くなっているのです。
その最大の理由として、要件定義ではプロのITの目線で「なぜ」という観点で要望を検証する必要があるということが挙げられます。
新しいクラウドサービスが多数でているため、それらとの統合したプロセス設計や連携の学習が必須となっていることや、クライアントの要望をそのまま受け入れてしまうと素人が考えたアイデアをもとに設計することになるため辻褄が合わない・保守ができないシステムになってしまうのです。
また、ITはDXや負荷分散なども含め、業務の効率化や省力化だけでなく、売り上げ・利益の拡大や顧客満足度の向上といった業務改革を目的に開発されることが増えているため、多くの企業で一斉に業務の見直しが必要なシステム開発案件が増加しています。
つまり、システムの要件定義より前提になっている業務要件定義が可能なコンサルやSEが重要なキーマンとなるため、業務要件定義が得意な人材でなければ業務設計ができず、後工程で要件の追加や変更が発生し、仕様変更によるリリース遅延が発生してしまうのです。
大規模プロジェクトにおいては、要件定義の成果物の品質やレビューなどのプロジェクト管理も必須になるため、業務要件定義やプロジェクト管理の人材の体制を整えることが、難しい要件定義をこなす大前提だということになります。
顧客の要望をすべて受け入れる必要はあるのか?
顧客の要望が膨らみすぎた結果コントロールできない状態になっているプロジェクトが多々存在することもあり、どこまで顧客の要望や要求を受け入れるべなのか?」という課題を抱えている方も多いのではないでしょうか。
しかし、顧客からの要望をすべて受け入れる必要はなく、顧客の要望を「必須」と「任意」に分類して優先順位を付けた後に、予算とスケジュールにマッチしているものを「合意」という判断をすることが大切になります。
つまり、顧客からの要望をコントロールして、内容によっては拒絶もしくは今後の第2フェーズでの実装を合意するという動きが必要になるのです。
顧客からの要望をコントロールする場合、下記の5つの項目についてチームメンバーから上位関係者、決裁者に合意を取る必要があります。
- 要件定義の必須と任意、優先順位づけ
- 予算の増減
- スケジュールの増減
- 成果物の量や種類の増減
- 成果物の品質の調整
顧客の要望をすべて受け入れると発生するトラブル
顧客の要望をコントロールできずに、すべて受け入れてしまうと下記のようなトラブルが発生してしまいます。
- プロジェクトの大幅遅延の発生
- 予算が大幅に膨らむ
- 大量の仕様変更や不具合の発生
顧客の要望をコントロールできないと、このようにさまざまなトラブルが発生してしまい、最悪の場合、裁判に巻き込まれてしまい通常業務にも支障が出てしまうこともあります。
まとめ
本記事では、システム開発の要件定義について詳しく解説していきました。
システム開発においてのさまざまなトラブルを防ぐためには顧客の要望をコントロールすることが大前提となりますが、要望のコントロールにはプロジェクト管理能力が必須となるため、必要に応じてプロジェクト管理を外部に依頼することを検討することも大切です。
プロジェクト管理については、弊社サービスでも支援しておりますので、まずはお問い合わせください。