クリティカルパス法(CPM)とは?期限を本当に左右するタスクの見つけ方
どのプロジェクトにも期限があります。しかし、期限を守るという点では、すべてのタスクが同じ重みを持つわけではありません。
一部のタスクは、1日や2日遅れても実際にはほとんど影響がありません。一方で、ほんの少し超過しただけで、プロジェクト全体の完了日まで一緒に後ろへずらしてしまうタスクもあります。どれがどちらなのかを知ることは、単に役立つだけではありません。状況をコントロールし続けたいプロジェクトマネージャーにとっては不可欠です。
それを見極めるのに役立つのが、まさにクリティカルパス法(CPM)です。
クリティカルパス法とは?
クリティカルパス法は、1950年代に DuPont と Remington Rand のエンジニアが開発したプロジェクトのスケジューリング手法です。もともとは大規模な産業プロジェクトで使われていましたが、今では建設からソフトウェア開発、マーケティングキャンペーンまで、あらゆる業界のプロジェクト管理における基礎的な概念になっています。
基本的な考え方はシンプルです。一連のタスクとその依存関係が与えられたとき、クリティカルパスとは、プロジェクトの最も早い完了日を決める、依存関係でつながったタスクの最長の連鎖のことです。
クリティカルパス上のタスクはフロートがゼロです(フロートは「スラック」とも呼ばれます)。フロートとは、プロジェクトの終了日を遅らせることなく、タスクを遅らせることができる時間の長さです。フロートがゼロのタスクには余裕がまったくありません。そこでの遅れは、すべての遅れにつながります。
なぜクリティカルパスが重要なのか?
製品ローンチを管理していると想像してください。次のような作業があります。
- コピーを書くコンテンツチーム(3日)
- ビジュアルを作るデザインチーム(5日)
- ランディングページを構築する開発チーム(コピーとビジュアルの両方に依存し、4日かかる)
- ランディングページをテストする QA(2日)
- ローンチ
デザイン作業はコピーより時間がかかります。開発チームは両方が終わるまで開始できないので、プロジェクトは5日目まで先に進みません。デザインが5日目に終わり、開発に4日、QA に2日かかるとすると、最も早いローンチは11日目です。
ここでのクリティカルパスは、デザイン > 開発 > QA > ローンチ(5 + 4 + 2 = 11日)です。コピーはクリティカルパス上にありません。3日目に終わるので、ボトルネックになるまでに2日のフロートがあります。
これこそが CPM から得られる洞察です。デザインチームのスケジュールが、ローンチ日を直接左右しています。コピーチームをさらにせかす必要はありません。守るべきはデザインチームの作業キャパシティです。
クリティカルパスの見つけ方
どんなプロジェクトでもクリティカルパスを見つけられる、わかりやすい手順を紹介します。
ステップ1:すべてのタスクを洗い出す
まず、プロジェクトを個別のタスクに分解します。大まかなレベルで済ませようとしないでください。細かく分解するほど、クリティカルパスの精度が上がります。
たとえば「機能 X を構築する」ではなく、「技術仕様を書く」「UI モックアップをデザインする」「フロントエンド開発」「バックエンド API 開発」「結合テスト」に分解します。
ステップ2:タスクの依存関係を定義する
各タスクについて、「これを始める前に何が終わっている必要があるか」を問いかけます。これが依存関係マップになります。最も一般的な依存関係のタイプは終了-開始(FS)で、タスク A が終わるまでタスク B を開始できません。ただし、より細かなニュアンスを表すほかのタイプ(開始-開始、終了-終了)もあります。
ステップ3:期間を見積もる
各タスクに現実的な所要時間の見積もりを割り当てます。可能な限り、実際に作業する人を巻き込みましょう。その人たちの見積もりは、トップダウンの推測より正確です。
ステップ4:ネットワーク図(またはガントチャート)を作る
すべてのタスクとその依存関係を視覚的に描き出します。これにはガントチャートが最も直感的な形式です。どの連鎖が最も長いのかが、すぐに見え始めます。
ステップ5:クリティカルパスを計算する
ネットワークを最初から最後までたどり、各タスクの最早開始日、最早終了日、最遅開始日、最遅終了日、フロートを計算します。フロート = 0 のタスクが、クリティカルパス上にあるタスクです。
実際には、LoopGantt のようなツールなら、タスク、期間、依存関係を入力するだけで自動的に計算してくれます。手作業での計算は必要ありません。クリティカルパス上のタスクはハイライト表示されるので、何が期限を左右しているのかがひと目でわかります。
クリティカルパスを扱うときによくある間違い
間違い1:計画後に放置する
クリティカルパスは一度計算すれば終わりではありません。プロジェクトが進むにつれてタスクの期間は変わり、新しい依存関係が生まれ、クリティカルパスが移ることもあります。1週目にはクリティカルではなかったタスクが、3週目にはクリティカルになっているかもしれません。定期的に見直しましょう。
間違い2:すべてのタスクを同じように扱う
リソースが限られていると、均等に分けたくなるものです。しかし、それが常に正しい判断とは限りません。クリティカルパス上のタスクに取り組む人たちのキャパシティを守ることを優先すべきです。
間違い3:外部の依存関係を忘れる
多くのクリティカルパス分析は、社内の作業だけに注目しています。しかし、ベンダーからの納品、法務レビューの完了、サードパーティ API の準備などにプロジェクトが依存しているなら、そうした外部のイベントも依存関係マップに含めるべきです。
間違い4:クリティカルパスは変えられないと思い込む
クリティカルパスが長すぎるのに期限を動かせない場合でも、選択肢はあります。可能な箇所でタスクを並行化する、クリティカルなタスクにリソースを追加する(クラッシング)、あるいはスコープを縮小する、といった方法です。遅れた納品をそのまま受け入れるのではなく、パスを精査し、どこを短縮できるか探しましょう。
準クリティカルパス:隠れたリスク
フロートが非常に小さい(たとえば1〜2日の)タスクは、クリティカルパス上にはありませんが、その一歩手前にあります。こうした準クリティカルパスは注意深く見守る価値があります。
準クリティカルなタスクがほんの数日遅れただけで、そのタスクはクリティカルパスに加わり、突然、期限を左右する作業の連鎖が1つではなく2つになります。フロートがゼロと表示されているタスクだけでなく、すべてのタスクのフロートを追跡しましょう。
LoopGantt でクリティカルパスを管理する
LoopGantt を使えば、クリティカルパスの管理は理論ではなく実践になります。タスク、期間、依存関係を設定してプロジェクトを作ると、クリティカルパスが自動的に計算されてハイライトされます。スプレッドシートの数式も、手作業のネットワーク図も必要ありません。
プロジェクトが進むにつれて、クリティカルパスはリアルタイムで更新されます。どのタスクに最も注意を払うべきか、どのタスクに余裕があるのかが常にわかります。
クリティカルパス分析は Free プラン(最大3件のプロジェクト)に含まれています。LoopGantt Pro は1ユーザーあたり月額 $5 または年額 $45 です。
まとめ
クリティカルパス法は、プロジェクト管理の雑音を切り抜けてくれます。すべてのタスクを同じように急ぎとして扱うのではなく、成果を左右しているのがどのタスクなのかを正確に教えてくれます。だからこそ、エネルギーを集中させ、スケジュールを守り、本当に期限どおりに納品できるのです。