IT・WEB・ゲーム業界の転職に強いR-Stone

転職コラム

上流を担当しスキルアップするためにつけたい3つのスキルとは

エンジニアの上流に転職するためのスキルとは?

エンジニアとして働く人のなかには、「下流工程ではなく上流工程の仕事をしたい」「上流工程へスキルアップ転職をしたい」という人がたくさんいます。しかし、上流工程の仕事は下流工程とはまったく異なる能力が求められるため、下流工程の仕事を続けていればいつか上流工程を任せてもらえる、というほど甘いものでもありません。上流工程の仕事につくには、それ相応のスキルアップが必要になります。

今回は、エンジニアにおける上流工程と下流工程の仕事の違い、求められるスキルの違い、また上流工程の仕事に携わる方法などについて解説します。スキルアップ転職を狙うエンジニアの方はぜひ参考にしてください。

あなたに合った仕事が必ず見つかる!
IT・WEB・ゲーム業界の案件が3,000件以上!!

エンジニア業務における上流工程・下流工程って?

エンジニア業務における上流工程・下流工程って?
最初に、エンジニアの業務の大まかな流れと、各フェーズにおける作業内容を見ていきましょう。

・システム開発の基本的な流れ

1.要件定義

要件定義とは、クライアントからの「こんなシステムをつくってほしい」という要望を受けて、「開発するうえでどんな問題点があるか?」を洗い出し、具体的にどのようなシステムにするかを決定する工程です。開発すべきシステムのスコープ(範囲)が決定したら、開発に必要なコストや期間を算出します。また、開発側とクライアントが合意するための要件定義書を作成します。

システム開発プロジェクトは、要件定義で定めた内容をもとにして進んでいきます。そのため、要件定義に不備があるまま開発が進められると、まったく意図しないシステムができあがってしまうケースもあります。要件定義は開発工程における「最上流工程」であり、システム開発の成否を分ける重要なフェーズであると認識しなければいけません。後にトラブルが発生しないよう、開発側とクライアントの双方がしっかりと認識を合わせておくことが大切です。

2.基本設計

要件定義が済んだら、基本設計をおこないます。基本設計は、要件定義で定めた内容をもとに、主にユーザーの目に見える部分を設計する工程です。クライアントが求めている要件をシステムでどう実現するのか?を設計書としてまとめます。基本設計書はクライアントが確認するために作成するものなので、そこまで専門的に記載されるものではなく、システムの概要や機能を把握できるくらいの内容で作成されます。

3.詳細設計

基本設計が済んだら、詳細設計をおこないます。詳細設計では、基本設計をもとにして処理の細かい仕様まで決定していきます。「詳細設計書を見ればプログラミングができる」というレベルで、プログラミングに必要なすべての事項を決定します。詳細設計書はエンジニア向けに作られるもので、チーム内でのレビューがおこなわれます。

4.プログラミング

詳細設計書をもとにプログラミングをおこない、システムの機能を実装していきます。

5.テスト

システムを納品するまでに、いくつかのテストをおこないます。テストの種類は以下の4つに分けられるのが一般的です。

・単体テスト
単体テストでは、エンジニアがプログラムの動作確認をおこないます。単一の機能や画面を対象に、「意図したとおりに動くか?」「画面表示に問題はないか?」といったことをチェックします。

・結合テスト
結合テストでは、複数の機能や画面を対象に、データのやり取りや機能の連携に問題がないかをチェックします。

・総合テスト
総合テストでは、システム全体を対象に、クライアントの要望どおりに機能が実装されているかをチェックします。

・運用テスト
運用テストでは、システムを運用するにあたって問題がないかをクライアント自身がチェックします。納品前の最終テストとして、実際の業務に沿った手順でテストをおこないます。

6.納品

テストで問題がなければ納品となります。

あなたに合った仕事が必ず見つかる!
IT・WEB・ゲーム業界の案件が3,000件以上!!

上流工程と下流工程の違い

システム開発の流れのなかで「要件定義」「基本設計」「詳細設計」が上流工程で、「プログラミング」「テスト」が下流工程とされています。

