プログラマーやその他エンジニア職からのキャリアアップとして、上流工程について興味のある方は多いのではないでしょうか。上流工程ではいったい何をしているのか、仕事内容や、その際に求められるスキルについて、またあると便利な資格についてを解説していますので、ぜひ最後までご覧ください。
Contents
エンジニアの上流工程とは
主にウォータフォール開発で意識される区分で、開発工程を上流工程と下流工程に分けて考えます。そもそもウォータフォール開発とは、言葉通りに滝のように水が上流から下流に流れ落ちるように上流から下流へと開発の工程が進んでいくような開発手法で、一度下流に進んでしまうと、上流へは戻ってこられないのが一般的です。具体的な工程は、要件定義、基本設計、詳細設計、実装、単体テスト、結合テスト、リリースなどで、各工程の名称や、手順は運用者や開発対象によって異なります。こうした工程の中で、実装よりも前の段階を上流工程と言います。
主な仕事内容
上流工程と言うと小難しく聞こえるかもしれませんが、要は何を開発するか、ということを決めるのが仕事内容です。そのためには、クライアントの要望を聞き、その要望からどんなシステムを開発すれば要望に応えられるかを推測し、クライアントに提案し、クライアントの承諾を得たなら、それを開発可能となる状態にします。また、その際に、納期や予算などもクライアントの要望の範囲内になるように調整します。もし、十分な話し合いがなされていないと、言った言わない問題が発生したり、こんなシステムを開発して欲しかったわけではない、といった認識の齟齬が発生するなど、様々なトラブルに発展するリスクとなるため、上流工程は非常に重要な工程と言えます。こうした内容をシステマチックにしたのが、上記でも触れた要件定義、基本設計、詳細設計、ということになりますが、企業や開発対象によって、その内容やテンプレートは若干異なるものとなりますが、決めるべき内容はこの項目で述べて来たとおりです。
下流工程との違い
下流工程では、実際の開発をおこないます。開発を進める開発チームのスタッフたちは、上流工程で決められた指示通りのものを開発し、決められた納期に納品できるように進めます。開発完了後は、要件通りのものが作成できたか、きちんと動作するかなどチェックします。テストで問題があった場合は修正し、問題なければ、クライアントに提出し、クライアントの確認が完了すれば納品です。納品後に、保守・運用をおこなっていく場合もあります。
上流工程に求められるスキル
上流工程で求められるスキルについて解説します。
コミュニケーションスキル
クライアントとの会話が主になるため、コミュニケーションスキルは必須です。クライアントの要望を聞き、要望に対して提案をおこう、といったコンセンサスを取るコミュニケーションが求められます。また、クライアントは、システムの詳細に詳しいわけではない場合も多いので、専門的な話もクライアントに伝わるように話せるスキルが求められます。
書類作成のスキル
上流工程では、成果物のドキュメント化をおこないます。クライアントに対しては、上流工程の過程では、それまでに確定した内容の読み合わせに用い、終了時には完成したドキュメントを納品します。開発チームに対しては、ドキュメントを共有し、開発に利用できるようにします。記述内容は、プロジェクトのゴール、ステークホルダーマップ、WBS、機能要件、非機能要件、基本設計、詳細設計などになります。
要件分析・定義スキル
クライアントの要望を聞き、システムに必要な機能を確定するなど要件を整理し、要件定義書や設計書などの作成をおこなうスキルが求められます。こうしたスキルを身に付けるには、幅広いIT知識を身に付け、多くの開発に携わるなどの経験が必要になるでしょう。
マネジメントスキル
クライアントに対しては、開発目標を定め、納期や予算のコンセンサスを取り、開発チームに対しては、開発目標を共有し、納期までに、瑕疵なく納品できるように、チーム体制を組み、トラブル発生時は対処していく、などマネジメントスキルが求められます。
上流工程に向いている人の特徴
上流工程は開発全体のノウハウが必要なため、いきなり上流工程の仕事を任せてもらえることは滅多にありません。下流工程に携わり、実務経験を経てから上流工程へキャリアアップしていくのが一般的です。下流工程では、開発の一部しか担当していないことが多いですが、普段から他の担当領域についても興味を持ち、学んでいく姿勢を持つ人は向いていると言えます。また、上流工程は、クライアントや開発チームメンバーとのコミュニケーションが欠かせないため、普段からチームワークを重んじる人も向いていると言えます。
上流工程に向いていない人の特徴
上記と反対の説明になりますが、自分の開発領域にしか関心がなかったり、コミュニケーションを避け、一人でプログラミングをしていたい、と考える人はあまり向いているとは言えません。また、何か説明を求められた際、言語化できなかったり、開発チームメンバーとのコミュニケーションに苦手意識を持っている人も向いていない可能性があります。
エンジニアの上流工程におすすめな資格
上流工程におすすめの資格を紹介します。
システムアーキテクト試験
経済産業省が認定する国家資格で、試験はIPAが主催します。システムの上流工程において、業務ニーズに適したシステムの要件を定義し、アーキテクチャを設計できることを証します。
応用情報技術者試験
経済産業省が認定する国家資格で、試験はIPAが主催します。IT人材として高度な知識・スキルを有することを証します。
データベーススペシャリスト試験
経済産業省が認定する国家資格で、試験はIPAが主催します。顧客の膨大なデータよりビジネスに活用できるデータ分析基盤を構築するスキルを有することを証します。
まとめ
この記事ではエンジニアの上流工程について下記のことを解説してきました。
・エンジニアの上流工程とは
・上流工程に求められるスキル
・上流工程に向いている人の特徴
・上流工程に向いてない人の特徴
・エンジニアの上流工程におすすめな資格
上記のポイントを押さえて、上流工程へのキャリアアップを目指してみてください。
フリーランスの案件をお探しの方はTechReachにご相談ください。
TechReachを運営する株式会社アールストーンはIT・Web業界特化で15年以上の実績がございます。
そのため、高単価・高品質な数多くの案件紹介が可能です。
また一人のコンサルタントが企業と求職者様の担当を行う「両面型エージェント」を採用しているため、あなたの希望に合う案件がきっと見つかるはずです。
TechReachを活用して、理想の案件を見つけましょう!