上流SEとは?仕事の流れと内容を開発・設計に分けて紹介
SE業務の中でも、要件定義や設計といった開発の初期工程を担当するのが上流工程SEです。上流工程のエンジニアには高い技術力やマネジメントスキルなどが求められます。
本記事では、上流工程エンジニアの仕事内容を中心に、求められるスキル、おすすめの資格についても詳しく紹介していきます。上流工程エンジニアに興味がある方は、参考にしてみてください。
目次
目次を閉じる
上流SEとは?
SE(システムエンジニア)の仕事は、大きく分けて上流と下流に分けられることがあります。SEの業務の中でも上流を担当する上流SEとは、ウォーターフォールモデルにおける要件定義や設計といった開発の初期工程を担当するSEです。
上流SEが担当する工程はシステム開発プロジェクトの初期段階であるため、プロジェクト全体に与える影響も非常に大きいです。そのため、高度なスキルや経験などが求められる仕事であると言えるでしょう。
上流工程について
上流SEが担当する開発プロジェクトの上流工程は、「開発」と「設計」に分けられます。開発ではシステム化の企画や要件定義、設計、見積もりの作成などが主な仕事です。
また、設計の場合、要件定義や.アーキテクチャ設計、機能設計、内部設計といった設計が主な仕事になります。これらの上流工程で作成された要件定義や設計をもとに、プログラミングを行うことでシステムの開発を行うのが下流工程です。
下流工程は多くの場合、プログラマーなどの開発メンバーが担当することになります。
【開発編】上流SEの仕事の流れと内容
前述の通り、上流SEが担当する上流工程の業務内容は「開発」と「設計」に分けられます。設計における上流工程の業務の中でも特に重要となるのが、システムの企画立案から設計までの工程だと言えるでしょう。
システム開発に携わる上流SEは、普段どのような業務を行っているのでしょうか。ここでは、システム開発における上流SEの仕事の流れと内容について解説していきます。
企画立案
システム開発の工程は、まずはシステム化の企画を立案するところからスタートします。システム化の企画とは、クライアントの要求や課題などを明らかにし、開発に必要な予算や開発期間などをまとめる工程です。
企画をまとめたら、妥当な内容かどうか検討を行います。企画段階での予算や開発期間の詰めが甘い場合、後々問題が発生する可能性があるため、審議は慎重に行う必要があるでしょう。
企画に問題がないと判断されれば、実際にシステム開発の工程へ入っていきます。
要件定義の設定
要件定義とは、システムの概要や機能の定義を行う工程です。クライアントのニーズを満たすシステムを開発するにはどのような機能が必要なのかを検討し、ドキュメントとしてまとめていきます。
また、作成した要件定義はクライアントにも確認してもらい、問題がないかどうか判断してもらいます。要件定義ではこれから開発するシステムの仕様について決定するため、抜けや漏れが発生しないように話し合いを進めることが重要です。
そのため、システム開発の中でも重要な工程だと言えるでしょう。
設計
システム設計には大きく分けて「外部設計」と「内部設計」があります。外部設計は基本設計とも呼ばれるもので、要件定義によって決まった機能などをもとに、システムの操作画面や操作方法、UIやデータ出力といったシステムの基本的な設計を行います。
一方、内部設計とはシステム内部の動作や機能などの詳細な設計を行うことです。機能をどのようにして実装するのか、具体的な方法を決定していく工程となります。
設計の工程は要件定義で決まった内容をもとに、具体的な実装方法を検討していくことがポイントです。
見積もり作成
システム設計における要件定義や設計などの作業が完了したら、予算や開発期間などを計算して見積もりの作成を行います。クライアントから見積もりの内容で同意を貰い、契約を締結したら、下流工程であるシステムの開発作業をスタートします。
見積もり作成の工程は、上流SEが担う上流工程の最後の作業です。下流工程の開発現場まで把握した上で正確に判断する必要があるため、重要な作業であると言えるでしょう。
【設計編】上流SEの仕事の流れと内容
ここまで、システム開発における上流工程の業務内容について解説してきましたが、システム設計の場合は開発とは全く異なる業務を行います。システム設計は、開発プロジェクトにおいて下流工程の業務のクオリティを大きく左右するものです。
上流SEのシステム設計が不十分な場合、実装に入ってからの仕様追加や修正などが膨らみ、スケジュール通りに開発作業が進まなくなる可能性もあるでしょう。
ここでは、システム設計における上流SEの仕事の流れと内容について解説していくため、どのような業務を行っているのか参考にしてみてください。
要件定義の設定
システム設計でも開発と同様に、システムに必要な機能などを明らかにしていく要件定義の工程を行います。クライアントの要望を満たすために必要な機能や性能などを検討し、要件定義としてまとめていきます。
作成した要件定義は、プロジェクトの重要な設計段階の資料です。実装やテストケース作成などの工程まで一貫して参照されることになるため、抜け漏れがないように慎重に作り込むことが大切です。
アーキテクチャの設計
アーキテクチャ設計とは、システム全体の構成を設計していく工程です。アーキテクチャにはソフトウェアはもちろん、ハードウェアや実行環境などシステムに関わる全ての技術が含まれます。
また、システム化のために使用する技術の選定もアーキテクチャ設計での業務の1つです。さらに、アーキテクチャ設計の段階で開発環境やテストケースまで決定することもあります。
このように、アーキテクチャ設計はシステム開発の下流工程の方向性も左右する重要な工程となっています。
機能設計
機能設計は、システムに機能を実装するための手法を決定していく工程です。機能設計にはプログラムやデータの管理方法といった開発に直接関係する部分だけでなく、ユーザビリティを考慮した設計を行うことも含まれています。
たとえば操作画面の設計やボタンの配置など、ユーザーにとって使いやすいシステムを開発するための設計を行います。システムの処理に関連した内容から、ユーザーの目に見える部分の設計まで行う工程だと言えるでしょう。
内部設計
内部設計とは、名前の通りシステム内部の実装に関わる部分の設計を行う工程です。システムのすべての処理を設計していく工程ですが、機能の詳細を詰めていく工程となるため、プロジェクトによっては機能設計と併せて設計が行われるケースもあります。
そのため、事前にどのような流れで開発を行うのか把握した上で設計を進めていく必要があるでしょう。
上流SEが経験するトラブルの例
上流工程の業務ではさまざまなトラブルが発生します。たとえば、上流工程での不備によって下流工程での不具合が発生し、納期が遅れるケースなども少なくありません。
また、見積もりの詰めが甘く、想定外の機能追加や修正などが発生し、結果的に開発コストが増大してしまうケースもあります。さらに、システムをリリースしたあとで、上流工程での想定漏れなどを原因とした不具合が見つかることもあるでしょう。
上流工程では、このようなさまざまなトラブルがつきものだと言えます。
上流SEに求められるスキル
ここまで紹介したように、上流工程はプロジェクトの成功を左右する重要な工程となっています。上流工程を担う上流SEを目指すのであれば、技術力はもちろんクライアントのニーズを引き出すヒアリングスキルなど、さまざまなスキルを身につける必要があるでしょう。
ここでは、上流SEに求められるスキルを紹介していきます。
高い技術力
上流SEはプログラミングを行うことはあまりありませんが、プログラミングに関する知識がなければ設計を行うこともできないため、上流SEには高い技術力が必要になります。
また、技術力がなければ下流工程を担うプログラマーと技術的な話ができないため、うまく意思疎通を行うことも難しくなるでしょう。そのため、実装工程を担うエンジニアと同じ程度の技術力は必要になります。
ヒアリングスキル
上流工程ではクライアントのニーズを引き出すためのヒアリングが行われます。このような工程も上流SEが担当することになるため、上流SEにはクライアントの要望を正確に引き出すためのヒアリングスキルが必要になります。
クライアント全員がITやシステムに関する知識を持っているわけではないため、具体的に要望を伝えることが難しい人もいるでしょう。そのような場合でも、上流SEはわかりやすい言葉で話ながら、相手の伝えたいことを引き出すスキルが求められます。
専門的な知識
上流工程では、さまざまな業界のクライアントが利用するシステムの設計を行います。そのため、上流SEには自社が携わるさまざまな業界の業務や経営といった専門的な知識が必要になります。
クライアントの業界に関する専門的な知識がなければ、クライアントの話を正確に理解できないため、的確な設計もできなくなるでしょう。
マネジメントスキル
上流SEはプロジェクトにおける上流工程を担うことから、プロジェクトチームをマネジメントするポジションになるケースも多いです。そのため、上流SEにはマネジメントスキルが必要になるでしょう。
自身が担当する上流工程の業務だけでなく、プログラマーのタスク管理やスケジュール管理なども行い、プロジェクトを円滑に進めていくスキルが求められます。
上流SEにおすすめの資格4選
上流SEになるために取得しなければいけない資格はありません。しかし上流SEには高度なスキルが求められるため、資格取得を通して必要な知識やスキルを身につけるのがおすすめです。
ここでは、最後に上流SEにおすすめの資格を紹介していくため、どのような資格が役立つのか参考にしてみてはいかがでしょうか。
1:システムアーキテクト試験
システムアーキテクト試験とは、システム開発における設計や分析などの上流工程を主導する上級エンジニアに必要な知識や実践能力を測る国家資格です。
経済産業省管轄のIPAが実施している情報処理技術者試験の1つで、試験の中でももっともレベルの高いITSSのスキルレベル4に相当します。そのため合格率も非常に低い試験ですが、上流SEに最適な資格となっているため、取得することで上流SEとしての評価も高まるでしょう。
出典:システムアーキテクト試験(SA)|IPA 独立行政法人 情報処理推進機構
参照:https://www.jitec.ipa.go.jp/1_11seido/sa.html
2:応用情報技術者試験
応用情報技術者試験は、基本情報技術者試験よりもワンランク上のITエンジニアに必要な知識や応用力を測る国家資格です。情報処理技術者試験の試験区分の1つで、ITSSのスキルレベル3に相当します。
基本情報技術者試験よりも難易度が高く、技術や管理、経営といった幅広い分野の知識や応用力を身につけられるため、エンジニアとしてレベルアップしていきたい人におすすめです。
出典:応用情報技術者試験(AP)|IPA 独立行政法人 情報処理推進機構
参照:https://www.jitec.ipa.go.jp/1_11seido/ap.html
3:プロジェクトマネージャ試験
プロジェクトマネージャ試験とは、プロジェクト全体を統括するプロジェクトマネージャーを目指す人におすすめの国家資格です。情報処理技術者試験の1つで、スキルレベル4相当の難易度の高い試験となっています。
プロジェクトマネジメントに必要なスキルを認定するため、上流SEに必要なスキルを身につけたいエンジニアにもおすすめです。
出典:プロジェクトマネージャ試験(PM)|IPA 独立行政法人 情報処理推進機構
参照:https://www.jitec.ipa.go.jp/1_11seido/pm.html
4:オラクルマスター
オラクルマスターとは、オラクルデータベースの管理スキルを測る資格です。データベース系資格として知名度の高いベンダー資格となっており、データベースやSQLに関する知識を身につけられます。
試験のグレードには「Bronze」「Silver」「Gold」「Platinum」の4つにわかれており、BronzeやSilverを受検するための前提条件はありませんが、Goldを受験するためにはSilverに合格している必要があります。
上流SEの仕事内容やおすすめの資格などを詳しく学ぼう
上流SEとは、システム開発における上流工程を行うエンジニアです。技術力や知識はもちろん、チームメンバーを管理するマネジメントスキルも必要とされるポジションです。
ぜひ本記事で紹介した上流SEの仕事の流れや内容、求められるスキルや資格などを参考に、上流SEを目指してみてはいかがでしょうか。
Midworks おすすめの案件例
- 芝公園駅 / 港区月額80万〜90万円
- 新宿駅 / 新宿区月額70万〜90万円
- 本郷三丁目駅 / 文京区月額80万〜90万円
- 渋谷駅 / 渋谷区月額70万〜120万円
- 京橋駅 / 大阪市城東区月額100万〜200万円