上流工程は、クライアントとの打ち合わせやすり合わせ(ディレクション)を通して、どんなシステムをつくるのかを決めていきます。別の見方をすると、上流工程の仕事は「考える作業」が中心になると言えるでしょう。一方、下流工程は上流工程で決定した設計書をもとにプログラミングやテストをおこないます。下流工程は、実際にシステムを「つくる作業」だと言えます。

・上流工程と下流工程で「立場」は違う?

上流工程はクライアントとの相談、ヒアリング、企画、予算・スケジュール管理といったシステム開発全体の取りまとめをおこない、下流工程に指示を出す仕事です。しかし、だからと言って上流工程のほうが下流工程より立場が上というわけではありません。上流工程と下流工程は立場の上下ではなく、仕事内容や必要なスキルが異なるという認識を持っておいたほうがいいでしょう。

人とコミュニケーションを取ることが好きな人であれば上流工程で活躍できますし、人と話すよりも黙々とパソコンと向き合って仕事をしたいという人は下流工程に適性があると言えます。

・上流工程と下流工程で「給料」は違う?

下流工程と上流工程のどちらも請け負っているシステム開発会社では、たとえば同年代のエンジニアで比較した場合、下流工程よりも上流工程のほうが給料が高いケースがほとんどです。

上流工程は、直接クライアントと打ち合わせや交渉をおこない、開発プロジェクトの方向性を決定する仕事であり、大きな責任をともないます。この責任の大きさが、上流工程のエンジニアの給料に反映されているわけです。給料などの待遇が良いという点は、上流工程へのスキルアップ転職を狙うエンジニアが多い理由の一つだと言えるでしょう。

上流工程のエンジニアに求められるスキル

上流工程のエンジニアに求められるスキル
上流工程を担当するエンジニアに求められるスキルについて見ていきましょう。

1.コミュニケーションスキル

すでに説明したように、上流工程の仕事はクライアントとの相談・打ち合わせ・ヒアリングといった機会が多いため、コミュニケーション能力が重要になってきます。クライアントとのコミュニケーション不足は、システム開発の失敗につながる原因になります。そのため、上流工程のエンジニアには、「いかにクライアントの要望を引き出せるか?」「うまく話をまとめられるか?」といった能力が求められます。

また、クライアントがシステム開発に関する知識を持っているとは限りません。そのため、上流工程のエンジニアはなるべく専門用語を使わずに分かりやすい表現で説明する能力も必要になります。

2.ドキュメント作成スキル

クライアントの要望を聞き、実際にその内容を文章にするのも上流工程を担当するエンジニアの重要な役目です。ドキュメントの種類はさまざまありますが、なかでも要件定義書や設計書はシステム開発の基盤となるものですから、それだけ責任も重大です。

ドキュメント作成で大事なのは、誰が見ても理解しやすい構成でつくることです。そのため、「目次を作成して見やすくする」「適度に見出しをつけてメリハリをつける」「文章全体を整理する」といったドキュメント作成スキルが求められます。

3.マネジメントスキル

上流工程を担当するエンジニアは、システム開発における全体のまとめ役になります。同じ上流工程のメンバーをまとめる立場を任されることもあれば、下流工程のエンジニアの取りまとめを担当することもあります。そのため、マネジメントスキルがあるエンジニアは上流工程への転職でも有利になります。

システム開発を成功へと導くには、上流・下流を含めたチームワークが欠かせません。チームのなかで日頃から積極的にメンバーとの意思疎通を図り、作業面・環境面に関する要望や不満を把握しておくことが大切です。

上流工程の仕事に携わる方法とは?

最後に、どうすれば上流工程の仕事に携わることができるのかを見ていきましょう。

・下流工程・上流工程を一貫して請け負っている企業に転職する

数として多くはないものの、国内には下流工程と上流工程を一貫して請け負っている企業もあります。そのような企業に転職すれば、下流工程でスキルアップを図り、時期が来たら上流工程に移るというキャリアパスも可能です。そのためには、単に下流工程の仕事をこなして評価を得るだけでなく、上述した「上流工程のエンジニアに求められるスキル」を持っていることを積極的にアピールしていくことが重要です。

