Outperform The Future

6. システム開発の要件定義で大切なこととは

 

システム開発していく工程の中で、最も上流に位置する工程に、「要件定義」というものがあります。

ユーザーがシステムに求めるものや、システムに期待される役割や効果を明確にし、それを実現するために必要な機能や性能等の条件(要件)を定義していく、システムの方向性を左右する非常に重要な工程です。システム開発が成功するか、失敗するかは、この要件定義にかかっているといっても過言ではありません。

 

開発前に目的を明確にする要件定義

 

要件定義は、設計、実装作業の前工程として行われ、ユーザーがそのシステムで何をしたいのか、なぜそのシステムが必要なのか、システムの目的(要求定義)に基づき分析、検討を行い、その実現のために実装しなければならない機能や性能などを明確にしていきます。

 

ユーザーの要求(システムに期待すること、システムの目的、役割)をまとめる作業を「要求定義」、それをシステム要件(機能や満たすべき条件(性能))にまとめていく作業を「要件定義」と分けることもありますが、両者をまとめて要件定義と呼ぶ場合もあります。

 

ユーザーサイドはシステムに求める要求をより具体的に示し、開発サイドは、それを正しく理解して、機能や性能といった技術的な要件にまとめていく必要があり、ユーザーサイドと開発サイドの最初にして、最も重要なコミュニケーションということができるでしょう。

 

ユーザーとの擦り合わせが重要なポイント

 

要件定義において重要なポイントには、以下のようなことが挙げられます。

 

・ユーザーがシステムに求めるものを明確にするために、そのシステムで何がしたいのか、なぜそのシステムが必要なのかなるべく具体的に想像し、定義させること

 

・ユーザーサイドと開発サイドの間で十分に話し合い、上記のようなシステムに期待すること、役割、目的の情報を共有化し、しっかりとした認識の統一、相互理解を深めること

 

・開発サイドは上記のような要求の理解に基づき、システムの目的に沿った機能や性能を要件として定義すること

 

要件定義は、ユーザーサイドがシステムに求めるものを明確にし、開発サイドがそのユーザーの求めるものを理解するため、ユーザーサイドと開発サイドの認識合わせをする重要な工程です。

この工程でのコミュニケーション不足や目的を曖昧にすることは、開発の失敗に繋がりかねません。

 

初期段階において目的が明確になっていないことや、ユーザーサイドと開発サイドの意識合わせが不十分であることが失敗するプロジェクトの多くを占めています。

従ってこの工程では、ユーザーサイドと開発サイドが、求める要求と必要となる要件について、徹底的に議論し話し合うことが必要となります。

 

要件定義においてプロジェクトの目的を明確にし、ユーザー、開発両者の意識を統一することで「目的のブレ」や「仕様の変更や追加」といったシステム開発失敗の原因発生を抑制し、成功プロジェクトへ導く第一歩となるのです。

 

連載目次へ