見出し画像

「超上流工程」って何やるの?【SEの仕事 #1】

システムエンジニア(SE)という職業に興味がある方向けに、その仕事を主に工程別に紹介する【SEの仕事】シリーズ。
第1回目の今回は「超上流工程」についてです。
できる限り日本企業の一般的なケースを想定して記載しましたので、現役SEの方には自身の職場との違いを楽しんでいただければ幸いです。

超上流工程とは

一般的なシステム開発の流れ

日本におけるシステム開発は、下図のように工程を順番に実施していくウォーターフォールモデルで行われるのが一般的です。(最近はアジャイル開発も増えてきましたが、それはまた別の機会に取り上げます。)
なお、工程の名称は企業や組織によって様々で、下図はあくまで一例です。

さらに前段階として「システム企画」さらにその前段階として「システム戦略」がありますが、ここではSEが主役となる要件定義以降を紹介します。

超上流工程の位置付け

「超上流工程」という言葉は、情報処理推進機構(IPA)が公開しているの資料の中で登場したものであり、世間一般的な定義がある言葉ではありません。
この記事では、上図の赤点線枠部分の「要件定義」や「概要設計」と呼ばれる工程を「超上流工程」として扱いたいと思います。
基本設計(外部設計)の前段階であり、厳密にはこの段階ではプロジェクトはまだ開始前です。

超上流工程の目的

超上流工程の目的を一言で表すならば「プロジェクトを開始させること」となると思います。
ただ、実務的なことを言えば、その中でも最も重要なのが「プロジェクト予算を確定させること」になるでしょう。


超上流工程の仕事

それでは超上流工程では実際にどんなことをやるのか紹介していきまます。

業務要件定義

超上流工程を開始する段階は、「ある業務・システムに対して、システムの開発や改修を行うことがボンヤリと決まってはいるが、詳細(何を・いつ・いくらで等)はこれから」という状況です。
中にはシステムのためのシステム開発もありますが、多くの場合、何らかの業務やサービスを開始・改善することが目的です。
そのため、その業務を担当する人達と現場業務を整理・分析し、まず“何を”やるかを決めていきます。それが業務要件定義です。

業務要件定義は誰がやる?
業務要件定義の目的や意義から考えると、実施するのは業務(ユーザー・顧客)側です。ただ現実的には、要件を文書化する能力や時間が業務側にあるケースは少なく、システム担当者が引っ張る形で進めるのが一般的です。

概要設計(システム要件定義)

業務要件が整理できたら、システムに求められる事項やその全体像を検討していきます(「概要設計」「システム要件定義」と呼びます)。
そしてそれらをドキュメント(「概要設計書」「システム要件定義書」「対応概要書」など呼び名は様々)にまとめていきます。

“概要”とは言いつつも、前述の通り、この段階でプロジェクトの予算が確定されることがほとんどのため、ある程度精緻な見積りを出すために必要な設計まで進めることが求められます。

概要設計をまとめるにあたり、よく登場するイベントを紹介します。

  • RFI(Request For Information)
    「情報提供依頼(または情報提供依頼書)」のことです。システム開発ベンダー等に、実現したいことを示し、システム対応に関連する有益な情報の提供を依頼します。

  • PoC(Proof Of Concept)
    「実証実験(概念実証)」のことです。新しい技術やサービスを利用する際に、実現したいことが可能か、マッチするか、効果的か、などを確認するために、試験導入します。

  • RFP(Request For Proposal)
    「提案依頼(または提案依頼書)」のことです。委託先の候補となるベンダーに、要件定義の結果を提示し、具体的な提案(システム全体像・コスト・スケジュール等)を依頼します。
    *契約へと直結するため、RFI等に比べベンダーも本気度が違います。

プロジェクト計画

概要設計と同時並行で進められるのがプロジェクト計画の策定です。
文字通り、プロジェクトをどう進めていくのかについて様々な観点で検討していきます。
具体的には、対応範囲(スコープ)スケジュールコスト役割分担品質管理リスク管理などについて整理し、「プロジェクト計画書」として文書化していきます。

プロジェクト計画をまとめるにあたり、よくあるイベント・ポイントを紹介します。

  • 委託先の決定(コンペ)
    自社開発でない限り、他社(ベンダー)へ開発の全部または一部を委託することになります。
    前述のRFPへの回答(提案書)などを元に、委託先を選定します。コストだけではなく、期間、スキル、信頼性など様々な観点で評価し、委託先を決定します。

  • 費用対効果の算出
    プロジェクト計画ではコストを算出して終わりではありません。そのコストに見合った効果があるかどうかを示せなければ、プロジェクトの立ち上げが承認されることはありません。
    そこでシステム化の効果を数値化(何年で投資回収できるか等)していきます。

プロジェクト立ち上げ(決裁)

上記の要件定義(概要設計)・プロジェクト計画が固まったら、ステークホルダ(利害関係者)の合意の下、プロジェクト開始について決裁されます。
これらの手続きを経て、ようやくシステム開発プロジェクトの開始となります。

以上が、一般的な超上流工程で実施する内容です。各タスクをいかにうまく進めるかや、ドキュメントの書き方など細かい部分は、別の記事でまとめていきたいと思いますので、また見にきていただけると幸いです。


【次の記事】

この記事が気に入ったらサポートをしてみませんか?