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

  • TOP
  • 転職コラム
  • 上流を担当しスキルアップするためにつけたい3つのスキルとは

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

SEの仕事をしている人のなかには、「下流工程ではなく、上流工程の仕事をしたい」という人も多いのではないでしょうか。しかし、上流工程の仕事は下流工程とは全く異なる能力が求められますし、下流工程の仕事をしていればいずれ自動的に上流工程に移れるというものでもありません。

 

今回の記事では、SEにおける上流工程と下流工程の仕事の違い、求められるスキルの違い、また上流工程に移るためのポイントについて解説します。

 

エンジニアの業務における下流、上流って?

 

まずは、システムエンジニアの業務の大まかな流れと、各フェーズでの作業内容について見ていきましょう。

 

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

1.要件定義

要件定義とは、お客さまから「こんなシステムをつくってほしい」という要望を受け、具体的にどのようなシステムにするか、開発する上でどんな問題点があるかといった点を話し合って文章にする工程です。予算や内容含めて発注者と受注者の双方が納得し、合意できる要件定義書の作成能力が必要となります。

 

2.設計

要件定義が決まったら、それに合わせた設計書を作る段階に移ります。この段階では、要件定義で実装することが決まった機能の詳細についてさらに詰めていくのが特徴です。この設計書の作成によって、具体的にどういったシステムが完成するかが決まるので、非常に重要な工程となります。

 

3.プログラミング

出来上がった設計書を元に、実際にプログラミングを行います。

 

4.テスト

この工程では、システムの開発途中における各ポイントのテストを行います。テストは「単体テスト」「システムテスト」の2つです。単体テストはプログラミングされたパーツごとの動作テスト、システムテストはシステムの機能全体の動作テストのことをいいます。

 

5.納品

テストが行われ、問題がなければ発注者に納品します。納品時には、発注者による受入テストが実施されます。このテストでは、発注者の希望どおりのシステムになっているか、動作に問題はないかといった点がチェックされます。場合によっては、修正作業が入ることもあるでしょう。

 

○上流と下流の違い

システム開発の流れのなかで「要件定義」「設計」が上流工程、「プログラミング」「テスト」が下流工程とされています。要件定義や設計は、クライアントとの打ち合わせ・すり合わせ(ディレクション)が中心で、この上流工程でどんなシステムをつくるのかが決まるのです。一方、プログラミングやテストは、上流工程で決定した設計書を元にプログラミング作業やテストを行います。

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

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

 

上流工程に必要な3つのスキル

 

上流工程を担当する場合に求められる重要なスキルについて見ていきましょう。

 

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

すでに説明したように、上流工程ではクライアントとの相談・打ち合わせ・ヒアリングといった機会が多く、それだけコミュニケーション能力が求められます。当然ながら、クライアントとのコミュニケーション不足はシステム開発の失敗につながる恐れもあるのです。そのため、上流工程担当者は、いかにクライアントの要望をうまく引き出せるか、上手く話しをまとめられるか、そのヒアリング能力・コミュニケーション能力の高さが重要となります。

クライアントがエンジニア関連の知識を持っているとは限りません。その場合はなるべく専門用語を使わずに平易で分かりやすい表現で説明する、といった心がけも必要となります。

 

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

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

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

 

3.マネジメントスキル

上流工程は、システム開発における全体のまとめ役の立場になります。同じ上流工程のメンバーをまとめる立場を任されることもあれば、下流工程にいるスタッフの取りまとめを担当することもあります。システム開発は、上流と下流を含めてチームワークが重要ですが、単にそれだけでなくスタッフ個々の仕事に対する意識についても尊重するようにしましょう。

チームのなかで日頃からできるだけ多くのスタッフと意思疎通を図り、作業面でも環境面でも不満がないかどうかを把握しておくことが大切です。定期的な打ち合わせ、時には個人との面談も有効でしょう。

 

 

上流工程の任され方

 

最後に、どうすれば上流工程に移れるのかを見ていきましょう。

 

○下流・上流工程を一貫している手がける企業に入社する

数として多くはないものの、国内には下流工程と上流工程を一貫して手がける企業もあります。そのような企業であれば、下流工程で下積みを行い、時期が来たら上流工程に移るというステップアップも可能です。ステップアップを実現するには、単に下流工程の仕事をこなして評価を得るだけでなく、上記で説明した「上流工程に必要な3つのスキル」を持っていることを積極的にアピールしていくことが重要となります。

このようなステップアップを構築している企業であれば、下流工程→上流工程→プロジェクトリーダー→プロジェクトマネージャーといった具合にさらに上位の管理職に移れる可能性もあるのです。

 

○上流工程が可能な企業に転職する

理想としては、上記のような下流工程と上流工程を一貫して行っている企業、ステップアップが可能な企業に入社するのが一番といえるでしょう。しかし、現実としてすべての企業でそのようなステップアップが可能というわけではありません。下流工程しか扱っていない企業であれば、どれだけそこで仕事をしても上流工程に移れる機会を得ることは難しいでしょう。

そこで、上流工程にスムーズに移る方法として、上流工程に携わる人材を募集している企業に直接転職するという方法があります。とはいえ、いきなり上流工程の経験がない人を採用する企業は多くはないでしょう。まずは下流工程の経験を積み、良いタイミングだと思うような時期がきたら、上流工程も可能な企業に転職するというのが現実的な流れとなります。

また、自社でサービスの開発を行っている企業には、企画や設計といった上流工程の仕事が多いです。ほかにも、ゲーム・医療・金融・バイオといった専門分野に特化した企業も、上流工程を任せられる人材を募集しているケースも多いので、求人サイト・転職サイトをチェックしてみるとよいでしょう。さらに、英語力があれば外資系企業の求人も視野にできるため、転職サイトでさまざまな分野の幅広い求人をチェックしてみることをおすすめします。

 

まとめ

 

同じSEでも、下流工程と上流工程とでは仕事の内容が大きく異なります。パソコンに向かって黙々とプログラミングをこなすよりも、コミュニケーションスキルやマネジメントスキルを活かしたいという人には上流工程が向いているでしょう。

SE未経験者の場合、一番の理想は下流工程と上流工程を一貫して開発している企業に入社することです。このような企業であれば、まずは下流工程で経験を積み、ステップアップとして上流工程に移ることも可能です。下流工程と上流工程を一貫して開発している企業は、大企業だけでなく中小企業にもあり、転職サイトなどを利用して探してみてください。