スライドショースライドショースライドショー

システムエンジニアの上流工程とは?必要なスキルや下流工程との違い

システムエンジニアの上流工程ってなに?
どんなスキルが必要なのだろう?

この記事を読まれている方は、そんな疑問を持たれているのではないでしょうか。

今回はそんな疑問を解消するために、上流工程のエンジニアの仕事内容や下流工程のとの違いをお伝えしていきます。そのなかで、上流工程に求められるスキルも解説していきます。

それではいってみましょう!

システムエンジニアの上流工程とは

画像:Shutterstock

まずは、システムエンジニアの上流工程の仕事内容をお伝えしていきます。大きく分けると3つの工程があります。その工程の流れに合わせて説明していきます。

  • 要件分析
  • 要件定義
  • 機能設計

要件分析

最初の工程が、要件分析です。この工程は、お客様の声に耳を傾け、一緒にどのようなシステムを作っていくかを話し合う段階です。IT関連にそこまで詳しくない方も多いので、丁寧なヒアリングと分析作業が必要です。

要件定義

前項でのヒアリングの内容を元に、その後の作業を進めていく大事な要件定義を行います。それを要件定義書にし落とし込んでいきます。要件定義書は、建築でいう所の、設計図に当たります。

お客様の思い描いているものを、実際のシステムに落とし込むために、細やかな気配りと配慮と、ミスのない正確さが必要な作業です。

機能設計

要件定義書を元に、システムに必要な機能設計をします。機能設計書では、具体的に機能ごとの処理にはじまり、システムの動き方についての記述や、画面表示の詳細な項目の説明、データベースの設計等まで、多岐にわたり定義をしていきます。

機能設計書を元に、下流工程に作業が移っていき、実際にシステムが構築されていきます。

上流工程に必要なスキル

画像:Shutterstock

ここまで、上流工程の仕事内容の大きな流れを説明してきました。この項では、それらの工程で、実際に必要な能力やスキル、知識について解説していきます。必要なスキルは下記の5つです。

  • ヒアリング能力
  • 提案力
  • マネジメント能力
  • 問題解決力
  • プログラミング知識

ヒアリング能力

一つ目は、ヒアリング能力です。まずは、お客様がシステムを使って、何を実現したいか。どんな問題を解決したいのか。そういった、お客様の声を引き出す技術が必要です。

微妙なニュアンスな言い回しは、第三者も理解できるくらいにまで、共通認識できる言葉にまで落とし込む必要があります。

提案力

次に、提案力です。もしかすると、お客様は、ITについての知識が少ないかもしれません。

現在のIT技術で、どんなことができて、どんなことはできないのか。お客様も納得されるような内容、言葉で提案する必要があります。

そのためには、プログラミングへの深い知識と幅広い視野を持つことが求められます。

マネジメント能力

そして、マネジメント能力。例え小さなプロジェクトであっても、スムーズに納品するためには、全体の流れをマネジメントする能力も必要です。

万全の準備をしていても、開発に遅れなどが生じてしまうことは往々にしてあります。その際にも、お客様との調整を行っていく能力も必要になります。

問題解決力

画像:Shutterstock

さらに、問題解決能力も必須です。前項にも記述したように、思いがけないことが起こるのがプログラミングのシステム開発です。

その際に、問題の本質を見極め、最善の方法をお客様や下流工程のスタッフに示していく役割も担っています。

プログラミング知識

最後に、当然ながらプログラミング知識です。それがないと、お客様のニーズをシステムに落とし込むことができません。

さらに、下流工程のエンジニアへの作業も、無理のある内容になってしまったりするかもしれません。最低限、プログラミング知識はあって然るべきです。

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

画像:Shutterstock

さて、前項までにも何度か出てきた、下流工程という言葉。この項では、上流工程と下流工程の違いをお伝えしていきます。具体的には、下記の3点です。

  • 役割の違い
  • 必要なスキルの違い
  • 収入の違い

役割の違い

まずは役割の違いです。上流工程はこれまで述べたとおり、お客様と開発メンバーの橋渡しやマネジメントが、主な役割です。

下流工程は、上流工程までに設計された内容を元に、プログラミングの内容を実際のソースコードに書き込んでいきます。さらに、システムが想定通りに動くか、設計内容の漏れがないか、といった検証・テストを行うことが、主な役割になります。

必要なスキルの違い

次に、それぞれに必要なスキルの違いです。上流工程に必要なスキルは先述のとおりです。

下流工程に必要なスキルは、なんと言っても、プログラミングスキルです。専門性を突き詰めて行く姿勢が大事になります。

複数人の開発チームで作業を行うこともあるため、エンジニアとしてのコミュニケーション能力も必要です。話が上手というコミュニケーションではなく、物事を論理的に伝えられるという能力も含まれます。

収入の違い

最後に、収入の違いについてです。

一般的には、上流工程に関わっている人の方が収入は多くなっています。その理由として、上流工程の方が責任が大きくなることが挙げられます。

ただ作業として仕事をするのではなく、お客様と下流工程のメンバーとのコミュニケーションを取りながら、最終的にシステムの完成、納品までの責任を持つということです。

上流工程はこんな人におすすめ

画像:Shutterstock

上流工程と下流工程の様々な違いについてお伝えしてきました。それぞれの役割や仕事内容のイメージを持っていただけたのではないでしょうか。

どんな人に上流工程の仕事が向いているか。それは下記の3つがポイントです。

  • 細かい作業が好きな人
  • 設計が好きな人
  • マネジメントが得意な人

細かい作業が好きな人

1点目は細かい作業が好きな方です。

上流工程の仕事は、お客様とのアポイントからタイムスケジュールの把握、各書類の作成など、幅広い仕事内容があります。お客様があってのことですから、気配りも必要です。

そのような気配り気遣いも含めた、細かい作業が好きな方には、前向きにお仕事をしていただけると思います。

設計が好きな人

2点目におすすめするのは、設計が好きな方。

お客様の要望やニーズをシステムの設計に落とし込みます。それは、下流工程のエンジニアも作業に取り組みやすいものでなければなりません。

それぞれの視野から多面的に物事を捉えた上で設計する。論理的に物事を考え、設計をしていける方にもおすすめです。

マネジメントが得意な人

画像:Shutterstock

3点目は、マネジメントが得意な方。

最も大きな役割は、お客様と実際にシステムを組み上げるエンジニアとの橋渡しです。全体のマネジメントには、コミュニケーションスキル、多様な業界の情報を理解する分析力など、多様な人々をまとめあげていく力が必要です。

マネジメント能力では、経験や場数がものを言います。得意とまでは行かなくても、そういう役割が嫌いでなければ、ぜひチャレンジして頂きたいと思います。

まとめ

画像:Shutterstock

上流工程のエンジニアの仕事内容や下流工程のとの違いを解説しました。また、上流工程のことを中心に、下流工程との比較もしました。

それぞれの工程で、求められるスキルや、適正の違いもご理解いただけたのではないでしょうか。

皆様の置かれている状況やご自身の特性や関心を勘案され、これからのエンジニアライフの参考になれば幸いです。

最後までお読み頂き、ありがとうございました。

書いた人

深町 一雄

元ウェブディレクター/編集者
メイン機はOS9時代からMac。
最近はUnityに興味があります。