プロジェクトを進めるにあたっては、工程を上流工程と下流工程の大きく2つに分けられます。上流工程とは、プロジェクト開始前や初期の段階で行われる工程のことです。上流工程では何を開発するのか、どのような機能が必要かを定め全体の構想を練り上げる、要件定義や基本設計などを行います。プロジェクトの土台となる部分を作り出す、非常に重要な工程です。プロジェクトの成功は、この上流工程でどれだけしっかりとした計画を立てられるかにかかっているともいえるでしょう。
一方、下流工程とは上流工程で決定した計画に基づき、実際に製品を開発していく工程のことです。詳細設計から始まり、実装、テスト、納品までが含まれます。下流工程では、上流工程で決定された要件に従って実際に手を動かし、目に見える形での成果物を創出していくのです。下流工程では計画通りに物事が進んでいるか確認することが大事で、問題があればすぐに修正を加えながら進めていかなければなりません。製品の品質を左右するため、細かな注意と丁寧な作業が求められます。
上流工程と下流工程は、プロジェクトを円滑に進めるために切っても切れない関係です。上流工程で綿密な計画が立てられていれば、下流工程での作業はスムーズに進められます。反対に、上流工程での計画が曖昧だと、下流工程での作業に大きな支障をきたしかねません。この2つの工程は、プロジェクト全体の流れの中で異なる役割を持ちながらも、互いに強く影響し合っています。