上流工程SEの違いをウォーターフォールモデルで解説

ウォーターフォールモデルの中の役割

システム開発のウォーターフォールモデルには、上流工程と下流工程があります。川の水が上流から下流に流れていくように工程が流れていくことから、システム開発の手法を水の流れに例えています。では、上流工程と下流工程にはどのような違いがあるのでしょうか。

ウォーターフォールモデルの中の役割
LINEで送る
Pocket

システム開発の流れ

システム開発は一連の流れがだいたい決まっています。ウォーターフォールモデルの場合、どのようなシステムを作りたいのかについてSEがクライアントから聞き取りを行い、仕様書にまとめる「要件定義」という工程からスタートします。次に、システムを作るための「設計書」を作成し、「プログラミング」の段階へ進みます。プログラム作成の途中や完成後に「テスト」を繰り返し、クライアントに「納品」されます。このように、要件定義、設計書、プログラミング、テスト、納品の一連の流れをウォーターフォールモデルと呼び、役割に応じて上流工程と下流工程に分けられます。

上流工程は前半部分

川の上流は、水の流れの中の上の部分に該当します。つまり、システム開発の上流工程は、システム開発の流れの中の上の部分に該当するということになります。要件定義と設計はクライアントとのやりとりが発生する工程で、プロジェクトの計画を立てている段階です。上流工程は要件定義から設計までの段階のことなので、担当者の主な役割は現場に指示を出すことです。上流工程でシステムの仕様や予算などについてしっかりとクライアントの意思を確認し、正しく理解した内容を設計書に落とし込んでおかないと、誤解した仕様のまま製品が完成してしまう恐れがあります。そのようなミスを防ぐためには、上流工程の担当者のコミュニケーション力とシステム開発全体に対する深い理解が不可欠です。

下流工程

上流工程でシステムの仕様がまとまり詳細設計が完成すると、下流工程へとバトンタッチされます。下流工程では、設計書に書かれている内容に基づいてプログラムを作成していきます。ここから先は完成までひたすら作業が続くことになります。プログラムを組んだらテストで不具合を見つけて修正するという工程を繰り返し、クライアントの要望通りのプログラムを作成していきます。上流工程と下流工程は上下関係というわけではなく役割分担であって、求められていることがそれぞれ異なります。上流工程では専門知識だけでなく高いコミュニケーリョン力が求められる一方、下流工程では専門知識だけでなく長時間作業を行えるだけの集中力や根気強さなどが求められるのが下流工程の特徴です。