システム開発における要件定義のポイント
テクニカルディレクター 林 智之当社には、CMSパッケージによるサイト構築やスクラッチ開発、モバイルアプリなど、システム開発のご相談も多くいただきます。システム開発のプロジェクトを成功させるには、上流工程である「要件定義」が非常に重要な工程となります。「要件定義」を進める上でのポイントをまとめたいと思います。
要件定義のポイント
要件定義とは実現すべき要件をまとめたものです。要件定義が十分でないまま、次の工程に進んでしまい下流工程で問題が発覚し、品質、コスト、スケジュールなどに大きな影響を与える可能性があります。要件定義では以下のポイントを明確にする必要があります。
- 背景・目的
-
システムを導入する背景や目的は何か、期待される効果は何かを明確にします。システムとしての最終的なゴールです。
後工程で迷うような場面では、ここに立ち戻り、システムの目的と照らし合わせて判断する必要があります。 - 範囲
-
システム化の範囲と範囲外を明確にします。システム化の範囲を明確にするには、業務やフローを全て洗い出し、目的と照らし合わせて検討する必要があります。
範囲を決定する要因としては、予算もあります。プロジェクトの予算が決まっている場合は範囲を絞る必要もあります。 - ユーザー
-
誰が利用するのか、どのくらいのユーザーが利用するのかを明確にします。ユーザーごとの役割をしっかりと確認する必要があります。
- 機能要件
-
必要なシステムの機能を明確にします。機能要件とデータの関連性もしっかりと考える必要があります。
- 非機能要件
-
機能要件以外のすべての要件(セキュリティ、運用・保守性、拡張性など)を明確にします。非常に重要度が高く、IPAのサイトで非機能要求の見える化と確認の手段を実現する「非機能要求グレード」が公開されています。
- データ
-
どんなデータを管理するのか、データの源泉(出所)はどこかを明確にします。また、データ数がどのくらいかも確認する必要があります。これはインフラ要件に影響する可能性があります。
要件定義では網羅性が非常に重要なポイントであると考えております。後工程で要件の漏れが発覚した場合、スケジュールに大きな影響を与える可能性があります。業界の暗黙の了解など当たり前と思っていることも明確にする必要があります。
また、実際のプロジェクトでは要件定義に変更が入ることもあります。その際は、変更となった要因や要件、影響範囲等をしっかりと管理する必要があります。このプロセスも非常に重要です。
今回は要件定義のポイントを簡単にまとめさせていただきました。要件定義は発注者側と受注者側のどちらかが行なうわけではなく、両者で行なうものです。要件定義の重要性など発注者側にもきちんと理解してもらい、共通認識を持ってプロジェクトを進めることだと考えます。
もし、システム開発のご相談があればぜひ当社にご相談いただければ幸いです。
Newsletter
メールニュースでは、本サイトの更新情報や業界動向などをお伝えしています。ぜひご購読ください。