下流工程 【下流プロセス】 下流フェーズ

概要

下流工程(下流プロセス)とは、情報システムやソフトウェアの開発において、プログラミング(コーディング)やテストなど、納品物を製造し完成させる工程のこと。導入や運用、保守など完成後の工程を含む場合もある。

ウォーターフォールモデルなどの古典的なシステム開発手順では、要件定義、設計、製造、試験などの各工程を時系列的に順番に一つずつ完了させながら進める。これを川の流れになぞらえ、前半部分を上流工程、後半部分を下流工程と呼ぶ。

下流工程では上流工程で定義された設計書や仕様書などを元に、プログラムなどの実装・作成や、単体テストや結合テスト、システムテストなどの各種のテストおよび修正を行い、システムを納品できる状態に完成させる。場合によっては現場への導入・展開や検収、運用など完成後の工程を含むこともある。

日本の大規模なシステム開発案件の多くは、上流工程システムインテグレータSIer)企業などのシステムエンジニアが行い、その発注により下請け企業のプログラマやテスターなどが下流工程を分担して実施するという流れで行われることが多い。

2000年代以降には、従来の漸進型(インクリメンタル型)の開発工程とは異なり、設計、実装、テストのサイクルを何度も繰り返して徐々に完成度を上げていく反復型(イテレーティブ型/スパイラル型)の開発手法も広まっており、その場合は上流・下流という区分はあまり使われない。

(2019.1.24更新)