要件定義とは、システムやソフトウェアの開発をおこなう上で、実装すべき機能や満たすべき性能などを明確にしていく作業のことです。クライアントのアナログな「要求」を、ITシステム上のデジタルな「要件」として落とし込むという作業になります。
要件定義から設計までを上流工程、プログラミングからテスト作業までを下流工程といい、要件定義は前者の上流工程にあたります。
要件定義の結果は「要件定義書」という書類に残されます。要件定義書とは、実装する機能などの情報をクライアントに提出するため、システム開発側が記述したものです。要件定義書を作成することで、開発側とクライアントが持つイメージの擦り合わせをおこなうことが可能となります。
要件定義の流れの一例として、「現状分析」「ヒアリング」「検討」「要件定義書」の順が挙げられます。
現状分析では、既存の業務フローとシステムについて分析し、クライアントが抱える課題について理解を深めることが重要となります。その後、システム担当者や関係者のヒアリングをおこない、クライアントの具体的な要求を把握していきます。クライアントの要求が把握できたら、要求の細分化によって検討をおこないます。要求と要件の擦り合わせをすることで、無駄なフェーズを削減することができます。最後に要件定義書を提出し、システム開発側とクライアントの完成イメージの一致を確認します。
要件定義の重要性
要件定義の主な役割として、開発側とクライアント側の認識を一致させることが挙げられます。双方の認識を一致させ、合意を取ることが目的の1つなのです。
また要件定義が曖昧だったり非現実的な場合、システム開発などその後の段階で滞ったり、手戻りが起きてしまう可能性があります。
要件定義書の項目
要件定義書の必須項目として、システムの概要や導入目的、システム導入後の業務フロー、機能要件、非機能要件などが挙げられます。
機能要件とはクライアントが求めている機能のことで、システム導入によって得られる機能を指します。具体的には、データやシステムの種類、構造がこれにあたります。
一方で非機能要件とは、機能面以外のクライアントが求める要件のことで、クライアントのヒアリングなどを通じて洗い出します。具体的には、セキュリティや保守・運用サービスなどがこれにあたります。
要件定義書の作成に関する注意点
要件定義書を作成する際の主な注意点として、以下の3つが挙げられます。
第一に、事前にきちんと準備をおこなうことが大切です。既存のシステムや業務フローについて理解し、クライアントのヒアリングを重ねることで、より質の高い要件議定書を作成することができます。
次に、専門知識がなくてもわかりやすい内容にすることも重要です。IT分野に関する専門用語ばかり使って記述してしまうと、IT分野の知識に乏しいクライアントの場合、きちんとその内容を理解することができません。
さらに、クライアントが抱えている問題の解決策が示されているかについても注意しましょう。要件定義書の目的はクライアントの要求をまとめることだけではなく、その要求を叶える手段を提示することだからです。
「きちんと要件定義をおこなおう」
丁寧に要件定義をおこなうことで、その後の無駄な作業を省くことができ、時間短縮とコスト削減につながります。逆にきちんと要件定義をおこなわないと、プログラミングやテスト作業段階での手戻りが起きてしまう可能性があります。
「来週までに要件定義書を提出します」
システム開発側がクライアントに提出する要件定義書は、双方の認識を一致させる役割があります。そのため、詳細までわかりやすく記述する必要があります。
「要件定義では完成したシステムを具体的にイメージすることが大切だ」
要件定義の段階で開発者とクライアントの双方が同じ完成イメージを持つことで、後のトラブルを防ぐことができます。また、必要な工程の逆算にもつながります。
「この要件定義書では分かりにくい」
要件定義書はシステム開発側が作成するものですが、クライアントに提出するものなので、専門知識がなくても理解できる内容にすることが大切です。
上流工程と下流工程とは
システム開発における要件定義から詳細設計までの一連の流れを「上流工程」といいます。上流工程では、アナログな要求をどのようにしてITシステム上に落とし込むかを明確にイメージするスキルが必要となります。
上流工程の後は「下流工程」に入ります。下流工程における業務には、プログラミングによるシステム実装からテスト作業までが該当します。
要件定義において必要なこと
クライアントの要求の適切なヒアリングは、要件定義において非常に重要となります。ユーザーの要求をシステム動作として理解し、実現できない要求がある場合はそれを明確にする必要があるからです。
また、ユーザーの要求を実装したシステムを具体的にイメージすることも必要です。さらに完成を具体的にイメージすることは、システム実装までの工程の逆算にもつながります。
この記事がお役に立ちましたら、"いいね!"をお願いします
minweb辞書のIT用語をお届けします