クリティカルパスとは?プロジェクト管理に役立つ手法を解説

Asana チームの寄稿者の画像Team Asana2023年1月13日
facebooktwitterlinkedin
クリティカルパス法記事バナー画像
View Templates

概要

クリティカルパス法 (Critical Path Method, CPM) とは、プロジェクトを完了させるために実行しなければならないタスクを特定する手法です。プロジェクト管理におけるクリティカルパスとは、一連のタスクが要する所要時間のうち、パス (経路) が最長となるものを指します。この記事では、この手法をプロジェクト管理にどう活用するのか、クリティカルパスの書き方、求め方や CPM の計算方法などをご紹介します。

更新: この記事は、クリティカルパスの求め方に関する情報をさらにわかりやすく記述し、2023年 1月に改訂されました。

プロジェクト目標達成には、ロードマップを作成してタスクをプロセスを可視化することが不可欠です。その際に役立つのが、クリティカルパスです。この手法を用いることで、プロジェクトを完了するために対応が求められる重要 (クリティカル) なタスクを見極め、プロジェクト管理に役立てることができます。

またこの手法を活用すると、タスクの依存関係を管理したり、現実的な期間設定も可能になります。この記事でクリティカルパスのポイントをチェックして、プロジェクトのタイムライン最適化に役立てましょう。

Asana でプロジェクトのタイムラインを追跡する

クリティカルパスとは?

クリティカルパスとは、プロジェクトの全工程を最短時間で完了するために重要な作業経路のことを言います。

重要な作業 (タスク) を特定することで、スケジュールの柔軟性も判断することができるようになります。プロジェクトには複数のタスクが存在し、個々のタスクを終わらせなければプロジェクトは完了しません。その一連のタスクを結んだとき、一番時間かかる最長経路のことをクリティカルパス (Critical path) というわけです。

クリティカルパスの重要性とは?

クリティカルパス (重要タスク) に遅れがあると後続する作業にも影響が現れ、プロセス全体も遅延してしまうので、クリティカルパスを特定しておくことはとても重要です。そのためにはまずプロジェクトタイムライン上でタスクの依存関係を把握、タスクの期間を計算し、そして最も重要なタスクを発見していきます。

詳しくは下記の『クリティカルパスの求め方と書き方』をご覧ください。

クリティカルパスの歴史

クリティカルパスは 1950年代後半、非効率なスケジューリングによるコスト増の問題を解決する手法として開発されました。それ以来、プロジェクトの計画やタスクの優先順位付けの手法として普及。複雑なプロジェクトを個々のタスクに分解、効率化し、プロジェクトの柔軟性を見極めるのに活用されています。 

クリティカルパスのメリットと使い方

クリティカルパスのメリット

クリティカルパスは、プロジェクトの計画、リソースの割り当て、タスクのスケジュール設定などマネジメントに役立ちます。具体的にクリティカルパスにはどんなメリットがあり、どのような目的のために活用することができるのでしょうか。知っておきたいクリティカルパスのポイントをまとめます。

・柔軟なスケジュール管理ができる

・能率的にリソース管理ができる

・今後に役立つデータが入手できる

・ボトルネックを回避できる

柔軟なスケジュール管理ができる

プロジェクトの締め切りは、思いがけず前倒しになることもあります。そのような突然のスケジュール変更に直面したときも、前もってクリティカルパスを把握しておけば柔軟に対応することができます。

スケジュールの短縮方法には「ファストトラッキング」と「クラッシング」の 2 つの手法があります。

  • ファストトラッキング: 複数のタスクを並行して実行し、全体の所要期間を短縮する手法です。クリティカルパスが明確なら、同時進行できるタスクをすぐに見つけることができます。このとき、タスク間に依存関係がないことを確認しましょう。

  • クラッシング: リソースを増やして作業を高速化する手法です。リソースを増やす前に、プロジェクトスコープの範囲内であることを確認し、変更内容はすべてステークホルダーに知らせるようにしましょう。

事前に描いておいたクリティカルパスがあれば、前倒しになった締め切りに間に合うよう、最適な戦略を選択することができます。

記事: ファストトラッキングとクラッシング: プロジェクトのスケジュールを短縮するヒント

能率的にリソース管理ができる

