上流工程は難しい!?10分でわかる上流工程の仕組みと流れ

  • このエントリーをはてなブックマークに追加
  
★厳選!おすすめ転職サイトランキング★
転職サイト名 HOP経由登録者数 求人を探す
リクルートエージェント

詳細を見る

マイナビAGENT×IT

詳細を見る

GEEKLY(ギークリー)

詳細を見る

ITエンジニアの一般的なキャリアパスとして下流工程から上流工程を目指すということがよくいわれています。

ところでそもそもシステム開発プロジェクトなどにおける上流工程とはいったいどんなものなのでしょうか。

ここではステップアップを目指すエンジニアに向けて、上流工程の内容や大まかな作業フローを解説します。上流工程に携わるエンジニアは下流工程を専門に担当するエンジニアよりも年収が高く、重要なポジションを任される傾向があります。このコラムを読んで上流工程への理解を深めつつ、ITエンジニアとして今後のキャリアビジョンを考えてみましょう。

そもそも上流工程とは?上流工程と下流工程は何が違う?

ここでは上流工程の概要、さらに上流工程にどんなやりがいがあるのかを簡単に紹介します。システム開発プロジェクトでは一般的にウォーターフォール・モデルという開発プロセスが採用されています。これはプロジェクトの全工程を「要件定義」「設計」「開発」「テスト」「運用」といったいくつかの工程に分割します。

そして、これらの各工程を順番に進めていくことで、システムを構築していきます。水が川を流れるように直列的に開発を進めていくことから「ウォーターフォール」という名前がつきました。

ウォーターフォール・モデルでは、プロジェクト開発における前半の工程を上流工程、後半の工程を下流工程と読んでいます。具体的には最初の「要件定義」から「設計」までが上流工程、後半の「開発」以降が下流工程になります。

上流工程は開発プロジェクト全体のプロセスの中では、プロジェクト全体の方向性を決める段階に相当します。上流工程の作業がどれだけ緻密に行われているかによってプロジェクトの成否が決まるのです。

それだけに非常に責任の重い仕事といえるでしょう。その責任の重さを反映してか、上流工程担当のシステムエンジニアは下流工程担当のシステムエンジニアやプログラマより年収水準も高い傾向があります。

上流工程とは

上流工程はソフトウェアやシステムなどの開発・設計における初期の工程のことを指します。複雑なシステム開発を成功させるためにはいきなりプログラムを作り始めるのではなく、実際の作業を始める前に作るシステムの内容を決める、開発スケジュールを組み立てる、といった計画作業が必要になります。こうした実装作業に入るのに必要な計画を決めていくのが上流工程です。

上流工程では顧客とのヒアリングにもとづき製品の仕様、および基本的な設計を決め、さらに開発予算やスケジュールについても検討していきます。具体的な作業内容としては対象物に求められる機能を定義する要件定義、実装される機能を定義する機能定義、スケジュールを決める計画立案などが挙げられます。

これらの上流工程を担当しているのがシステムエンジニアと呼ばれるITエンジニアです。ただし日本の場合すべてのシステムエンジニアが上流工程に関わっているとは限りません。なかには下流工程をメイン業務としているシステムエンジニアも存在します。そのため上流工程を担当するシステムエンジニアのことを特に上流システムエンジニアと呼ぶことがあります。

下流工程との違い

システムなどの開発プロジェクトにおいて初めの工程を上流工程と呼ぶのに対し、後ろの工程を下流工程と呼びます。下流工程は上流工程で決定された仕様にもとづき、コーディングやテスト、導入などを行う工程です。下流工程を担当するシステムエンジニアやプログラマといった職種の人が担当します。

上流工程がシステムの大まかなデザインおよび開発スケジュールを決める段階だとしたら、下流工程は決められた計画に基づき実際に製品を形にしていく段階ともいえます。

こうした上流工程・下流工程の関係から、立場的に上流工程サイドにいる人が指示する人、下流工程サイドにいる人は指示を受けて作業する人という関係が成り立ちます。

上流工程担当のシステムエンジニアは下流工程担当のメンバーを取りまとめ、開発プロジェクトを牽引するリーダー的な存在です。したがって多くのITエンジニアにとって、下流工程から上流工程へのステップアップを目指すというのが一般的なキャリアプランとなっています。

