エンジニアの成果物とスケジュールは、IPOで整理しましょう(INPUT-PROCESS-OUTPUT)

エンジニアの業界で使われるIPOという考え方をご紹介します。
IPOはInput Process Outputの頭文字をとったもので、何かアウトプットするためにはプロセスやインプットを整理することが大切、という考え方です。

IPOは設計書などのドキュメント作成するときや、スケジュールを管理するときなどに便利です。

エンジニアとして知っておくことはもちろん、リーダを目指す方も知ってほしい知識です。

IPOとは※アイポと読みます。

改めて説明すると、Input Process Outputの頭文字をとったものです。
つまり、IPOとは、成果物を作るときは以下のことに気を付けましょうという、考え方のことです。

情報(INPUT)を元に成果物(OUTPUT)を作成する方法(PROCESS)を整理しましょう

IPOは、もともと設計書の考え方です。
IPO図を使用して成果物の管理を行うことができます。

付録:IPO図について

IPO図は、こんな感じの図や表のことです。

Excelで作ってみました。

上記のような感じで、どんな成果物を作るか、また、それに必要なプロセスやインプットを整理しましょう。
また、整理する中で、インプットが足りない、場合は、お客さんや上司に質問するなどして、情報を収集しましょう。

余談:詳細設計書におけるIPO図について

詳細設計書も同様にIPOで整理するとわかりやすいです。
また、Exception(例外)もセットで整理すると、なお良いと思います。

まだ、払い終えていない税金を計算するメソッドの詳細設計の例です。
Excelで作成しました。

さらに余談ですが、設計書を書く時は、必ず「目的」を定義してから設計をしてください。
後から見た時に、「結局、この設計書って何が言いたいんだろう?」と思われてしまいます。

IPOで整理するメリット

IPOで整理するメリットは、これを防ぐためです。

  • 情報不足
  • 成果物の漏れ

プロジェクト工程の後半になって、上記が発覚した時、バタバタしてしまいます。
最悪の場合、人員増量、リスケ、社長へのエスカレーション、徹夜…。大変なことになります。

IPOを使った成果物整理術(IPO表)

各工程ごとに、IPOを使って、成果物を整理してみましょう。
この記事では、IPO表と呼ぶことにします。

開発方法はウォーターフォールを例に説明します。

前工程のOUTPUTが、次以降の工程のOUTPUTになっていますね

付録:IPO表を使った成果物表を使って、工数見積してみましょう

IPO表は、工数見積もりにも使えます。
各成果物ごとに、何日で作ることができるか(人日と呼びます)ざっくり数字を入れてみましょう。

合計、16.1人日です。大体3週間ちょいくらいで作れる見積ですね。

実際は、もう少し細かく書くことが多いと思います。
案件の特性によって、粒度を粗くしたり、細かくしたりしてみましょう。

IPOを使ったスケジュール整理術

IPO図やIPO表を使ってスケジュールを管理してみましょう。

IPO図を作ると、成果物同士の従属関係がわかるようになります。
例えば、要件定義が終わった後じゃないと、外部設計書を作れない、ということがわかると思います。

この、成果物同士の従属性(クリティカルパスと呼びます)を利用して、スケジュールを引いてみましょう。

補足:クリティカルパスとは

ここで、注意です。

学校や、基本情報技術者試験で問われるクリティカルパスは、以下を指しますよね。

クリティカルパスとは、プロジェクトの各工程を、プロジェクト開始から終了まで「前の工程が終わらないと次の工程が始まらない」という依存関係に従って結んでいったときに、所要時間が最長となるような経路のこと。

e-Words

少し難しいですが、学術的にはこちらが正しいので、試験では上記を答えてください。
ただし、経験上になりますが、実際の現場だと作業の従属性をクリティカルパスと呼ぶことが多いです。

クリティカルパス法

クリティカルパス法を使った作業計画です。

クリティカルパス法

ポイントは3つです!

  • IPO表の右側にカレンダーをくっつけましょう
  • クリティカルパスを意識しましょう
  • クリティカルパスの関係になっている場合、適宜バッファを設けましょう

詳しく解説します。

IPO表の右にカレンダーを付けましょう

こんな感じで、IPO表の右側にカレンダーを入れて、「○」を付けていきましょう。
ちなみに、この「○」を付けたカレンダーのことをガントチャートと呼びます。

クリティカルパスを意識しましょう

クリティカルパスの関係になっている場合は、スケジュールが重複しないように気を付けましょう。
逆に、クリティカルパスの関係になっていない場合は、並行して作業してしまいましょう。

クリティカルパスの関係になっている場所には適宜バッファを設けましょう

また、クリティカルパスが合流するとき(例の場合は、要件定義が終わった後とか)に、作業余裕(バッファ)を設けると、スケジュールが破綻しにくくなります。
これを、クリティカルパスの合流バッファと呼びます。

まとめ

本記事を3行でまとめます。

  • 成果物(OUTPUT)を定義し、成果物を作る方法(PROCESS)や、必要な情報(INPUT)を整理しましょう
  • IPO図を作って成果物を整理しましょう。
  • クリティカルパスでスケジュールを整理しましょう

これができれば、今までより、スケジュールなどの計画の精度が上がるはず!
ぜひ、マスターしてくださいね!

最後まで読んでいただき、ありがとうございました。

1 件のコメント

コメントを残す

メールアドレスが公開されることはありません。