クリティカルパスを活用することで、プロジェクトマネージャーはタスクの優先順位付けリソースの配置方法の見極めをより容易に行うことができるようになります。

一方で、この手法ではリソースの可用性は考慮されていません。チームメンバーの過密スケジュール、機器や設備の不足など、リソース不足の問題は、リソース平準化の手法を使って解決しましょう。

リソース平準化は、リソースの過剰な割り当てを解消し、現状のリソースを活用してプロジェクトを完了させることを目指す手法です。活用するときは、プロジェクトの開始日と終了日を調整します。クリティカルパスの再調整ができない場合は、フロートのあるタスクに限定して実行してください。

記事: チームのインパクトを最大化したいなら、リソース配分をおすすめします。

今後に役立つデータが入手できる

クリティカルパスは、前もって想定された作業と実際の進捗状況を比較するのに役立てることができます。現在のプロジェクトで使用しているデータは、今後のプロジェクト計画に反映可能です。

プロジェクトの進行に伴い、当初のクリティカルパスと、実際のクリティカルパスを比較しましょう。その比較データは、今後のプロジェクトの精度を高めるために有用です。タスク期間を見積もる際に、参考にしてください。 

ボトルネックを回避できる

プロジェクトにボトルネックがあると、貴重な時間が無駄になってしまいます。クリティカルパスでは、プロジェクト内タスクの依存関係をネットワーク図で示すことができるので、並行して実行できる作業とそうでない作業とを分別したスケジュール作成をすることができます。

クリティカルパスの求め方と書き方

クリティカルパスはどうやって見つけ、そして特定するのでしょうか。クリティカルパスの求め方を、例を挙げながらステップごとに解説します。

クリティカルパスの見つけ方

クリティカルパスを求めるときは、専用のテンプレートを使うと効率的です。Asana では、個々のニーズに合わせてカスタマイズできるクリティカルパスのテンプレートをご利用いただけます。

クリティカルパス法テンプレートを作成

1. タスクをリストアップする

まずはじめに、プロジェクトを完了するために必要となる作業やタスクをすべてリストアップします。このステップは、作業分解構成図を用いて行いましょう。ここで作成されるタスクリストはクリティカルパスのベースとなります。

作業のリストアップ

たとえば、マーケティングチームがインタラクティブなブログ記事を新たに制作するとします。作業分解構成図には次のようなタスクが含まれるでしょう。

作業分解構成図

「下書きを作成」や「記事を投稿」など、リストアップされたひとつひとつのタスクがクリティカルパスの基礎となるわけです。必要な作業が明確になったら、次のステップに進みます。

2. タスク間の依存関係を把握する

作業分解構成図に基づいて、タスク間の依存関係を確認していきます。これにより、他のタスクと並行して行える作業の有無についてもチェックすることができます。

上記の例に基づいたタスクの依存関係は以下のとおりです。

  • タスク B はタスク A に依存する

  • タスク C はタスク B に依存する

  • タスク C とタスク D は並行して実行できる

  • タスク E はタスク D に依存する

  • タスク F はタスク C、タスク D、タスク E に依存する

このような依存関係を表すタスクリストは作業シーケンス (順序) と呼ばれ、クリティカルパスの決定に用いられます。 

3. ネットワーク図を作成する

このステップでは、作業分解構成図からネットワーク図を作成します。クリティカルパスにおけるネットワーク図とは、作業を時系列で示すフローチャート (工程表) のことです。タスクごとにボックスを作り、タスクの依存関係を矢印で図示します。 

時間的制約がある要素をネットワーク図に追加していくことで、最終的にプロジェクトの大まかなスケジュールが固まってきます。 

記事: 工程管理の基礎知識と効率的に行う方法を解説

4. タスクの所要期間を推定する

プロジェクトの工程がおおよそ特定されたら、次はそれぞれのタスクがどの程度の時間を要するのか定めます。クリティカルパスとは一連の重要タスクの最長経路のことなので、各作業の所要時間を見積もるのはクリティカルパスを計算するうえで重要な作業です。 

所要期間の見積もりには、以下の方法を試してみてください。 

  • 経験と知識に基づいて推測する

  • 過去のプロジェクトのデータをもとにする

  • 業界標準をもとにする