実際によくあるのが新人時代はプログラマや下流工程担当のシステムエンジニアとして現場で経験を積み、スキルを身に着けてから上流工程にチャレンジするという流れです。

上流工程の作業を担当するシステムエンジニアには下流工程の知識も要求されます。そのため下流工程を多く経験している人ほど上流工程の業務を身につけやすいといわれています。実際に下流工程の作業を経験したことのある上流システムエンジニアは多いです。

上流工程の業務フローをおさらい!業務内容と流れ

上流工程は開発プロジェクトの方向性、および出来上がった製品のクオリティを決める重要な工程です。上流工程のどこかに不備があると下流工程にしわ寄せがいき、プロジェクトが炎上してしまいます。

まさにプロジェクトの成否を握る責任重大な仕事といえるでしょう。それでは実際上流システムエンジニアと呼ばれる人たちはどのような業務をこなしているのでしょうか。ここでは要件定義、基本設計といった上流工程の業務フローを簡単に紹介します。

システム開発プロジェクトの上流工程

システム開発プロジェクトとは、顧客企業の抱える業務上の問題をITの力を借りて解決する仕事のことを指します。

システム開発プロジェクトでは、ユーザーの抱える課題を解決するために新しい業務のやり方を提案し、さらにそれに合ったコンピュータシステムを構築していきます。

システム開発プロジェクトは単純にソフトウェアやシステムを開発すればよいというものではありません。制作したソフトウェアやシステムの機能により顧客企業の業務改善に成功して初めてプロジェクト成功ということになります。

言葉のそもそもの定義からも分かるようにシステム開発は決して実行容易なプロジェクトではありません。作るシステム・ソフトウェアのクオリティはもちろんのこと、それが顧客の要望に本当に合っているかということまで問われることになります。

最終的にプロジェクトを成功させるためには正しい方向性を見極め、きちんとした計画をたてることが不可欠です。それだけに上流工程においては綿密な作業が求められています。

システム化企画

システム化企画はシステム開発プロジェクトにおける最初の工程です。顧客とのヒアリングをもとに、システム開発における基本方針を決定していく段階です。システム化の対象となった業務内容を分析・整理し、望ましいシステム方式や目標品質といった開発方針を決めます。

このシステム化企画の工程中に、おおよそのスケジュール決めやコスト計算を同時に行うケースも多いです。このシステム化企画の段階が終わると、計画は徐々に実行段階に近づいていきます。

要件定義

要件定義はシステム化企画の成果物を元に、開発するシステムに実装すべき機能や求められる性能を決めていく段階です。ユーザー部門の要求をもとにシステムの機能・性能を整理し、決定していきます。

さらにそれを要件定義書という成果物の形にまとめます。要件定義書には要求に対する解決策を提示し、設計にまで落とし込めるレベルが必要だといわれています。

それ以降のシステム開発プロジェクトの工程はすべてこの要件定義書にそって進むため、要件定義の失敗はプロジェクト炎上の原因になります。システム化企画同様プロジェクトの成否を決める大事な工程といえるでしょう。(※1、※2)

基本設計

基本設計は要件定義書を元にシステムの基本部分の設計をする工程です。機器の構成や機能、操作・入出力に関する事項といったシステムの基礎的な仕様がここで決定されます。ここで決まった基本設計に基づき、システムの詳細な設計が行われます。(※3)

見積もり

見積もりは開発全体にかかる大まかなコストを計算する段階です。開発コストはシステムの規模と必要工程によって決まります。見積もりでは、類似法、WBS法、LOC法などの手法を使い、開発する内容の規模と必要な工数を見極めていきます。

当初の見積もり額と実際の見積もり額に大幅なズレが生じる事態を防ぐためにも、正確さが求められる作業です。

システム設計の上流工程

システム設計はシステムやソフトウェアなどを開発・構築する際、システムの目的や仕様、動作などを決定する工程のことをいいます。システム設計にもさまざまな工程がありますが、そのうち要件定義から外部設計までが上流工程と呼ばれています。

要件定義

要件定義とは開発するシステムの範囲を決定する工程のことをいいます。システム設計においてはシステムで作るものと作らないものを明確にすることが要件定義になります。ここで決めておくべき事項としては、機能一覧などの機能要件、性能、保守性、使用性などの非機能要件があげられます。

