プロジェクトマネジメント③ 工程管理②

目次

アローダイアグラム

アローダイアグラム(Arrow Diagram:PERT図とも呼ばれる)は、プロジェクトマネジメントで使用されるスケジューリング手法の一つで、作業項目間の関連(依存関係や順序関係、所要時間)を表現するために使われます。

アローダイアグラムは、各作業を矢印で表現し、その矢印の始点と終点を結合点として表現します。

アローダイアグラムは、プロジェクト全体の進捗状況を視覚的に把握しやすく、クリティカルパス分析(最長パスを特定する手法)にも適しています。

作業を表します。矢印の上部に作業名、下部に所要時間を記入します。
作業と作業の結合点を表します。先行する作業から順に番号を付けます。
ダミー作業を表します。実際には存在しない作業時間0の作業であり、作業の依存関係だけを表します。
一つの結合点から開始できる作業は一つだけなので、複数の並行可能な作業がある場合はこのダミー作業の矢印を使用して開始位置となる結合点に結びます。また、クリティカルパスを明確に示すためにも使われることがあります。

簡単なアローダイアグラムの例

例1 朝の日常ルーチン

アローダイアグラムを理解するために、シンプルな例を考えてみましょう。

ここでは、朝の日常ルーチンをアローダイアグラムで表現します。

まず、朝の日常ルーチンで実行する必要のあるすべての作業を以下のようにリストアップします。この時、各作業を開始する前に完了する必要がある「先行作業」を特定します。

作業名作業内容先行作業所要時間(分)
A起床5
B顔を洗うA3
C朝食をとるB15
D家を出るC10

リストを作成したら、以下の手順でアローダイアグラムを作成します。

  1. 結合点の配置: 作業と作業の結合点を配置し、先行する作業から順に番号を付けます。
  2. タスクの矢印を描画: 作業を示す矢印を、先行作業の終了点から次の作業の開始点へと引きます。
  3. タスクの持続時間の注記: 各タスクの作業名を矢印の上に、所要時間を矢印の下にそれぞれ記入します。
  4. 最終的な確認: 図全体を見て、依存関係や作業の流れが正しく表現されているか確認します。

以上の手順により、次のようなアローダイアグラムが作成されます。

例2 ハンバーガーのレシピ

次の例として、ハンバーガーを作る過程をアローダイアグラムに表します。

ここでは、同時並行で開始できる作業を新たに表現します。この場合、アローダイアグラムが分岐します。そして、最終的に一つの結合点に終着するため、どこかで再び合流することになります。
※ちなみに、アローダイアグラムで表現されるプロジェクトの完了にはすべての分岐の全ての作業を実行する必要があります。

ハンバーガーを作る過程では、時間のかかるパテ(肉)を焼いている時間にバンズを焼いたり、野菜を用意したり、食器を準備したりすることができます。

まず、例1と同様に作業手順を洗い出し、以下のように表にまとめます。

作業作業内容先行作業所要時間(分)
Aパテを作る15
Bパテを焼くA10
Cバンズを焼く3
Dカットレタスの準備1
E具材をサンドするB、C、D5
F皿に盛りつけるE3

なお、「パテを作る」「バンズを焼く」「カットレタスの準備」は同時に開始できる作業ですが、結合点同士を結ぶ矢印は一つだけというルールがあるため、下図の左側の表現は誤った表現になります。下図の右側の図のように、作業時間0のダミー作業を用いて同時並行可能な作業を表現します。

以上を考慮に入れると、下のようなアローダイアグラムが作成されます。

ここで着目して欲しいのは、⑤の結合点から出る「E: 具材をサンドする」作業です。この作業は、焼きあがったバンズにパテとレタスをサンドする作業であり、同時並行可能な先行作業「B: パテを焼く」「C: バンズを焼く」「D: カットレタスの準備」が全て完了していないと着手することができません。

作業が合流する結合点では、その全ての作業(先行作業)が完了するのを待たないと、後続する作業に着手することができないという点に注意してください。(待ち合わせ場所で全員そろってから出発するイメージです)

システム開発のアローダイアグラムの例

続いて、下表のようなシステム開発のプロセスを例に、最早開始日・最遅開始日・クリティカルパスの3つについて説明します。

作業作業内容先行作業作業日数
A要件定義10
B設計A15
CプログラミングB20
D単体テストAC15
E単体テストBC10
F結合テストD、E10
Gインフラ構築B15
H運用テストF、G20

このプロセスをアローダイアグラムで記述すると、次のようになります。

最早開始日(最早結合点時刻)

最早開始日(最早結合点時刻)とは、プロジェクトスケジュールの中で、タスクが遅延せずに開始できる最も早い時刻を指します。

最早開始日は、プロジェクトの開始から順に、直前のタスクが完了するのに必要な時間を加算していくことで求められます。

複数の矢印が合流する結合点では、最も遅い作業の時間を加算します。

最遅開始日(最遅結合点時刻)

最遅開始日(最遅結合点時刻)は、プロジェクトスケジュールにおいて、タスクが遅延しない限り、最も遅く開始できる時刻を指します。

プロジェクトの完了日から逆算して求められます。最遅開始日を求めることで、各タスクにどれだけ余裕があるか(フロート)が分かります。

例えば、Gの「インフラ構築」作業は最早で開始25日目から着手できますが、開始55日目まで着手を遅らせることが可能です。つまり、30日間のフロートがあることが分かります。

クリティカルパス

クリティカルパスは、プロジェクトの開始から完了までの最長経路を指します。この経路上の作業は、遅れるとプロジェクト全体の遅延に直結するため、特に注意が必要です。

クリティカルパス上の作業は、最早開始日と最遅開始日が一致し、フロートが0になります。

アローダイアグラムの最早開始日と最適開始日を計算し、両者が一致するルートを結ぶことでクリティカルパスを特定できます。

プロジェクトマネージャは、クリティカルパスを把握し、リソースの配分やリスク管理に役立てることが重要です。

クリティカルパス例え話

クリティカルパスを例え話で説明します。

Aさん、Bさん、Cさんが急遽、客先に出張に出なければならなくなりました。3人は電話で相談し、できる限り早い時刻の新幹線で東京駅から新大阪駅へ移動することにしました。この時、車内で打ち合わせを行いたいので、3人そろって同じ新幹線に乗る必要があります。

Aさんが東京駅まで20分、Bさんが30分、Cさんが60分の位置にそれぞれいる場合、Cさんが遅れると全員の行動(新幹線への乗車)が遅れることになってしまいます。よってCさんの東京駅への移動はクリティカルパスに相当します。

一方、Aさん、Bさんの二人には時間的な余裕があります。Aさんは40分、Bさんには30分の遅れが許容されます。よってAさんのギリギリの行動開始時間(最遅開始日に例えています)は電話での相談から40分後、Bさんは30分後になります。もちろんCさんはすぐさま移動しなければならないので、時間的な余裕はありません。(クリティカルパスのため最早開始日と最遅開始日が一致)

しかし、ここでBさんの乗車する電車がトラブルで遅延し、東京駅まで80分かかることになってしまいました。この場合、クリティカルパスはCさんではなく、Bさんの東京駅への移動に変わります。なぜなら、Bさんの遅延が全員の次の行動(新幹線への乗車)に影響を与えるからです。

目次