このほかに、往路時間計算 (フォワードパス)、復路時間計算 (バックワードパス) という手法もあります。

  • フォワードパス: 事前に指定された開始日から順々に、最早開始日 (ES) と最早終了日 (EF) を計算する方法です。ES は先行作業の EF のうち最大値であり、EF は「ES + 所要期間」です。計算するときは、最初の作業の ES で「0」から始まり、スケジュールの進行に沿って進んでいきます。ES と EF の日付を決定すると、プロジェクトに対して早期にリソースを割り当てることができます。

  • バックワードパス: 最遅開始日 (LS) と最遅終了日 (LF) を計算する方法です。LS は、「LF - 所要期間」で、LF は後続作業の LS のうち最小値です。計算するときは、スケジュールの最後の作業から始まり、スケジュールの初めまで逆算していきます。    

この方法を使えば、ES と LS、終了日をもとに、各タスクのフロート (スケジューリングの柔軟性) を算出することができます。 

5. クリティカルパスを計算する

タスクの所要時間を特定したら、次のステップはクリティカルパスの算出です。クリティカルパスの計算はどうやって行えばいいのでしょうか。手動でもできますが、アルゴリズムを用いると時間短縮につながります。 

手動でクリティカルパスを計算する手順

ステップ 1: 各タスクの横に開始日と終了日 (または開始時刻や終了時刻) を書きます。

  • 最初のタスク開始日を 0 とし、終了日がそのタスクの所要期間となります。

  • 次のタスクの開始日は直前のタスク終了日です。このタスク終了日は、開始日に所要期間を加えたものになります。

  • すべてのタスクも同じように計算します。

ステップ 2: シーケンスの中で最後となるタスクの終了日をもとに、プロジェクト全体の所要期間を求めます。 

ステップ 3: ステップ2 で算出された所要時間のうち、最も長い作業シーケンスはどれかを見極めます。その最長シーケンスが、クリティカルパスです。

前述の例をもとにしたクリティカルパス図は次のようになります。クリティカルパスの書き方として、参考にしてみてください。 

クリティカルパスを手動で計算する手順

把握したクリティカルパスをもとに、実際のプロジェクトのスケジュールを組み立てます。

6. フロートを算出する

フロート (スラック) とは、タスクの柔軟性の高さを指します。後続するタスクやプロジェクトの終了日に影響が出ない、タスク遅延の許容範囲のことです。 

フロートを見極めておくと、プロジェクトの柔軟性を判断するのに役立ちます。フロートは、プロジェクトにおけるリスクや不測の事態への対応を想定したリソースであるわけです。

クリティカルなタスクは日程が決まっており、フロートはゼロになります。フロートが正の値であるタスクは、非クリティカルパスに属し、遅延してもプロジェクトの完了日に影響は出ません。非クリティカルなタスクは、時間やリソースが不足する場合には省略できます。 

フロートは、アルゴリズムを用いるか、もしくは手動でも計算できます。フロートには「トータルフロート」と「フリーフロート」の 2 つのタイプがあり、それぞれで計算方法が異なるのでこちらで確認しておきましょう。 

トータルフロートとフリーフロートの計算方法

2 種類のフロートの意味と計算方法は次のとおりです。

  • トータルフロート: プロジェクト終了日の遅延や、スケジュール制約条件からの逸脱が出ない範囲で、ある作業の開始を最早開始日から遅らせることができる期間です。トータルフロートは「LS - ES」または「LF - EF」で算出します。

  • フリーフロート: 後続のタスクに遅延が出ない範囲で、ある作業の開始を遅らせることができる期間です。フリーフロートができるのは、2 つ以上の作業に共通して 1 つの作業が後続する場合のみとなります。ネットワーク図を見ると、作業が一つに収束する箇所です。フリーフロートは「ES (次のタスク) - EF (現在のタスク)」で算出します。

フロートをしっかり理解しておくと、どんなメリットがあるのでしょうか。たとえば、プロジェクトマネージャーにとっては次のポイントが挙げられます。

  • プランどおりにプロジェクトを進行できる: プロジェクトのトータルフロートを監視することで、プロジェクトが順調に進んでいるかどうかを判断することができます。フロートが大きいほど、早期または予定どおりに終了する可能性が高くなります。  

  • 優先順位付けができる: 作業にフリーフロートがあるかどうかを見極めることで、優先すべきタスク、先送りする余裕があるタスクを把握することができます。

  • 有用なリソースとなる: フロートとは、プロジェクトにおけるリスクや不測の事態への対応にあてられる時間的な余裕ともとらえることができます。フロートの量を把握しておくと、時間を有効に活用できます。