アーキテクチャ設計

アーキテクチャ設計は外部設計のひとつで、ソフトウェアやハードウェアの構造、実装方針を決める工程です。インフラ、ミドルウェアなどの実行環境の設計、アプリケーション全体の構造などを決めるアプリケーション・アーキテクチャ設計、開発標準およびテスト方式の決定を行います。

機能設計・機能定義

機能設計・機能定義は外部設計のひとつで、システムの機能ごとに細かい仕様を決める工程です。システム全体をモジュール単位に分割し、それぞれの外部仕様を決定します。具体的にはパッチ設計、データベース設計、画面・帳票設計などの設計が含まれます。

内部設計

内部設計は外部設計に基づき、ユーザーには見えないシステム内部の設計を行う工程です。システム内部の動作・機能などシステム内部に関する部分について詳細な設計を行い、実際にプログラミングができる段階まで落とし込んでいきます。なおこの内部設計については場合によっては上流工程ではなく下流工程に含まれるケースもあります。

上流工程に携わるシステムエンジニアに必要なスキルとは?

それでは、これらの上流工程に関わるシステムエンジニアにはどのような能力が必要とされるのでしょうか。上流システムエンジニアの場合、開発以外の管理業務も仕事の中に入ってくるという特徴があります。

したがってプログラミングに関する技術力はもちろんのこと、プロジェクトマネジメント力、コミュニケーションスキルなどが必要となってきます。

マネジメントスキル

上流システムエンジニアはマネジメントスキルが求められます、上流工程の担当者は下流工程担当のシステムエンジニアやプログラマに指示を出す立場になることが多く、結果的にプロジェクトのリーダー的なポジションを任されるケースが多いです。

システム開発はチームで動くのが一般的なため、上流システムエンジニアはスタッフをまとめる力が要求されます。またチームワークを向上させるために、メンバー全員と意思疎通を積極的に行い、メンバー間のコミュニケーションを活発化させる能力も求められるでしょう。

プログラミングの技術スキル

上流工程に携わるエンジニアにはプログラミング関連のスキルが必要です。確かに上流工程では実際にプログラムを組む機会は少ないかもしれません。しかしプロジェクト全体を理解するためにはプログラミングに関する豊富な知識と技術は必要です。

プログラミングの技術があれば現場との意思疎通もしやすくなりますし、さらにシステム設計・開発における業務フローの作成もやりやすくなります。

設計書作成スキル

優秀な上流システムエンジニアになるためには設計書作成スキルは必須といえます。システムやソフトウェアの開発では上流工程で作成した基本設計をプログラマが具現化するという流れをとるのが一般的です。そのため基本設計書は重要な役割を持っています。

たとえば要件定義書と基本設計書にズレが生じるとできあがったシステムがクライアントの要望とは大きく食い違ったものになってしまいます。

ウォーターフォール・モデルでは各工程の結果をもとに直線的に作業が進んでいきます。もし上流工程に欠陥が見つかったとしても下流工程に進んだ段階で軌道修正を図るのは困難です。

デスマーチやプロジェクト炎上を防ぐためにも上流工程でシステム開発の方針や基本の設計を詳細に、適切に決めておく必要があります。

上流工程はやりがいがたくさん!転職も視野に考えてみては?

上流工程を目指すことはITエンジニアにとってはメジャーなキャリアプランの1つです。それでは実際、上流システムエンジニアになることにはどのようなメリット・やりがいがあるのでしょうか。

まず知っておきたいメリットの1つが待遇の良さです。日本のシステムエンジニアの場合、上流工程担当のシステムエンジニアと実際に開発作業にあたっているシステムエンジニア・プログラマの間に大きな収入格差が存在します。

年収の額は仕事のモチベーションに大きく影響する要素です。上流システムエンジニアとなり、高い年収が得られるようになればそれだけ仕事への満足感も高まりやすくなります。

また仕事のやりがいという意味では、開発プロジェクトの中心メンバーとして活躍できるという点も見逃せません。

上流システムエンジニアになると、システム設計などシステム全体の構想にかかわるような作業も担当させてもらえるようになります。

