要件定義について
要件定義とは
要件定義(Requirements Definition)とは
要件定義とは、システムが実現すべき要件を定義することです。
具体的には、利害関係者(ユーザ、顧客)の要求を分析し、必要な機能を洗い出し、発注側と開発側で何を作るか合意することです。
要望/要求/要件/仕様の違い
システム開発では、抽象度の高い要望を、要求・要件と具体化していき、仕様を明確化していきます。
種類 | 説明 |
---|---|
要望(Demands) |
要望は、利害関係者(ユーザ、顧客)のシステムやサービスへの期待を、そのまま表現したものです。 「素早く表示してほしい」のように抽象的な事柄となります。 |
要求(User Requirements) |
要求とは、システム利用者が求めているもの、システムに実現してほしい目標のことです。 「処理結果を素早く表示できること」のような抽象的な目標を表現したものである。 |
要件(System Requirements) |
要件とは、システムに必要な条件を明確にして、発注側と開発側で「合意した要求」です。 「統計処理結果を素早く表示できること」のような具体的な目標を表現したものである。 |
仕様(Specification) |
仕様とは、システムが備えるべき規格・性能・機能・搭載部品などを定義したものです。 「統計処理結果を2秒以内で表示できること」という具体的な数値目標を表現したものである。 |
要件定義プロセス
要件定義プロセスとは
要件定義プロセスとは、利用者および他の利害関係者が求めるシステムに対する要件を定義することを目的とするプロセスです。
システムに関わり合いをもつ利害関係者を識別し、そのニーズおよび要望を抽出する作業が実施されます。
共通フレーム2013によると要件定義プロセスは以下のように定義されています。
要件定義プロセスは、定義された環境において、利用者及び他の利害関係者が必要とするサービスを提供できるシステムに対する要件を定義することを目的とする。
このプロセスでは、システムのライフサイクルを通じて、システムに関わり合いをもつ利害関係者又は利害関係者の種類を識別し、そのニーズ及び要望を識別する。
このプロセスは、これらを分析し、次のような要件定義の共通集合へ変換する。
- システムがその運用環境との間で行う意図された相互作用を表現する。
- システムがニーズを満たすことを確かめるために、妥当性確認する際、結果として得られた各運用サービスとの対比となる。
- 取得者側の利害関係者間での合意内容となる。
なお、共通フレーム2007によると要件定義プロセスは以下のように定義されています。
新たに構築する(あるいは再構築する)業務、システムの仕様を明確化し、それをベースにIT化範囲とその機能を具体的に明示することである。
また、関連する組織およびシステムに対する制約条件を明確にし、定義された内容について取得者側の利害関係者間で合意することである。
要件定義プロセスの実施アクティビティ
共通フレーム2013では、要件定義プロセスの実施アクティビティとして次の5つを挙げています。
アクティビティ名 | 説明 |
---|---|
利害関係者の識別 | システムのライフサイクルの全期間を通して、どの工程でどの関係者が参画するのかを明確にする。 |
要件の識別 | 利害関係者から要件を漏れなく引き出し、制約条件や運用シナリオなどを明らかにする。 |
要件の評価 | 抽出された要件を確認して、矛盾点や暖味な点をなくし、一貫性がある要件の集合として整理する。 |
要件の合意 | 矛盾した要件、実現不可能な要件などの問題点に対する解決方法を利害関係者に説明し、合意を得る。 |
要件の記録 | 合意した要件を文書化し、ライフサイクルを通して管理できるようにする。 |