「スケジュールに余裕がないのに、次々と差し込み依頼が来る……」
「どこを削って、どこを守ればプロジェクトが破綻せずに済むのか、客観的な判断基準が欲しい」

現場で日々スケジュールと向き合っていると、想定外のトラブルや遅延は避けて通れません。そんな時、どのタスクを死守し、どこなら調整が効くのか。

その判断基準を明確にする「PERT」と「クリティカルパス法(CPM)」について、現場での実践的な使い方を解説します

PERTやクリティカルパス法(CPM)とは

これらは、タスク(アクティビティ)の順序や依存関係を視覚化した「ネットワーク図」を用いてスケジュールを管理する手法です。一般的に「アローダイアグラム」と呼ばれることもあります。

PERTは主に「全体の所要期間がどれくらいになるか」の見積もりに強みを持ち、CPMは「どこが遅延のデッドライン(クリティカルパス)か」を特定することに特化しています。現代のプロジェクト管理では、これらを組み合わせて「PERT/CPM」として活用するのが一般的です。

ネットワーク図の種類

作業のつながりを表す図には、主に2つの書き方があります。

AOA:アクティビティ・オン・アロー(activity on arrow)

矢印(アロー)の上に作業名を書き、丸印(ノード)でイベントの区切りを表す形式です。

  • 矢印: 実際の作業。
  • 点線の矢印(ダミー): 作業時間はゼロですが、順序関係だけを示すために使います。
  • 丸印: 作業の結合点(イベント)。

AON:アクティビティ・オン・ノード(activity on node)

ノードの中に作業名を書き、それらを矢印でつなぐ形式です。現在のプロジェクト管理ツール(Microsoft Projectなど)やプレシデンスダイアグラム法(PDM)でよく使われるのはこちらの形式です。

  • ノード(箱): 実際の作業。作業名や期間、担当者などを書き込みます。
  • 矢印: 作業の順序関係(依存関係)。
  • ダミー作業: 不要。AOAと違い、論理的な矛盾を防ぐためのダミーを置く必要がありません。

直感的で、作業ごとの属性を書き込みやすいのが大きな特徴です。

プレシデンスダイアグラム法(PDM)の具体的な書き方やルールについては、こちらの記事で詳しく解説しています。

PERTの目的

PERTの最大の目的は、タスク同士の「依存関係」を明確にし、最も効率的な順序を導き出すことです。 WBS(作業分解構成図)でタスクを洗い出しただけでは、「Aが終わらないとBに取り掛かれない」といった前後の縛りが見えにくいものです。大規模なプロジェクトになればなるほど、この「つながり」を整理せずにスケジュールを引くと、後から必ず矛盾が生じてしまいます。

PERTの三点見積もり

現場のエンジニアなら、見積もりを出す際に「順調にいけば5日だけど、トラブルがあれば10日かかる」と悩むことが多々あるはずです。PERTでは、そうした不確実性を考慮して以下の3つの値を使います。

見積もり種類意味
楽観的見積もり(a)全てがスムーズに進んだ場合の最速タイム
標準的見積もり(m)通常のトラブルを考慮した、最も可能性が高い現実的なタイム
悲観的見積もり(b)最悪の事態を想定した、最大にかかるタイム

これらを以下の式に当てはめて、期待値(E)を算出します。

期待値 (E) =(a + 4m + b)÷ 6

なぜ単純な平均(3で割る)ではいけないのか?

「最高+現実+最悪」を足して3で割る「単純平均」では、悲観的な数値(最悪のケース)の影響を強く受けすぎてしまうからです。

例えば、「通常5日、最高4日、最悪20日」というタスクがあった場合、単純平均だと8日になります。しかし、実際には20日かかるのは極めて稀なケースであり、最初からスケジュールを8日と引いてしまうと、今度は逆に「余裕がありすぎてダラダラしてしまう(学生症候群)」のリスクが生まれます。

そこでPERTでは、最も確率が高い「標準値(m)」に4倍の重みをつけ、合計6で割ります。これにより、「現実的に起こりやすい5日」という感覚を大切にしつつ、最悪の事態への備えもわずかに加味した、「最も的中率が高い予測値」を導き出しているのです。

現場での活用ポイント

「5日で終わります!」と断言して、結局トラブルで8日かかってしまうと信頼を失います。一方で、最初からリスク全振りの「10日」と言うと、今度は期限ギリギリまで着手しないという心理的な油断を招く原因にもなります。

この三点見積もりで「最悪のケース(悲観値)」をあらかじめ合意しておけば、単なる勘ではなく、リスクの振れ幅を考慮した説明ができるようになります。「順調なら5日ですが、過去の類似トラブルを考慮すると最大10日かかるリスクがあるため、期待値として6日で設定しています」と伝えることで、ステークホルダーへの説得力と信頼感が格段に高まります。

クリティカルパス法(CPM)の目的

プロジェクト全体の中で「絶対に遅れが許されないタスク」を特定し、リソース(人員や時間)を重点的に投入するべき場所を明らかにすることが目的です。

クリティカルパスとは