上から言われたとおりに手を動かすのではなく、自分の頭でシステムの全体像を考え作り上げていく喜びを感じられます。

さらに実際に製品を使う顧客との距離が近いというのも上流システムエンジニアならではのメリットです。上流エンジニアは顧客と接する機会も多く、自分の作った製品に対する反応を直に感じることができます。

特に実際にシステムが稼働段階に入ったときには、顧客から離れた立ち位置にいるプログラマなどよりも深い達成感が味わえるかもしれません。

このように上流工程は下流工程にはないメリットが感じられる工程です。ITエンジニアとしてよりやりがいのある仕事を求めるのであれば、積極的に上流工程を目指すべきといえるでしょう。

ただ大手SI企業の下請け企業のように、企業によっては自社のシステムエンジニアに上流工程を担当させない場合もあります。

もし現在勤めている会社に上流工程を目指すルートがなく、今後のキャリアプランに不安を感じているようであれば思い切って転職を考えるのも手です。上流工程を扱う企業に転職できればそれだけ上流工程に携われる可能性も高くなります。

求人サービスを比較して理想の転職先を見つけよう!

上流工程担当のITエンジニアは給料もよく、仕事の内容面でもやりがいのある職種です。将来目指すべきキャリアの在り方として検討すべき価値は十分にあります。エンジニアとしてのスキルを磨き、積極的に上流工程へのキャリアアップにチャレンジしてみてはいかがでしょうか。

人によっては上流システムエンジニアへとキャリアチェンジするために転職を考えることもあるでしょう。その場合にはオンライン上の転職エージェント・転職サイトを利用するのがおすすめです。

これらのサービスでは自分の希望条件に合わせて求人情報が検索できます。条件的なミスマッチも起きづらく、欲しい情報をすばやく探すことができるはずです。特に求人サービス比較サイトを使えば複数の転職サービスを一度に比較でき、より効率よく転職活動を進められます。使えるサービスは上手に使い、ITエンジニアとしてのキャリアアップを実現していきましょう。

企業からスカウトメールが届くForkwell Scout

Forkwell Scoutの特徴

  • 一括送信ではないスカウトメール
  • 自分に興味のある企業がわかる
  • 登録するだけでスカウトメールが届く
  • 気になった企業にアプローチできる

Forkwell Scoutの登録・詳細はこちら

年齢で選ぶ!年代別オススメ転職サイト一覧表

「どの転職サイトに登録すれば良いのかわからない」という方のために、年齢別におすすめ転職サイトをご紹介します。年齢によって適している転職サイトも違いますし、転職サイトはそれぞれ取り扱っている求人も違います。あなたに合った転職サイトを選ぶことが大切です。

リクルートエージェント

  • 20代
  • 30代
  • 40代
  • 50代~

転職支援実績NO.1。各業界に精通したキャリアアドバイザーがいるのでITエンジニア向け案件も多数あり。特に年収600万~800万の高収入求人が多い。登録しないと見られない「非公開求人」は紹介求人の80%以上あり、IT・Web業界の求人をチェックするなら登録必須。ITエンジニア経験があり、さらに年収アップ、スキルアップしたい方にオススメ。

Forkwell Scout

  • 20代
  • 30代
  • 40代
  • 50代~

大手の転職サイトのように一括送信されるスカウトメールではなく、本当に興味を持ってくれた企業からのスカウトメールを配信している点が大きな特徴。プロフィールは匿名で登録可能なので転職活動していることがほかの人に知られることはない。指定した企業の閲覧もブロック可能なので取引先など知られたくない企業は回避できる。

GEEKLY(ギークリー)

  • 20代
  • 30代
  • 40代
  • 50代~

IT業界に特化した転職サイトで、特に多いのはWEB業界・ゲーム業界の求人。登録しないと見られない「非公開求人」が2,000件以上あるのでWEB・ゲーム業界の求人をチェックするなら登録必須。ITエンジニア経験が1年以上ある方にオススメ。

dodaITエンジニア転職

  • 20代
  • 30代
  • 40代
  • 50代~

