やりがいはある?つまらない? 上流工程とは
上流工程といえばIT関連企業でよく耳にする言葉ですが、具体的にどのような業務内容を指すのかよく知らないという人も多いのではないでしょうか。
この記事では、上流工程の内容や業務で必要なスキルなどを紹介します。
上流工程とは?
上流工程とは一体どういった業務を指すのでしょうか。まずは上流工程の内容について説明します。
上流工程とは、主にIT業界などで使われる言葉で、システム開発・設計において最初に行う工程です。
一般的なシステム開発の流れは、「要件定義」「外部設計(概要設計)」「内部設計(詳細設計)」「開発(プログラミング)」「テスト」「運用(導入・納品・稼働)」といった順番で行われます(ウォーターフォール・モデル)。
この中で上流工程は、初期段階の要求定義~内部設計までを指します。
上流工程の具体的な業務は、クライアントにどのようなシステムが必要かヒアリングをした後に、どういった機能や組み合わせで設計して開発を進めていくか、計画を立てることです。
ただし、システム開発は会社によって工程数や内容が異なるため、必ずしも上流工程がこれに当てはまるとはいえません。
ちなみに、上流工程を英語でいうと「higher process」もしくは「upper process」です。下流工程は「lower process」といいます。
主にSEやITコンサルタントが担当する仕事
クライアントへのヒアリングや設計といった上流工程に携わる職種は、主にSE(システムエンジニア)やITコンサルタントです。PG(プログラマー)は、プログラミングをメインとする下流工程を担当します。
SEは指示者、PGは作業者になりますが、実際の現場では職種の垣根を越えてそれぞれが全体の工程に関わることも珍しくありません。
ただし、上流工程を行う大手企業の場合は、下請けや子会社に下流工程を依頼するケースが多くなります。
上流工程に必要なスキルとやりがい
上流工程に必要な2つのスキルを紹介します。
要望を引き出すコミュニケーションスキル
上流工程に必要なスキルの1つは、コミュニケーションスキルです。
なぜなら、ヒアリングでクライアントのニーズをうまく引き出すことで、初めて課題と解決策が割り出され、環境に合わせたソフトウェアやシステムの設計ができるようになるからです。
ヒアリングが不十分だと「必要な機能が実装されていない・稼働しない」といったトラブルもおきやすいため、コミュニケーションスキルは必須といえるでしょう。
クライアントが希望するシステムを開発するためにも、「どんな実作業をしているのか」「現在どのような点に不満があるのか」といった具体的な状況や要望を聞き出すことが大切です。
工期やコストを調整するマネジメント力
上流工程に必要なスキルとして、マネジメントスキルも挙げられます。
システム開発では、具体的な基本設計を立てて工期やコストを管理する場面が多いため、マネジメント力が求められる機会は多いでしょう。
管理不十分で上流工程で工期に遅れが生じた場合、下流工程に大きな影響が発生することがあります。
また、金額の見積もりが甘いと想定外の機能開発でコストが増大したりすることもあります。
上流工程の担当者は、納期にあわせて工数を管理し、開発状況をみて見積もり内に収まるよう工程の見直しを図るなど、臨機応変に対応しなければなりません。
コラム:上流工程はつまらない?やりがいは何?
プログラミングなどの開発作業に専念したい人は、顧客対応や総合的な管理をしなければいけない上流工程を「つまらない」「やりたくない」と感じることも多いようです。
また、設計書を書いたり、進捗を管理したりする業務が多いため「自分でシステムを作っている実感を得にくい」「自分の手を動かして最新技術に触れる機会が減るため、知識やノウハウが古くなりやすい」という面もあります。
一方で、上流工程の担当者はプロジェクト成否を左右する重要な存在なので、プログラミングがメインとなる下流工程よりも充実感や達成感が大きいと感じる人もいます。
一から計画・設計してプロジェクトを自身で動かしている実感があるだけでなく、クライアントの反応をダイレクトに感じることができるのは上流工程ならでは。
また、傾向として下流工程のPGよりも給料が良いので、収入面でも満足度が高く、やりがいがあると感じるケースもあります。
上流工程に携わるための2つの方法
上流工程に携わるには、どのような方法があるのでしょうか。2通りの方法を紹介します。
下流工程からスキルアップする
PGとして下流工程で下積みを重ねた後、SEやITコンサルタントに転職する人は多いようです。
上流工程は下流工程を把握していなければならないので、プログラミング経験のある人ほど上流工程にステップアップしやすいという利点があります。
社内SEとしての経験を積む
現在プログラミングやコーディングなどを行う下流工程で働いている人であれば、社内SEに転職して上流工程の経験を積むというのも1つの方法です。
社内SEというポジションであれば、仕事の相手は外部ではなく同じ会社の社員になるので、ヒアリングや確認・調整をフランクにしやすい傾向にあります。
また、システムの稼働具合や自社の業務への貢献度を自分の目で確かめることができるので、スキルアップにつながりやすいでしょう。
さらに、社外案件に比べて残業時間が少ない傾向にあり、納期などの融通が利くこともあるので、以前PGやコーダーとして忙しい日々を送っていた場合は、体力的・精神的な負担が少なくなるケースもみられます。
※詳しくは→「社内SEへの転職 仕事の魅力と転職成功へのカギ
まとめ
上流工程とは、IT分野のシステム開発・設計において最初に行う工程で、SEやITコンサルタントが担当する業務です。
クライアントへのヒアリングや、環境に合わせたソフトウェアやシステムの設計を行うので、業務ではコミュニケーションスキルやマネジメント力が試されます。
上流工程に携わりたい人は、下流工程からキャリアチェンジ、もしくは社内SEに転職するなど、自分に合わせた方法を選びましょう。