プロジェクトのスタートからゴールまで、複数の経路がある中で「最も時間がかかるルート」のことです。 このパス上の作業が1日でも遅れると、プロジェクト全体の完了日も1日遅れます。文字通り「クリティカル(致命的)」な経路です。逆に言えば、ここに含まれない作業には、多少の「余裕」があることになります。

フロートとは

「特定の作業が何日までなら遅れても、プロジェクト全体の完了日に影響を与えずに済むか」という余裕時間のことを「フロート(またはスラック)」と呼びます。

クリティカルパス上の作業は、このフロートが「ゼロ」の状態です。リーダーとしては、常に「どのタスクにどれくらいのフロートがあるか」を把握しておくことで、トラブル時の人員調整(リソース・レベリング)が可能になります。

クリティカルパスとフロートの求め方

具体的な求め方を解説します。まずはWBSでタスクを出し、それぞれの期間を見積もっておく必要があります。

WBSの基本から、作業を漏れなく書き出すための具体的な手法をこちらで解説していますので、あわせてご参照ください。

所要期間が見積もれたら、それぞれのアクティビティの最も早い開始日と終了日、および最も遅い開始日と終了日を求めます。最早開始日と最早終了日、最遅開始日と最遅終了日を求めることでクリティカルパスが明らかになります。

下図を例にクリティカルパスとフロートの求め方を説明します。

【前提】
4月1日からプロジェクトを開始し、開始日と終了日には日だけを記述しています。また、休日は考慮していません。

クリティカルパスとフロートの求め方
クリティカルパスとフロートの求め方

①全てのアクティビティの最早開始日と最早終了日を求める

プロジェクトの開始から終了に向かってアクティビティをたどります。一番最初のアクティビティの最早開始日は4月1日になります。最早開始日に所要期間を足したものが最早終了日になります。

後続アクティビティは、先行アクティビティの最早終了日の翌日を最早開始日として最早終了日を計算します。以降、同様にして全てのアクティビティの最早開始日と最早終了日を求めていきます。

プロジェクト開始の4月1日から最後のアクティビティの最早終了日(図では作業Fの12日)までの日数が総所要期間になります。

②全てのアクティビティの最遅開始日と最遅終了日を求める

最早開始日と最早終了日が求まったら、今度は逆にプロジェクトの終了から開始に向かってアクティビティをたどります。

終了の直前のアクティビティに、①で求めた最早終了日(4月12日)を最遅終了日に設定します。最遅終了日から所要期間を引いたものが最遅開始日になります。

先行アクティビティは、後続アクティビティの最遅開始日の前日を最遅終了日として最遅開始日を計算します。以降、同様にして全てのアクティビティの最遅開始日と最遅終了日を求めていきます。

③全てのアクティビティのフロートを求める

わかりやすいように図のアクティビティを表にします。前述の通り、フロートは下記の式で計算して記述します。

 フロート=最遅終了日ー最早開始日ー所要期間

アクティビティ所要期間最早開始日最早終了日最遅開始日最遅終了日フロート
作業A6日4月1日4月6日4月5日4月10日4
作業B3日4月1日4月3日4月1日4月3日0
作業C2日4月1日4月2日4月5日4月6日4
作業D7日4月4日4月10日4月4日4月10日0
作業E3日4月3日4月5日4月7日4月9日4
作業F2日4月11日4月12日4月11日4月12日0
作業G3日4月6日4月8日4月10日4月12日4

③クリティカルパスを特定する

クリティカルパスの作業はいずれも余裕がなく繋がっています。つまり、フロートがゼロのアクティビティがクリティカルパスということです。

この例では、作業B、作業D、作業Fがクリティカルパスのアクティビティであることが特定できます。

まとめ:プロジェクトを「見える化」して守り抜く

PERT/CPMは、単なる管理理論ではなく、現場で「どこに注力すべきか」を判断し、チームを迷わせないための強力な武器になります。

  • 根拠のある見積もり: 三点見積もりを使うことで、担当者の「勘」を組織の「予測」に変えることができます。
  • リスクの特定: クリティカルパスを明確にすれば、トラブル時に「絶対に死守すべきポイント」にリソースを集中投下できます。
  • 柔軟な調整: フロート(余裕)を把握しておくことで、急な割り込み案件にも「いつから着手可能か」を論理的に回答できるようになります。

まずは身近な小規模案件から、ネットワーク図を書いてタスクの「つながり」を意識することから始めてみてください。その一歩が、厳しい現場を切り抜ける確かな力になるはずです。

現実的な開発スケジュール作成術|WBSからクリティカルパスまで6ステップで徹底解説開発スケジュールの立て方に悩むPM・リーダー必見!WBS作成後の「依存関係・工数見積・リソース調整・バッファ管理」など、現実的な計画に落とし込むための6ステップを専門用語を交えて徹底解説。パーキンソンの法則を防ぎ、納期を死守するための実践的なPM技術が身につきます。...
ABOUT ME
hidechi
メーカーに入社し、その後IT部門が分社独立、情報システムエンジニアとして30年以上勤務しています。これまで多くのプロジェクトに携わり、それらの経験から得た知見を覚え書きとして記録することで、厳しい現場で奮闘しているSEの皆さんの一助となれば幸いです。