クリティカルパスと PERT の違い

クリティカルパスと似たプロジェクト管理方法に、プロジェクト評価レビューテクニック (Program Evaluation and Review Technique) があります。頭文字を取って PERT と呼ばれる手法です。この 2 つのテクニックは、どちらも 1950年代に開発されました。

PERT では、楽観値と悲観値の加重平均を用いて、プロジェクトの各作業について不確実性を推定します。そして、作業を完了するために必要な時間を評価します。 

PERT は、作業にかかる所要期間の範囲を、次の 3 つの推定値から求めます。

  1. 最も可能性の高い推定値 (M)

  2. 楽観値 (O)

  3. 悲観値 (P)

PERT で用いる計算式は、「推定期間 = (O + 4M + P) / 6」です。

PERT とクリティカルパスの大きな違いは、作業の所要期間の確実度です。前者が作業を完了するのに必要な時間を推定するために用いるのに対し、後者は作業期間がすでに推定済みの場合に用います。 具体的に 2 つの手法の違いを見てみましょう。

  • PERT は不確実なプロジェクトのタスクを管理し、クリティカルパスは予測可能なプロジェクトのタスクを管理する。

  • PERT はプロジェクトの期限内での達成や期間短縮を図り、クリティカルパスは時間とコストの最適化を図る。

  • PERT は確率的モデル、クリティカルパスは決定論的モデル。

  • PERT は各作業に対して推定値が 3 つあり、クリティカルパスは 1 つのみ。

一方で、共通する部分もあります。PERT でもクリティカルパスでも、次に挙げる項目を分析対象としているところです。

  • 遂行すべきタスクのリスト

  • 各タスクの推定所要期間

  • タスクの依存関係

この 2 つの手法は、同時に用いることでより高い効果が得られます。PERT で用いられるネットワーク図のことを PERT 図と呼びますが、クリティカルパスやフロートの算出を行う前に PERT 図を活用すると、より正確にタスクの所要期間を予測することができます。

記事: PERT チャート (PERT 図): 実例付き解説

クリティカルパスとガントチャートの違い

ガントチャートは、プロジェクトの作業計画を示す横棒グラフで、設定されたタイムラインに沿って追跡することができます。クリティカルパスもガントチャートも、タスク間の依存関係を示します。 

この 2 つのツールの違いを確認しましょう。

クリティカルパス

  • 重要タスクと非重要タスクを可視化し、プロジェクトの所要期間を算出する

  • ボックス同士を矢印で結んだネットワーク図でタスクを表示する

  • リソース所要量の情報は含まない

  • 作業計画をネットワーク図にするがタイムスケールは含まない

ガントチャート

  • プロジェクトのタスク進捗状況を可視化する

  • 横棒グラフでタスクを表示する

  • 各タスクのリソース所要量を表示する

  • 作業計画にタイムスケールが含まれる

ガントチャートをクリティカルパスと組み合わせると、経時的にクリティカルパスを追跡し、スケジュールどおりにプロジェクトを進めることができます。 

【まとめ】クリティカルパスを利用して効率的なプロジェクト管理を行う

プロジェクトマネジメント、とりわけタスク計画やリソース管理に役立つ手法「クリティカルパス法 (CPM)」について解説しました。クリティカルパスとは何か、何に使うのか、どうやって見つけるのか、クリティカルパスの書き方などの押さえておきたいポイントを理解して、今後のスムーズなプロジェクト管理に役立てましょう。

また、クラウド型プロジェクト計画ツールを使えば、システム化が容易となり、スケジュール作成やプロジェクトの追跡作業がさらに楽になります。仕事の効率をさらに向上させるには、今日から生産性を高めるための 12 のヒントをご覧ください。

電子書籍をダウンロード: ワークマネジメントとは?チームがワークマネジメントを必要とする理由

関連リソース

記事

意思決定マトリクス: 簡単に作成できる 7 つのステップ (実例付)