【プロジェクトマネジメント】クリティカルパス法(CPM)計算方法

システム開発

はじめに

ここでは、プロジェクトマネジメントにて用いられる、”クリティカルパス法”(CPM: Critical Path Method)の計算方法について説明を行います。クリティカルパス法においては、”プレシデンス・ダイアグラム法” (PDM:Precedence Diagramming Method)などを用いクリティカルパスや作業重要度を特定する。

Critical path method - Wikipedia

(おさらい)クリティカルパスの計算

まずは通常のクリティカルパスについて計算をしてみましょう。

上記のような例の場合、

Start → A → B → C → H → End:8日

Start → D → E → F → G → H → End : 10日

の2つの経路があります。

クリティカルパスは、プロジェクトの全工程を線で結んだ際に”最長となる経路”のことですから、この場合はクリティカルパスは、②:10日 となります。

PDM計算方法

作業ボックス

クリティカルパスなどを求めるために、各アクティビティの、”最早開始日”・”最早終了日”・”最遅開始日”・”最遅終了日”・”トータルフロート”・”フリーフロート”などを計算していきます。

同じく、上記の例を用い各項目を計算していきます。まずは計算をしていくための作業ボックスを作成します。

この奇妙な箱(作業ボックス)は以下の意味を持つ箱になっています。

用語は以下の通り

用語意味
最早開始日
(ES:Early Start Date)
予定通りであれば、最も早く作業を開始できる日
最早終了日
(EF:Early Finish Date)
予定通りであれば、最も早く作業を終了できる日
最遅開始日
(LS:Late Start Date)
遅くとも、仕事を開始しないと、全体工期が守れない日
最遅終了日
(LF:Late Finish Date)
遅くとも、仕事を終了しないと、全体工期が守れない日
フロート
(F:Float)
余裕のある日数
TF ≧ FF となり、TF =FF がクリティカルパスとなる
トータルフロート
(TF:Total Float)
総余裕期間(最遅終了日 – 最早終了日)
最早開始日から遅延しても、全体工期に影響のない日数
フリーフロート
(FF:Free Float)
余裕期間(後続の最早開始日 と 現状の最早終了日の差から求める)
当該作業が遅延しても、直後の作業の最早開始日に影響のない日数

名前だけ見てもよくわからないと思いますので、実際に計算をしていきましょう。

①フォワードパス(往路時間計算)分析

最初に、各作業の”最早開始日”と”最早終了日”を計算していきます。

これらは、「Start」を起点とし、「End」まで足し算をしていって計算をしていきます。

フォワードパス(往路時間計算)分析

※本例では、Startを0日目と考えていますが、-1日目(A・Dのスタートを0日目)とする考え方もあります。

具体的な計算方法としては、以下2ステップです。

  1. 作業ボックスを移動するたびに1足して、左上(ES)に記載する。
    (0日のアクションではない限り)
  2. 右上(EF)= 左上(ES)+ (作業ボックスの所要期間 – 1) を記載する。

そのため、例えばBでは、

  1.  2(AのEF) + 1 = 3(ES)
  2.  3(ES) + 4(Bの所要期間) – 1 = 6(EF)

となります。

小難しく書きましたが、要は以下の通りだと思っていただければわかりやすいかと思います。

<作業所要期間> ※最早で作業できる日!

  • A: 1 ~ 2日目(+2日だから)
  • B: 3 ~ 6日目(+4日だから)
  • C: 7日目(+1日だから)

Hは、CとGを鑑みて、より遅い方からしか開始できないので、Gを起点として、10日目ということに名なります。(クリティカルパスと同じ考え方です)

②バックワードパス(復路時間計算)分析

次に、各作業の”最遅開始日”と”最遅終了日”を求めていきます。

これらは、所要日数を累積した全体工期をもととし、「End」を起点に「Start」まで逆算をしていきます。

②バックワードパス(復路時間計算)分析

方向が変わっただけで考え方としてはほとんど同じになります。(プラスマイナスが入れ替わっただけです。)

具体的な計算方法としては、以下2ステップです。

  1. 作業ボックスを移動するたびに1引いて、右下(LF)に記載する。
  2. 左下(LS)= 右下(LF)- (作業ボックスの所要期間 + 1) を記載する。

そのため、例えばCでは、

  1.  10(HのLS) – 1 = 9(LF)
  2.  9(LF) – 1(Bの所要期間) + 1 = 9(LS)

となります。

小難しく書きましたが、要は以下の通りだと思っていただければわかりやすいかと思います。

<作業所要期間>※最遅で作業できる日!

  • H: 10日目
  • C: 9日目(-1日だから)
  • B: 5~8日目(-4日だから)
  • A: 3~4日目(-2日だから)

いつまでに始めれば、工期を遅延しない(クリティカルパスを破らない)かを調べるものです。

③余裕日数(フリートフロート)分析

最後に、フロートについて計算を行い、クリティカルパスを決定します。

フロートは、”トータルフロート”と”フリーフロート”が存在します。

トータルフロート(TF)

トータルフロートは、各作業の”最遅終了日(LF)”から、”最早終了日(FF)”を減算します。

簡単ですね。要は”右下 – 右上”です。

トータルフロートは、”最早終了日から、何日遅延できるか?”を表しています。

そのため、トータルフロートがすべて0となる経路が、クリティカルパスとなります。

フリーフロート

フリーフロートは、”各作業の後続作業の最早開始日”から、”各作業の最早終了日 + 1日”を減算します。

要は、次の左上 – (右上 + 1日)です。

フリーフロートは、各作業の後続作業の最早開始日に影響を与えない日数のことです。

そのため、最も早く作業が終われば、次の作業にどれだけ余裕を持たせてあげられるか?を示します。

 

おわりに

本記事では、クリティカルパス法について簡単に説明をしました。

最終的な完成物は下になります。

クリティカルパス法を用いることで、クリティカルパスだけでなく、各工程の見通しや後続影響がわかりやすくなります。ぜひ活用してみてください。

Amazon.co.jp

コメント

タイトルとURLをコピーしました