キャリアエヌでは、ビジネスライフに役立つビジネスノウハウ情報を発信しております!
2,551view

システム開発における要件定義(要求定義)の重要性について!

システム開発における要件定義(要求定義)の重要性について!
こんにちは!

「キャリアエヌ」の管理人です!

お昼の貴重な時間にご覧いただきありがとうございます!

今日は6月19日(土)です!

はじめに


システム開発における開発手法は大きくは、

・ウォーターフォール
・アジャイル

という二つの方法(モデル)がありますが、今回は、「ウォーターフォール」における要件定義(要求定義)工程の重要性について述べたいと思います。


システム開発における要件定義(要求定義)の重要性について!


以下、システム開発における要件定義(要求定義)の重要性についてです。


ウォーターフォールモデルについて!


ウォーターフォールモデルでのシステム開発の場合、通常は以下の工程に沿ってシステム開発を進めていきます。

1.要件定義(要求定義)
⇒業務、システムに関する顧客の要件/要求を定義する。

2.基本設計
⇒要件定義(要求定義)を基にシステム化するシステム機能の基本的な設計を行う。

3.詳細設計
⇒基本設計を基にシステム機能におけるアプリケーションの詳細な設計を行う。

4.製造(プログラミング)
⇒詳細設計を基にアプリケーションの製造(プログラミング)を行う。

5.単体テスト
⇒製造(プログラミング)したアプリケーション単体のテストを行う。

6.結合テスト
⇒単体テストが完了したアプリケーションを結合しテストを行う。

7.総合テスト(システムテスト)
⇒システム機能全体のテスト、システム間での結合テストを行う。

8.運用テスト
⇒顧客側のユーザー(利用部門)、システム運用部門を含めた実際の運用に則したテストを行う。

9.商用稼働(商用リリース)
⇒構築したシステムの本稼働を行う。

10.運用/保守
⇒構築したシステムの運用/保守を行う。


要件定義(要求定義)の重要性!


上記のように、ウォーターフォールモデルでのシステム開発の場合、要件定義(要求定義)で定義した事項が次工程以降に引き継がれ、詳細化されていくため、上流工程である要件定義(要求定義)は非常に重要になってきます。

特に、要件定義(要求定義)以降の工程で、要件(要求)の漏れや、新たな要件(要求)が発生した場合など、要件定義(要求定義)や基本設計などの上流工程に戻ってから、再度、システム設計全体を見直すことが必要になり、大きな手戻りが発生し、納期に間に合わなくなるなどのスケジュール遅延などが発生するリスクがあります。

このような要件定義(要求定義)でのリスクを回避するために、顧客と認識齟齬がないように、いかに顧客と具体的な要件定義(要求定義)を行うかが要件定義(要求定義)では重要になってきます。

また、要件定義(要求定義)が完了したタイミングで、システム開発費用の見積もりを顧客に提示することが多いですが、要件定義(要求定義)開始前から顧客側の予算が決まっている場合や、要件定義(要求定義)完了後に予算をオーバーしている場合など、要件定義(要求定義)工程ではシステム開発におけるコストコントロールも非常に重要になっています。

上記のことから言えるように、要件定義(要求定義)はシステム開発において、様々な事項を左右する非常に重要な工程となります。


最後に


今回、システム開発における要件定義(要求定義)の重要性について述べましたが、完璧な要件定義(要求定義)を実施してから、後工程を進めることはごく稀であり、何かしらの課題やら問題を残した状態で後工程を進めることも少なくはないです。

ただし、先でも述べているように、システムの根幹となる部分は後工程への影響が大きいため、しっかりと要件定義(要求定義)を実施する必要があります。