下流工程・上流工程を一貫して請け負っている企業であれば、「下流工程 → 上流工程 → プロジェクトリーダー → プロジェクトマネージャー」というように、さらに上位の職種へキャリアアップできる可能性もあります。

・上流工程のエンジニアを募集している企業に転職する

上流工程の仕事につくには、上述したとおり、下流工程と上流工程を一貫して請け負っている企業に転職するのも一つの手ですが、そのような企業はそれほど多くはありません。下流工程の開発しか請け負っていない企業の場合、そこでどれだけスキルアップをしても上流工程に携わるチャンスを得るのは難しいでしょう。

それよりも現実的なのは、上流工程に携わるエンジニアを募集している企業に転職することです。とはいえ、上流工程での開発経験がないエンジニアを採用する企業は多くはありません。そのため、まずは今働いている会社でスキルアップを図り、スキルに自信を持てるようになったら、上流工程のエンジニアを募集している企業に転職するのが良いでしょう。

また、自社でサービスの開発をおこなっている企業は、「企画」や「設計」といった上流工程の仕事が多い傾向にあります。その他、ゲーム・医療・金融・バイオといった専門分野に特化した企業も、上流工程を任せられる人材を募集していることが多いので、転職サイトをチェックしてみると意外と良い求人が見つかることがあります。上流工程での開発経験がなくても英語力のあるエンジニアなら、外資系企業も選択肢に入ってきます。このような理由から、転職サイトをチェックするときは、できるだけ業界・分野を広げて見るのが重要です。

・上流工程の仕事に生かせる資格を取る

上流工程の仕事に役立つ資格を取得していれば、転職をきっかけにして上流工程のポジションにつくことも可能です。上流工程の仕事に生かせる主な資格をご紹介します。

応用情報技術者試験

応用情報技術者試験は、ワンランク上のエンジニアとして転職を目指す人に最適な試験です。応用情報技術者試験では、ITの応用的知識と技能があり、高度IT人材として方向性を確立しているかどうかが問われます。エンジニアとしてスキルアップしたいなら、ぜひ受けておくべき試験です。
>> 応用情報技術者試験の詳細はこちら

システムアーキテクト試験

システムアーキテクト試験も、エンジニアとしてスキルアップしたい人におすすめの試験です。システム開発の上流工程を主導する立場として、システムアーキテクトの業務と役割を遂行できるかどうかが問われます。
>> システムアーキテクト試験の詳細はこちら

プロジェクトマネージャ試験

プロジェクトマネージャ試験は、システム開発の責任者としてプロジェクトの全体計画を作成できるかどうか、必要となる要員や資源を確保し、責任を持ってプロジェクトを管理・運営できるかどうかが問われる試験です。非常に難易度の高い試験ですが、プロジェクトマネージャの資格を持っていれば、転職活動で大きなアドバンテージになります。
>> プロジェクトマネージャ試験の詳細はこちら

あなたに合った仕事が必ず見つかる!
IT・WEB・ゲーム業界の案件が3,000件以上!!

エンジニアの上流に転職するためのスキルとは?の【まとめ】

エンジニアとしての経験に乏しい人は、下流工程と上流工程を一貫して請け負っている企業に入社するのがおすすめです。このような企業であれば、下流工程でスキルアップに励むことで上流工程への道が開けてきます。

すでにエンジニアとして活躍している人が上流工程の仕事につくためには、上流工程を募集している企業に転職するのがいちばんの近道です。本編でご紹介した資格を取得するなどして、ぜひスキルアップ転職を実現してください。
>> R-Stoneの詳細はこちら

この記事を監修したコンサルタント

坂野 裕介 Yusuke Sakano

前職は、専門商社の営業職をしておりました。 全国に支店がある企業でしたが、人事専門の部署がない組織体系で 中途採用は各拠点ごとに行っておりました。 戦略的な採用ではないこともあり、ミスマッチも起きやすく 人材が定着しないことに大きな課題感を持ちました。 売上を伸ばしていき会社を成長させていくのは、働く社員一人ひとりであると感じ、 企業に最も重要なのは「人」であると強く実感しました。 人と企業のマッチングの重要性を考える中で人材業界へ興味を持ち、 サービスの質を追求するアールストーンへ入社しました。