SEの上流工程の作業内容8つ|上流工程の仕事に役立つ資格は?
SEの上流工程とは?
SEがシステム開発で担う上流工程とは、要件定義や計画立案を行うプロセスです。
ウォーターフォールモデルのシステム開発は、SEが担当する「上流工程」とプログラマーが担当する「下流工程」にわかれます。
SEが担う上流工程とはプログラムの開発作業に入る前に行うもので、クライアントと打ち合わせを行って要望をヒアリングしたり、要望を満たす機能などを検討したりして仕様書や設計書を作成するといった内容になります。
下流工程との違いは?
システム開発の下流工程はプログラマーや開発エンジニアが担う領域です。
SEもプログラミングに参加することはありますが、基本的に下流工程はプログラマーが担当します。
システム開発の下流工程ではSEが作成した仕様書を基にプログラムを開発したり、システムが要件通りに動作するのかテストしたりするといったプロセスになります。
SEの上流工程の作業内容8つ
SEの上流工程の作業内容をご紹介します。
SEが担当するシステム開発の上流工程は、「上流工程のシステム開発」と「上流工程のシステム設計」にわけることができます。
それでは、上流工程では具体的にどのような作業が行われるのでしょうか。ここでは「上流工程のシステム開発」と「上流工程のシステム設計」にわけて、それぞれ4つずつご紹介していきます。
上流工程のシステム開発における作業内容4つ
上流工程のシステム開発における作業内容4つをご紹介します。
上流工程のシステム開発に該当する作業内容としては、「企画」「要件定義」「設計」「見積もり」の4つがあります。開発するシステムによって異なる点もありますが、基本的にSEがクライアントと打ち合わせを行い、企画から設計まで行っていきます。
ここではまずは、上流工程のシステム開発における作業内容4つをご紹介します。
上流工程のシステム開発における作業内容1:企画
上流工程のシステム開発における「企画」とは、クライアントの要望にもとづいたシステムの企画を立案することです。
クライアントから解決したい課題や要望をヒアリングして、開発するシステムの概要を決定します。
企画の段階ではシステム開発の目的やプロジェクトに必要な予算、開発にかかる期間などを算出し、それらを資料として上層部に提出して開発の許可を貰う必要があります。
上流工程のシステム開発における作業内容2:要件定義
上流工程のシステム開発における「要件定義」とは、開発するシステムの概要や実装する機能を定義することです。
実際に契約を行う前に、要件定義を行って内容をクライアントにも確認してもらい、同意を得る必要があります。
また、要件定義ではシステムに必要な主要機能を列挙して、さらにその機能を実現するために必要なさまざまな機能を検討することになります。このように細分化することで仕様を詰めていきます。
上流工程のシステム開発における作業内容3:設計
上流工程のシステム開発における「設計」とは、開発するシステムの処理方法を決定することです。
要件定義で決まった機能を実装するための方法を決めていきます。設計の段階では「概要設計」「外部設計」「内部設計」などの種類があります。
外部設計ではシステムに必要なUIやセキュリティ、内部設計では機能を実装するためのシステムの内部的な処理などを決定していきます。
上流工程のシステム開発における作業内容4:見積もり
上流工程のシステム開発における「見積もり」とは、システム開発の予算や開発期間を見積もることです。
設計した内容からシステム開発に掛かる期間や必要な費用などを見積もり、クライアントに提示します。ここで双方の同意が得られれば契約は成立となります。
契約が成立すればそのままシステム開発の下流工程へ進むことになるため、見積もり作成で双方相違がないようにしっかりと内容を確認する必要があります。
上流工程のシステム設計における作業内容4つ
上流工程のシステム設計における作業内容4つをご紹介します。
上流工程のシステム設計に該当する作業内容としては、「要件定義」「アーキテクチャの設計」「機能設計」「内部設計」の4つがあります。このシステム設計で決まった内容で下流工程である開発が行われるため、正しく引き継ぐためにもシステム設計は非常に重要になります。
ここでは上流工程のシステム設計における作業内容4つをご紹介します。
上流工程のシステム設計における作業内容1:要件定義
上流工程のシステム設計における「要件定義」とは、システム開発で必要なシステムの機能や性能などを定義することです。
システム設計を行う前に、実装するべき機能をすべて列挙して漏れがないかどうか確認します。また、この時点でリスト化された機能群はドキュメント化され、要件定義書として利用されることも多いです。
要件定義書はこの後の工程で基準として設計に利用され、それを基に開発が行われることになります。
上流工程のシステム設計における作業内容2:アーキテクチャの設計
上流工程のシステム設計における「アーキテクチャの設計」とは、システム全体の構成を決定することです。
アーキテクチャ設計ではソフトウェアの設計だけでなく、システムの実行環境の設定や使用するハードウェアの選定なども含みます。
また、アーキテクチャ設計の時点でシステム開発の下流工程で利用する開発環境や、開発後のテストケースまで決定するケースもあります。
上流工程のシステム設計における作業内容3:機能設計
上流工程のシステム設計における「機能設計」とは、それぞれの機能について詳細な実装方法を考案することです。
前工程で作成された要件定義書の機能一つひとつに対して、システムやデータの扱いなどの具体的な仕様を決定していきます。
基本的に外部から見える箇所の仕様については、機能設計の段階ですべて設計を完了することになります。UIや操作画面なども機能設計で決定するケースもあります。
上流工程のシステム設計における作業内容4:内部設計
上流工程のシステム設計における「内部設計」とは、システム内部の処理をどのように実装するかを考案することです。
内部設計ではシステム内部のすべての処理について検討し、どのように実装するのかを決定します。また、機能同士のデータのやり取りの方法についても設計します。
上流SEに必要なスキル4つ
上流SEに必要なスキルをご紹介します。
上流SEはシステム開発における基盤とも言える設計業務を担うため、プログラミングスキル以外にもさまざまなスキルが必要とされます。
ここでは上流SEに必要なスキル4つをご紹介しますので、ぜひ参考にしてみてはいかがでしょうか。
上流SEに必要なスキル1:幅広い業務知識
上流SEには幅広い業務知識が必要です。
システム開発を依頼するクライアントはさまざまな業界の企業になります。上流SEとしてシステム設計を行うには、携わる各業界の業務や経営に関する知識も必要になります。
むしろ、クライアントの業界について何も知らなければ、相手が何を言っているのかわからず的確な設計ができないでしょう。
上流SEに必要なスキル2:ヒアリング能力
上流SEにはヒアリング能力が必要です。
上流SEにはコミュニケーション能力が必要ですが、その中でも特にクライアントのニーズを正確に引き出すためのヒアリング能力が必要とされます。
クライアントの中にはシステムに詳しくない人も多いため、要望をうまく言葉に出せない人もいます。そういったクライアントが伝えたい内容をうまく引き出すのも上流SEに必要なスキルです。
上流SEに必要なスキル3:マネジメント能力
上流SEにはマネジメント能力が必要です。
上流SEはプロジェクトチームをマネジメントする立場になるケースもあります。そのため、自分自身だけでなくチームの下流工程に携わるエンジニアのスケジュールを管理したり、タスクが特定の人に偏ったりするようなことがないように調整する必要があります。
チームメンバーが多い場合は役割分担に苦労するケースもありますが、経験を積んでマネジメントスキルを身につけるようにしましょう。
上流SEに必要なスキル4:技術力
上流SEには技術力が必要です。
上流SEが実際の業務でシステム開発の下流工程であるプログラミングを行うことはほとんどありませんが、実際には技術力も必要です。
技術力がなければ下流工程のエンジニアが何を言っているのかわからず、コミュニケーションがうまく行かないでしょう。そのため、エンジニアと同程度の技術力が必要だと言えます。
上流工程の仕事に役立つ資格4つ
上流工程の仕事に役立つ資格をご紹介します。
将来SEとして働きたいと考えている方の中には、資格取得を検討している方もいるでしょう。しかしIT系の資格にはさまざまな種類があるため、どの資格を取得すればいいのかわからないという方も多いのではないでしょうか。
ここでは最後に上流工程の仕事に役立つ資格4つをご紹介しますので、ぜひ参考にしてみてください。
上流工程の仕事に役立つ資格1:応用情報技術者試験
応用情報技術者試験はワンランク上のエンジニアを目指す人に最適な試験です。
情報処理技術者試験のスキルレベル3に相当する試験です。ITエンジニアとしてスキルアップをしたいなら、受けておくと良いでしょう。
試験範囲としてはレベル2の基本情報技術者試験と同じですが、より深い内容が出題されます。
上流工程の仕事に役立つ資格2:システムアーキテクト試験
システムアーキテクト試験は上級エンジニアを目指す人に最適な試験です。
システム開発の上流工程を主導する立場として、システムアーキテクトの業務と役割を遂行する知識やスキルを認定する試験です。
情報処理技術者試験のスキルレベル4に相当する試験なので、同じ情報処理技術者試験である基本情報技術者試験や応用情報技術者試験などを受けておく方が良いでしょう。
上流工程の仕事に役立つ資格3:プロジェクトマネージャ試験
プロジェクトマネージャ試験はメンバーを成長させるマネージャを目指す人に最適な試験です。
ITプロジェクトを成功させるプロジェクトマネージャになるためのスキルや知識を評価する試験です。
情報処理技術者試験のスキルレベル4に相当する試験となっているため非常に難易度の高い試験ですが、上流SEとしてスキルを身につけるためにも有効な試験だと言えるでしょう。
上流工程の仕事に役立つ資格4:オラクルマスター
オラクルマスターはOracle Databaseの管理スキルを証明するベンダー試験です。
オラクルマスターはデータベースの管理スキルを認定する資格で、レベルごとにブロンズ、シルバー、ゴールド、プラチナにわかれており、ブロンズから順番に取得していく必要があります。
上流SEとして仕事をする上でデータベースの知識やスキルは必須なので、オラクルマスターも取得すると良いでしょう。
SEの上流工程の作業内容を把握しよう
SEはウォーターフォールモデルのシステム開発の上流工程の作業を担う職種で、幅広い業務知識やヒアリング能力を求められます。
ぜひこの記事でご紹介したSEの上流工程の作業内容や上流SEに必要なスキルなどを参考に、SEの作業内容について理解を深めてみてはいかがでしょうか。