「上流工程システムエンジニアに興味があるけど、どんな仕事内容かよくわからない」
「新人や未経験でも携わることができるのだろうか?」
と考えている人も多いのではないでしょうか。
結論上流工程の仕事は、新人や未経験ではすぐに携わることは難しいですが、段階を踏んで経験を積んでいくことで将来的に上流工程に携わることができます。
この記事では、
- 上流工程に携わる方法
- 上流工程の具体的な仕事内容
- 必要なスキル
について解説していきます。
上流工程システムエンジニア経験者である筆者の経験などもあわせて紹介しますので、ぜひ参考にしてください。
ITエンジニアの転職エージェントおすすめランキングTOP10【2024】
T.K.
システムエンジニアでの開発に20年以上携わる。
現在はPMとして複数のエンジニアを束ねている。
2024年11月1日最終更新
目次
上流工程とは?
そもそも上流工程とはどのような仕事を指すかというと、システム開発の最初の段階であり、プロジェクトの目的や要求仕様の策定、システムの設計、開発に必要な技術やリソースの決定などを行う最初の段階を指します。
上流工程に携わるエンジニアとしては、SEやプロジェクトマネージャー、システムアーキテクトなどが携わりますが、新人SEは基本的には下流のテストなどからキャリアをスタートさせることが多いです。
ただし最近のトレンドとしては、1年目からできるだけ早く現場で顧客の前に出させるという考えの企業も増えていて、新人1~2年目から上流工程として携わることができるケースも存在します。
上流工程に新人が携わるには?
では具体的に、どうすれば新人エンジニアが上流工程に携わることができるのかを、いくつかのケースに分けて紹介します。
順番に見ていきましょう。
SIerで下流工程を経験する
最も一般的なケースは、富士通やNEC、日立製作所などのシステムインテグレーター(SIer)と呼ばれる、元受け会社に入社して、テストなどの下流工程を経験した後に、上流工程へステップアップする方法です。
SIerは上流工程に携わることを前提に採用することが多く、上流工程に携われる可能性が高いといえます。
筆者は、このケースで上流工程システムエンジニアになりました。入社後は2年程度、下流工程を経験しました。
その後に、下流工程に近い上流工程から担当し、徐々に上の工程を担当するようになりました。
参考:未経験インフラエンジニアの志望動機例文6選【転職・就職】
プログラマーから転職する
プログラマーからの転職も上流工程に携わる方法のひとつです。
プログラミングやテスト工程を経験するなかで得たスキルと知識は、上流工程の基本設計や詳細設計の時に、次工程のプログラミングを考慮した設計書作成をすることで、活かすことができます。
また、上流工程担当者との打ち合わせ経験や、上流工程で作成された設計書を実際に読んでプログラミングしているので、上流工程の業務内容を、ある程度理解していることも強みになります。
SIerの協力会社として上流工程に参画する
SIerの協力会社として、上流工程に参画する方法も考えられます。
大規模なプロジェクトになると、システムの対象範囲が大きくなります。
システムの対象範囲が大きくなると、プロジェクトに携わる人数も多くなります。
SIerの社員は、複数プロジェクトを掛け持ちしていることも多く、SIerの社員だけでは、上流工程の全工程をこなすことが難しくなります。
そこで上流工程経験がある協力会社から、要員を募って要員不足をカバーします。
他業種からの転職に挑戦する
他業種からの転職の場合は、クライアントからのヒアリング能力が必要となるような業種であれば、可能性はあるかも知れません。
例えば、コンサルティング系の職種の場合、クライアントからのヒアリングは必要なスキルのため、上流工程の最初に行う要件定義フェーズで携われる可能性はあります。
また、金融業など特定の業種に精通している場合には、ヒアリング能力が必要な要件定義フェーズで重宝される可能性もあるかもしれません。
上流工程は新人SE未経験は不可?
新人や上流工程の経験が全く無い人が、いきなり上流工程に携わるのは、結論難しいと言えます。
なぜ難しいのかを解説します。
上流工程はプロジェクトの成否に関わる
上流工程は、クライアントから要求事項を引き出し、要求事項をもとに、どのようなシステムを構築するかを考え、システムの仕様を決める重要な役割があります。
家を建てることに例えれば、どのような家にしたいかを、営業がヒアリングし、その内容をもとに、資格を持った建築士が設計をして、設計図面を完成させることによく似ており、とても重要な工程です。
このように、システム構築に限らずどの職種でも、新人や未経験ではプロジェクトの成否に関わる重要な工程は任されません。
上流工程の最初の工程は、要件定義です。
要件定義の工程では、クライアントからシステム化したい範囲をヒアリングし、要件定義書を作成します。
システム化の対象範囲を、クライアントとの打ち合わせで漏れなく引き出す必要がありますので、要件定義の工程で抜けがあると、次の基本設計以降の工程に大きな影響があるとても重要な工程です。
顧客へのヒアリング経験が無い新人や未経験では、踏み込んだヒアリングは難しいと言わざるを得ません。
システム構築のスキルは必須
次の基本設計では要件定義で決められた要件を元に、クライアントが直接目にする部分の設計を行います。
具体的には機能一覧や、それぞれの機能概要、画面、帳票等のレイアウト、データベースレイアウト、ネットワーク構成図等があります。
基本設計書は、主にクライアントとの確認のために作成しますので、システム構築のスキルが無ければ、携わることは難しいでしょう。
プログラミングスキルや経験も必須
詳細設計では基本設計で決められたユーザーの目に見える機能、画面、帳票等の仕様を、どのようにプログラム実装するかという内部構造に関する設計をする工程です。
そのため、下流工程であるプログラミングのスキルや経験がある程度必要となります。
詳細設計書は、下流工程を担当するプログラマーへの仕様書として使用します。プログラミングのスキルや知識が無ければ、この工程でも携わることは難しいでしょう。
上流工程に携わるのは何年目?向いてる人
上流工程に携わるためには経験によるものであり具体的な年数に厳密な基準はありませんが、ソフトウェア開発業界で早ければ2年以上の経験がある場合から上流工程に携わることが多いです。
つまり3年目から新人エンジニアでも上流工程に携わることが多く、上流工程に必要とされるスキルや経験値の醸成が求められます。
上流工程に向いてる人の特徴は?
上流工程に向いている人の特徴は、以下のような特徴が挙げられます。
- 分析能力: 複雑な課題や要件を理解し、問題を分析して適切な解決策を見つける能力が求められます。要求仕様を整理し、要件を明確に定義するための分析スキルが必要
- 問題解決能力: 問題解決能力が高い人は、効果的な戦略や設計を策定し、障害を乗り越えるのに役立つ
- ドメイン知識: ソフトウェア開発プロジェクトの特定の分野や業界に関する知識があると、要件の理解や設計に役立ちます。
- プロジェクト管理能力: 上流工程ではプロジェクト計画や戦略の策定が含まれることが多いため、プロジェクト管理の基本的な知識やスキルが必要
- チームワーク(協調性): 上流工程では一人ではなく複数人のエンジニアが協力して一つのプロジェクトを完遂するため、協調性が必要不可欠です
上流工程にはプロジェクト全体の方向性を決定し、プロジェクトの成功に大きな影響を与えるので、戦略的思考、コミュニケーション、分析、デザイン思考、協調性などのスキルを持っていることが重要です。
上流工程にアサインしてもらえる新人の特徴
なかなか新人ではいきなりアサインされにくい上流工程ですが、中には抜擢してもらえるケースもあります。
抜擢されるために必要となるスキルやスタンスについて解説します。
基礎的なITスキルが習得できている
上流工程で活躍するためには、基本的なプログラミングスキルやIT知識が欠かせません。
特に、言語やツールの使用方法、システムの基礎について学生時代や前職において習得できていることが前提となるでしょう。
基礎スキルが整っている新人は、上流工程での設計や要件定義にもスムーズに対応できるため、企業から抜擢される対象となりえるでしょう。
専門知識習得に積極的
技術や知識の習得に対して積極的な姿勢は、上流工程を担当する新人にとって非常に重要です。
上流工程では多くの知識が求められるため、自発的に学ぶ意欲やスタンスがないと、任されるミッションを遂行できずすぐに配置転換の対象などになる可能性があります。
新人だったとしても努力を重ねることで、上流工程に抜擢され、複雑な作業にも積極的に取り組むなかで、さらに信頼を得というサイクルに繋げることもできるでしょう。
コミュニケーションスキルが高い
上流工程に必要なスキルの一つにコミュニケーション能力も挙げられます。
設計や要件定義の場面では、クライアントやチームメンバーとの意思疎通が重要となります。
自分の意見をわかりやすく伝え、相手の意図を的確に理解することが求められるため、コミュニケーションが得意な新人はポテンシャルを評価されやすいでしょう。
上流工程ではなく下流工程からスタートするメリット
いきなり上流工程に参加すると、挫折してしまうこともあるかもしれません。
新人がアサインされにくい理由だけでなく、下流工程からキャリアをスタートするメリットも理解しておきましょう。
腰を据えて技術・知識習得できる
新人がまず下流工程に取り組むことで、基礎的な技術や知識をしっかりと身につける時間を確保できます。
プログラムの実装やテストといった作業を通して、実践的な技術が自然と習得でき、現場での対応力も磨かれます。
実務を通じて学んだスキルは、将来的な上流工程へのステップアップにも役立つため、まずは下流から着実に学ぶことが効果的とされ、上流工程への配属が避けられる理由にもなっています。
システム全体の理解を深めることができる
下流工程から関わることは、システム全体の流れを理解する良い機会です。
特にプログラムの詳細設計や実装、テストなどのプロセスに触れることで、システムがどのように動いているかを深く理解できます。
稼働後の保守対応をするなかで、インフラとして担っている役割の大きさやセキュリティ意識なども体感することができます。
システム全体の構造を知ることで、将来的な問題解決や効率的なシステム構築に役立つ視点を得られるため、長期的に活躍するための土台となる考え方を構築できます。
上流工程の基本設計の流れ!どこまで?
システム構築手法のひとつにウォーターフォール型という手法があります。
システム開発を工程に分けて、上の工程から順番に、滝から水が落ちるように工程を進めていく手法です。
ウォーターフォール型の工程は
- 要件定義
- 基本設計
- 詳細設計
- 開発(プログラミング)
- テスト(単体、結合)
- システムテスト
- 運用テスト
という工程に分けられています。
上流工程とは、このうち前半部分にあたる「要件定義」「基本設計」「詳細設計」工程のことです。
順番にそれぞれ解説して参ります。
要件定義
要件定義では、システム化したい要求事項を定義した要件定義書を作成します。
ここでは、クライアントがシステム化したいと考えている要求事項を、もれなく引き出すためのヒアリング能力が重要です。
基本設計
基本設計では、要件定義で定めた要件にもとづき、機能概要や、画面レイアウト、帳票レイアウト等のクライアントが目にするユーザーインターフェース部分の仕様を記述した基本設計書を作成します。
ドキュメントや設計書の作成能力が重要です。
詳細設計
詳細設計では、基本設計書で決められた仕様を、プログラムやデーターベース構造を考慮した、開発者向けの詳細設計書を作成します。
設計書の作成能力が必要であることに加え、詳細設計書をもとに開発(プログラミング)工程に進むため、プログラミング知識も必要となります。
上流工程は家を建てることを例にすれば、要件定義は世帯主と接する営業職、基本設計、詳細設計は、世帯主の要望をもとに設計図を作成する建築士のような役割です。
そのためまずは、運用保守やテスターと呼ばれる運用テストから下積み経験を積んで上流工程を目指すべきと言えるでしょう。
関連:システム運用保守はきつい?楽しい?開発へキャリアアップ可能?
上流工程に携わるために必要なスキルは?
上流工程に携わるために、必要となるスキルを解説します。
- ヒアリングスキル
- コミュニケーションスキル
それぞれ解説して参ります。
ヒアリングスキル
上流工程の最初は、要件定義です。
この工程では、クライアントがシステム化したい業務要件を打ち合わせでヒアリングし、もれなく引き出す必要があります。
この工程でヒアリングする要件に抜けがあると、後々の工程に影響があり、スケジュールに大幅な遅れが出ることや、開発工程の手戻りが発生し、予定外のコスト増となってしまうからです。
コミュニケーションスキル
クライアントへのヒアリングで、要求事項をもれなく引き出すためのヒアリングスキル、打ち合わせをスムーズに進めるコミュニケーションスキルが必要です。
どの業種でもそうですが、クライアントが何を要求しているのかを適切に引き出すような経験豊富な営業職と同じような役割が求められます。
- ドキュメント作成スキル
- 設計書作成スキル
基本設計、詳細設計では、要件定義された機能要件を基本設計書、詳細設計書として作成する必要があります。
クライアントから引き出した要求事項は、もれなく設計書に反映させなければいけません。
この工程も、漏れがあった場合には、スケジュールの遅れや、コスト増大により、プロジェクト運営に大きな影響を及ぼします。
手戻りのない、正確な設計書を作成するための、ドキュメント作成スキル、設計書作成スキルは必須のスキルです。
- マネージメント能力
プロジェクト全体を取りまとめ、プロジェクトをスムーズに進めることも、上流工程担当者には重要な役割です。
プロジェクトに携わる上流工程、下流工程の担当者全体の連携を密にしたチームワークを重要視し、大きな問題なくプロジェクト運営することは、プロジェクトを成功させる最大のポイントです。
プロジェクトリーダーやプロジェクトマネージャーの場合には、このマネージメントスキルが最も必要とされるスキルです。
上流工程の魅力ややりがいを経験者が語る
上流工程の担当としての最大の魅力は、新しいものを一から自分の頭で考えて作り出したものが、システムという形にできあがるという喜びを味わえることです。
当然、プロジェクトの成否にかかわるポジションのため、プレッシャーは大きいです。
プロジェクト進捗状況の管理や、各工程で発生する課題への対策等、やらなければいけないことも沢山あり、苦労も絶えません。
ですが、プロジェクトが進んでいく中で発生する様々な問題をひとつひとつ解決し、無事にシステムの本稼働を迎えた時の達成感と安堵感は、新しいものを最初から自分で考えシステムという形にする、上流工程の担当だからこそ体感できるものだと言えます。
また、クライアントと接する立場なので、感謝の言葉を直接言ってもらえることもあり、やりがいを実感できる瞬間です。
筆者がプロジェクトマネージャーとして参加したプロジェクトでは、要件定義の段階で様々な要件がクライアントからでてきました。
スケジュールとコストを考えれば、全てを実現することはできません。
要件を整理し、必ずシステムに反映しないといけないものと、要望事項として今後システムに反映するものに分け、何とかシステムの安定稼働を迎えた時に、感謝の言葉をもらえた時は、この仕事をやっていて良かったと思えたものです。
上流工程の大変さや難しさはやはり何と言っても仕事への責任が一気に高まることで、下流工程の時には経験しなかったような責任や重圧のプレッシャーがあります。
プロジェクト全体の成否を決める部分を担っているため、もし万が一ミスがあれば全体に悪影響を及ぼしてしまうことになりますし、チーム全体の方向性を決める上流工程への重圧はやはり大きいものです。
また求められる技術的な知識や専門性も当然高いため、常にシステム設計や開発などの最新情報をキャッチアップし業務に落とし込んでいくフローがエンジニアの上流工程には求められます。
システム上流工程への転職に強いエージェント
システム上流工程への転職におすすめのエージェントを3社紹介します。
Geekly(ギークリー)
Geekly(ギークリー)はITエンジニアに特化した転職エージェントで、主に関東や関西のSE/エンジニア経験者を中心に転職支援を行っています。
テレビCMや電車広告も頻繁に打っているため名前を聞いたことがある人も多く、ITエンジニアの経験がある場合は上流工程に携われる求人を多数紹介してもらうことができるでしょう。
担当キャリアアドバイザーは1人ではなく2人担当がついて転職をサポートしてもらえますので、あらゆる視点から客観的にあなたの転職を成功させられる方法を教えてもらうことができますね。
type転職エージェント(IT)
type転職エージェント(IT)はエンジニアに特化した転職サイトで、非公開求人を含んだ求人数は、業界最大級の10万件もの求人があります。
また、求人の8割が年収600万円以上とのことで、少しでも有利な条件で、転職活動を進めることが可能となっています。
専任のキャリアアドバイザーからのサポ-トは、土日、夜間を含めて受けられるため、なかなか転職活動に時間を取ることが難しい人にもおすすめのエージェントです。
ただし関東の一都三県のみを対象エリアとしておりますので、関東圏以外にお住まいの方は次に紹介する転職エージェントを利用するようにしましょう。
▶︎type転職エージェント(IT)で上流工程の求人を紹介してもらう
レバテックキャリア
レバテックキャリアは15年以上の実績がある、IT 系エンンジニアに特化した求人サイトです。
業界特化の特徴を活かした、IT業界に精通したアドバイザーのサポートが受けられるため、初回応募の内定率は90%と他のサイトと比較しても特筆すべき内定率を誇っています。
企業ごとの面接対策のサポートや応募書類のチェックも受けられるため、面接が苦手な人や、履歴書を書くことが得意ではないでも、安心できるエージェントと言えます。
ぜひマイナビエージェント、レバテックキャリアのいずれかのITに強い転職エージェントを活用して、上流工程としてのエンジニアのキャリアをスタートさせる一歩となれば幸いです。
上流工程に新人が携わるには?に関するQ&A
上流工程に新人が携わるには?に関するよくある質問に回答して参ります。
上流工程はプログラミングできない?
上流工程は、ソフトウェア開発プロジェクトにおける要件定義、設計、計画、およびプロジェクトの戦略的側面を指すフェーズなので、プログラミング自体ではなく、プログラミングの前に行われるプロジェクトの計画および設計がメインの業務内容となります。
つまり、プログラミングは上流工程の後に続く下流工程の一部となりますので、プログラミングに携わりたいのであれば上流工程ではなく下流工程で実践を積むべきでしょう。
上流から下流に行くメリットは?
前述したように上流工程では直接プログラミングをする機会が減ってしまいますので、上流から下流に行くメリットは現場で手を動かしてプログラミングができる点です。
下流工程から上流工程まで一通り経験すると全体像を把握できるので、把握した上でやっぱり自分は上流よりも下流の方が向いているということが分かり、上流から下流へ行く人も珍しくありません。
どちらも経験してこそ初めて自分に合っているのはどっちなのか理解できる部分はありますので、やはり下流から上流まで一通り経験しておいた方が良いのは間違い無いでしょう。
新人SEエンジニアはほったらかし?失敗?
新人のソフトウェアエンジニアを「ほったらかし」にするのは望ましくないですが、現状として現場によってはほったらかしにされる新人SEエンジニアが一定数いるのが事実です。
新人SEエンジニアが適切なサポートを受けながら成長することはチームとしてプロジェクト成功に寄与しますので、放置せず積極的に支援し、指導することが重要ですし、新人も積極的に学びにいく姿勢が求められるでしょう。
利用者の71%が年収アップ 転職成功者累計5,000人突破 関東一都三県の転職に強い |
WEB/ITエンジニアの転職に特化 累計利用者数78,000人突破 エンジニア経験者によるサポート |