ITエンジニアの転職に特化しているdoda ITエンジニア転職は全年齢がターゲットになっている転職サイト。転職者の満足度はNO.1。その理由は日本最大級のエンジニア求人情報数と取り扱い企業数にある。転職を考え始めたらまずはじめに登録をしておくべき。経験豊富なSE専門キャリアアドバイザーがカウンセリングから転職まで担当し、非公開求人の情報を個別に紹介してくれる。企業との強いリレーションがあるので企業側が求める人材を熟知していることが強み。推薦状を作成し、応募先企業へ送ってくれる点も魅力。

レバテックキャリア

  • 20代
  • 30代
  • 40代
  • 50代~

1都3県のみ対応だが、元ITエンジニア出身の転職コンサルタントが転職支援をしてくれるので「エンジニア独特の悩み」をわかってくれる。エンジニアとして未経験の職種に転職する方から、同じ職種でキャリアアップを希望する方まで幅広くサポートしてくれる。大手・中小・ベンチャーなど幅広く求人を扱っており、エンジニアの求人を見たいなら必ず登録を。

レバテッククリエイター

  • 20代
  • 30代
  • 40代
  • 50代~

1都3県のみ対応だが、IT・Web業界に特化したクリエイター向けの求人・案件を提案してくれる。ポートフォリオの作成法やデザイントレンドなど業界の動向にも詳しいコーディネーターがサポートしてくれる。初めて業務委託の案件を探す人にもおすすめ。大企業からベンチャー企業ま幅広く求人を扱っており、クリエイター求人・案件を見たいなら必ず登録を。

ワークポート

  • 20代
  • 30代
  • 40代
  • 50代~

IT業界に強い転職サイトだが、IT以外の業界についても非常に詳しく求人もまんべんなく掲載されている。「エンジニアとしてのキャリアを検討しつつ、別の業界の話も聞いてみたい」なら登録をしておくこと。

関連記事

エンジニア転職で年収アップしたい!失敗しない転職に必要なことは?

エンジニアは高収入を得やすい職業ですが、一方で待遇の悪い企業も多く「努力に対して年収が安すぎる!」「どうすれば年収が上がるのかわからない」など…

SE辞めたい!IT業界はブラックばかり?転職で絶対に失敗しない方法

SEとして働いている人の中には、「毎日残業ばかりで辛い」「頑張っているのに給与水準が低いまま」など、辛い思いをして頑張っている方も多いのではない…

もう辞めたい!女性SEが現場で感じるキャリアの悩みと3つの解決法

近年のIT業界は、他業界と同様女性の進出が目覚ましく、かつて男性社会であったシステム開発の現場で女性SEが活躍するようになってきました。

業務アプリソフト開発エンジニアの仕事内容

この記事の目次業務アプリケーションソフトとは業務アプリケーションソフト開発の目的を明確にすることが必要業務分析を漏れなく行うことが必要業務改善提案を開発側が行うことが大切クライアント側のステークホルダ ...

組込みソフト開発エンジニアに必要なスキルとキャリアパス

組込みソフト開発エンジニアのキャリアパスを明確にするには「どんな職種があるのか」「その職種に必要なスキルは何か」を具体的にする必要があります。 回路設計や機構設計エンジニアのスキルは、実際…

  1. リクルートエージェント

    年収800万以上の高年収求人多数!

    • 転職支援実績NO.1
    • 業界最大級!紹介求人の80%が非公開求人
    • IT業界に精通したキャリアアドバイザーが求人を厳選
    • 応募書類添削・面接対策も充実したサポート
    • 独自分析した業界・企業情報の提供

    リクルートエージェントの登録・詳細はこちら

  2. マイナビAGENT×IT

    求人情報の8割が「非公開求人」

    • 大手企業からベンチャー企業まで求人種類が豊富
    • 求人情報の8割が「非公開求人」
    • 求人票に記載されていない情報を提供
    • 希望企業対充実、個別で面接対策を実施
    • IT業界経験があるアドバイザーの転サポート。

    マイナビAGENT×ITの登録・詳細はこちら

  3. Geekly(ギークリー)

    IT/WEB/ゲーム業界特化型で対応満足度NO.1

    • 業界特化型で対応満足度NO.1
    • IT・WEB・ゲーム業界転職を熟知
    • 業界トップレベルのコンサルタントがサポート
    • 求人票には載っていない詳しい企業情報を提供
    • Geekly独占の非公開求人も多数

    Geekly(ギークリー)の登録・詳細はこちら

最新記事