納期は動かせないのに、計画は 3 週間はみ出している。計画を軌道に戻す手法は 3 つあります。ファストトラッキングは順序を詰め、コンタリングは負荷配分を整え、クラッシングは予算で時間を買います。本記事では 3 つの違いと使いどころ、そして Merlin Project での具体的な進め方を説明します。
どのスケジュールもいずれ圧力にさらされます。サプライヤーが遅れ、承認に時間がかかり、展示会の日程が前倒しになる。最初の反応はたいてい、帳尻が合うまで期間を削ることです。しかしそれは計画ではなく、紙の上の希望的観測にすぎません。
プロジェクト管理には、この場面で使える手法が 3 つあります。それぞれ着手点が異なります。ファストトラッキング は順序を変え、アクティビティを直列ではなく並行で進めます。クラッシング はリソースを追加して個々のアクティビティを短縮します。コンタリング はアクティビティ内部の作業配分を変え、負荷が実際に発生する位置に合わせます。ファストトラッキングはリスクで、クラッシングは費用で、コンタリングは自分の計画を正確に見直す手間だけで支払う手法です。
ファストトラッキングとは
ファストトラッキングは、直列で計画されていたアクティビティを並行させることでプロジェクト期間を短縮します。後続は先行が完了する前に着手します。作業量は変わらず、計画の積み方だけが密になります。
製品開発の例で考えます。コンセプト 4 週間、実装 6 週間、テスト 4 週間。直列に並べると 14 週間です。中核要件が固まった時点で実装に着手し、最初のモジュールが仕上がった時点でテストを始めれば、2 か所の引き継ぎがそれぞれ 2 週間ずつ重なります。14 週間が 10 週間になります。
ファストトラッキング:同じ作業を、より密に積む
3 つのアクティビティによる製品リリース、当初 14 週間
直列で計画 14 週間
ファストトラッキング適用後 10 週間
プロジェクト週
ファストトラッキングが有効な場合とそうでない場合
重ねられるかどうかは、アクティビティ間の 依存関係 の種類で決まります。
強制依存は物事の性質から生じます。コンクリートは次の層を打つ前に養生が必要です。発注の前には契約の締結が必要です。この順序は並行化できません。無理に重ねれば不良や責任問題につながります。
任意依存は慣習や慎重さ、社内の取り決めから生じます。「コンセプトが承認されてから着手する」といった運用です。技術的にはもっと早く着手できる場合が少なくありません。ファストトラッキングが効くのは、まさにここです。
実務上の判断基準は次の問いです。後続が意味のある形で着手するには、先行のどの部分が固まっている必要があるか。その部分を前倒しし、残りを重ねます。この問いに答えられない場合、その依存関係はおそらく強制依存であり、ファストトラッキングは適切な手段ではありません。
同様に重要なのは、クリティカルパス 上でのみ重ねることです。フロート を持つアクティビティは、いくら前倒ししてもプロジェクト終了日は動きません。また、重ねるたびにクリティカルパスが別の経路へ移ることがあり、それが次の一手を決めます。
クラッシングとは
2 つ目の手段は同じ場所に働きかけますが、手段が異なります。クラッシング は個々のアクティビティにリソースを追加して期間を短縮します。増員、残業、休日作業、外部への委託などです。順序はそのままで、費用が増えます。ファストトラッキングがリスクで支払うのに対し、クラッシングは予算で支払います。
どのアクティビティから短縮するかは、コストスロープが答えます。追加費用を短縮できる時間で割った値です。
(短縮時の費用 - 通常の費用)÷(通常の期間 - 短縮後の期間)
あるアクティビティを 2 週間短縮するのに 600,000 円、別のアクティビティを 1 週間短縮するのに 250,000 円かかるとします。後者は 1 週あたり 250,000 円で、絶対的な短縮量は小さくても着手先として割安です。この順序で、常にクリティカルパス上のみで短縮し、1 手ごとに再計算してください。
ただしクラッシングには財務以外の限界があります。増員した人員には習熟が必要で、調整の手間も増えます。すでに遅延している案件では、増員がかえって完了を遅らせることがあります。ブルックスの法則として知られる現象です。分割しやすく調整の少ない作業は短縮に向きますが、構想系の作業はほとんど向きません。
アムダールの法則:並行化の上限
リソースを追加してどこまで速くできるかは、必ず順番に進めるしかない部分の割合で決まります。ジーン・アムダールが 1967 年にプロセッサ向けに定式化したものですが、人が対象でも構造は同じです。
S(n) = 1 / (s + p / n)
s は逐次部分の割合、p は並行化できる部分の割合で s + p = 1、n はリソースの数、S(n) はリソース 1 つの場合と比べた短縮率です。n が大きくなるほど p/n は小さくなり、短縮率は 1/s に近づきますが、それを超えることはありません。
12 人日のアクティビティのうち、コンセプト、承認、検収の 3 人日が逐次であれば s = 0.25 です。2 人で進めた場合は S = 1 / (0.25 + 0.75 / 2) = 1.6 となり、12 日は期待どおりの 6 日ではなく 7.5 日にしかなりません。5 人でも 4.8 日で、人数をいくら増やしても 3 日を下回ることはありません。クラッシングの前に、そのアクティビティのどの部分が実際に分担できるのかを確認してください。
コンタリングとは
コンタリングとは、リソースの作業がアクティビティの期間内でどのように配分されるかを指します。計画ツールは既定で均等配分を前提とします。40 時間を 10 日間に割り当てれば、1 日あたり 4 時間です。しかし実際には、そのように進むアクティビティはほとんどありません。
コンセプト段階は立ち上がりが重く、後半で軽くなります。検収は不具合リストの処理が始まる終盤で重くなります。展示会の設営は、設営と撤収で 2 つの山ができます。コンターは、実際にいつどれだけ作業するのかを表します。
4 つの作業配分、いずれも同じ 40 時間
10 営業日のアクティビティ、1 日あたり最大 8 時間
均等
立ち上がりも収束もない定常作業
ピーク:1 日 4 時間
前倒し型
分析、コンセプト、初期設定
ピーク:1 日目に 8 時間
後ろ倒し型
テスト、検収、不具合対応
ピーク:10 日目に 8 時間
山型
工区、立ち上がりのあるキャンペーン
ピーク:中盤に 7 時間
均等配分がコストになる理由
「40 時間を 10 日間で」という計算は一見無害ですが、2 つの誤りを同時に隠します。
第 1 に、過負荷が見えなくなります。同じ担当者の 2 つのアクティビティがそれぞれ 1 日 4 時間であれば、合計は 100 パーセントとなり、計画上は問題なく見えます。しかし両者の実際のピークが同じ週に重なれば、その週には 1 日 16 時間が必要になり、他の週はほとんど空きます。平均値は整って見え、衝突は実行段階で初めて表面化します。
第 2 に、空き稼働が消えます。2 週目に 1 日 1 時間しか埋まっていないリソースも、均等配分では半分埋まっているものとして扱われます。実際には存在する余力が、並行プロジェクトに割り当てられません。コンタリングはこの余力を計画に戻します。
だからこそコンタリングは、意味のあるファストトラッキングの前提になります。実際の負荷のピークを把握せずに重ねれば、同じ担当者を同じ時期に 100 パーセント必要とする 2 つのアクティビティを並行させることになります。計画は短く見えても、チームは結局は順番に作業します。
3 つの手法の比較
3 つの手法、目的は 1 つ、代償はまったく異なります。どの場面でどれを検討するか、何を支払うのかを整理します。
| ファストトラッキング | クラッシング | コンタリング | |
|---|---|---|---|
| 別称 | 並行化、重ね合わせ | リソース投入による短縮 | 作業プロファイル、作業配分 |
| 着手点 | アクティビティの順序 | 個々のアクティビティの期間 | 作業の配分 |
| 効果 | プロジェクト期間の短縮 | プロジェクト期間の短縮 | 現実的な利用状況 |
| 費用 | 直接の費用なし | 人件費と物件費の増加 | なし |
| リスク | 手戻り、品質低下 | 調整の手間、習熟 | ピークの見誤り |
| 前提 | 任意依存であること | 分割・加速できる作業 | 作業の推移を把握していること |
| 検討の目安 | 納期が固定で時間が足りない | 予算に余地がある | すべての要員計画 |
実務での順序は次のとおりです。まずコンタリング。費用がかからず、以降のすべての判断の土台になるからです。次にファストトラッキング。予算を必要としないからです。クラッシングは最後です。直接的に費用が発生する唯一の手法だからです。
Merlin Project での進め方
順序が結果を左右します。先に並行化し、後から利用状況を確認する進め方では、問題が時間軸からリソースへ移るだけです。以下の手順はこの順序を守り、各ステップを Merlin Project でどう実行するかを示します。順序のロジックと利用状況が同じファイルにあるため、ガントチャートで重なりを作り、ひとつ隣のビューでチームへの影響をそのまま確認できます。
1. クリティカルパスを特定する
短縮が効くのは クリティカルパス 上だけです。フロート を持つアクティビティに時間を投じても、納期は動きません。しかもクリティカルパスは詰めるたびに移動するため、この工程は一度きりの準備ではなく、各ステップ後の確認作業になります。
Merlin Project では、ツールバーの稲妻アイコンでクリティカルパスの表示を切り替えます。どの連鎖が納期を決め、どのアクティビティに余裕があるかがガントチャート上ですぐに分かります。個別の依存関係については、「期待されるクリティカル」「予定クリティカル」の列が同じ問いに詳細に答えます。
稲妻アイコンをクリックするだけ
ツールバーの稲妻アイコンで、クリティカルパスの表示を切り替えます。有効にすると、納期を決めるアクティビティと依存関係が赤で表示されます。例では、手描きスケッチから基本設計・実施設計を経て躯体工事へと連鎖が続いています。青のまま残る要素にはフロートがあり、そこを詰めても手間がかかるだけで納期は動きません。バー、依存関係、フロートの関係は ガントチャートのガイド で解説しています。
2. 作業配分を現実に合わせる
何かを重ねる前に、対象アクティビティの負荷が実際にいつ発生するのかを把握する必要があります。これがコンタリングの役割です。平均値で計画すると、その重なりが成立するのか、2 つのピークが衝突するのかを後から判断できません。
Merlin Project にはこのための専用項目がありません。アクティビティは常に期間内で作業を均等に配分します。利用状況を下げても変わりません。利用状況は割り当て全体に作用し、個々の日には作用しないためです。使うのは「予定作業時間」と「予定所要期間」の 2 つの値です。作業量は負荷、期間はそれを消化する枠を表します。作業量 40 時間、期間 10 日であれば 1 日 4 時間になります。
不均等なコンターは、アクティビティを区間に分割し、区間ごとに値を与えることで表現します。同じ「コンセプト」というアクティビティ(40 時間、10 営業日)を 4 つの形で表すと次のようになります。
| コンター | 作業量と期間によるサブアクティビティ | 1 日あたりの結果 |
|---|---|---|
| 均等 | 1 つのアクティビティ:作業量 40 時間、期間 10 日 | 毎日 4 時間 |
| 前倒し型 | 24 時間 / 3 日、次に 10 時間 / 3 日、次に 6 時間 / 4 日 | 8 時間、次に 3.3 時間、次に 1.5 時間 |
| 後ろ倒し型 | 6 時間 / 4 日、次に 10 時間 / 3 日、次に 24 時間 / 3 日 | 1.5 時間、次に 3.3 時間、次に 8 時間 |
| 山型 | 6 時間 / 3 日、次に 28 時間 / 4 日、次に 6 時間 / 3 日 | 2 時間、次に 7 時間、次に 2 時間 |
区間どうしを「終了 - 開始」で結び、グループにまとめれば、計画は読みやすいままで、グループが作業量と期間を元のアクティビティの値に再集計します。この手間はどこでも必要というわけではありません。クリティカルパス上の長いアクティビティ、そしてリソースが逼迫している箇所、つまりこれから重ねようとしている箇所で効果があります。一方、定期的な不在はコンターではなく リソースカレンダー で扱います。
3. ピークがずれている箇所で重ねる
ここで初めて、意図的に重ねます。前倒し型の先行と後ろ倒し型の後続は、一方の静かな終盤ともう一方の静かな序盤が重なるため、大きく重ねても耐えられます。逆の組み合わせでは、重なりの区間でピークどうしが衝突し、短縮効果が過負荷に変わります。
Merlin Project において、ファストトラッキングは独立した機能ではなく、依存関係の性質です。2 つのアクティビティを結ぶ線をクリックすると依存関係のインスペクタが開き、「リード/ラグ」の項目にマイナス値も入力できます。符号が向きを決めます。「終了 - 開始」の依存関係では、「リード/ラグ」2 日で後続が後ろへずれ、「リード/ラグ」-2 日で前へ動きます。後続は先行の終了 2 日前に着手し、この 2 日が重なりです。2 つのアクティビティを原則として同時に開始させたい場合は、種類を「終了 - 開始」から「開始 - 開始」に変更します。
重なりは開始日の固定ではなく「リード/ラグ」として管理することが重要です。日付を固定すると依存関係が切れ、先行が動いても Merlin Project は後続を再計算しなくなります。
冒頭の例に戻ります。実装とテストが 2 週間重なっています。この期間はテスト環境の構築が中心で、テスト自体はまだ立ち上がり段階であれば、重なりの代償はほぼありません。逆に、テストの序盤のピークが実装の終盤のピークと重なり、両方が同じ担当者に依存していれば、短縮した 4 週間は計算上の数字にすぎません。どちらに当たるかは、次のステップで確認できます。
ファストトラッキングは「リード/ラグ」で実現する
ファストトラッキングは、既存の依存関係の「リード/ラグ」で実現します。そこにマイナス値、たとえば -2 日 を入力すると、「終了 - 開始」の依存関係では後続が 2 日前へ動き、先行の完了前に着手します。プラス値はその逆で、待ち時間として後ろへずらします。依存関係の作成と調整は コンテキストとロジックの追加 のレッスンで解説しています。
4. 利用状況を再計算し、平準化する
重ねた後に計画が過負荷を示すなら、短縮した時間は実質的なものではなく、時間軸からリソースへ移っただけです。チームは依然として順番に作業し、計画上の見え方だけが変わっています。
これを検証するのが作業配分のビューです。赤い日は過負荷を意味します。どの水準から赤で表示するかは、設定の利用状況の項目で、過負荷と低負荷のしきい値として指定します。過負荷が解消しない場合は リソース平準化 を使います。プロジェクト全体にも、選択範囲だけにも適用できます。その際は、平準化をフロートの範囲内に限定するオプションを有効にしてください。そうしないと、せっかく前倒しした納期を後ろへ戻すことで過負荷が解消されてしまいます。
割り当てビューと作業配分
「割り当て」ビューの「作業配分」表示は、リソースごとにどの日にどれだけの作業が乗っているかを示します。緑は範囲内、赤は過負荷です。例では、どの役割がどの日に容量を超えて計画されているかが一目で分かります。重ねるたびに、短縮した時間が実質的なものか、ガントチャート上で見栄えがよいだけかを最短で確認できます。リソースの作成と割り当ては リソースの設定 のレッスンで解説しています。
5. それでも足りない場合はリソースを追加する
時間がなお足りなければ、クラッシングが残ります。Merlin Project では 3 つの中で最も簡単な操作です。リソースソースから 2 人目のリソースをアクティビティにドラッグすると、2 人が作業を分担し、期間がその分短くなります。1 人で 5 日かかる 40 時間の作業は、2 人なら 2.5 日になります。
前提が 1 つあります。そのアクティビティが作業量で計画されていること、つまり期間の項目が空であることです。固定の期間が入力されていると、バーの長さは変わらず、1 人あたりの利用状況が下がるだけで、狙いとは逆の結果になります。複数の割り当てが作業を分担するか、それぞれが全量を担うかは、設定の「作業を共有」のオプションで制御します。
計算だけを信用しないでください。期間が半分になるのは、作業を実際に分割できる場合に限られます。調整と習熟の分は上乗せして見込み、半分になったバーをそのまま鵜呑みにしないことをおすすめします。
6. 残余リスクを明示し、結果を保全する
重ねるという判断は、先行の安定性に対する賭けです。変更が生じた場合に何をやり直す必要があり、それにいくらかかるのかを、頭の中ではなく計画に記録してください。
そのために、最初の重なりを入力する前に、元の計画にベースラインを設定します。以降は計画実績比較で、詰めた効果と副作用をいつでも確認できます。想定される手戻りは、重ねたアクティビティにリスクとして添付し、発生確率と評価を併記します。
灰色の影として残るベースライン
ベースラインを設定すると、Merlin Project は計画値を灰色のバーとして現在のバーの背後に表示します。どのアクティビティが前倒しになり、どれが詰めたにもかかわらず後ろへずれたかが一目で分かります。ベースラインの設定と評価は 計画実績比較 のレッスンで解説しています。手戻りのリスクは、重ねたアクティビティに リスク種別の添付 として、発生確率と評価とともに登録します。バージョン 9 以降は遡っての比較も可能です。動的ベースラインは、プロジェクト設定の基準日から任意の過去時点の計画状態を再構成します。当時ベースラインを設定していなくても利用できます。詳しくは Merlin Project 9 の記事をご覧ください。
ベストプラクティス
- クリティカルパス上でのみ詰め、1 手ごとに再計算する。 1 本の連鎖を短くすると、別の連鎖がクリティカルになることがよくあります。
- 重ねるのは任意依存だけにする。 強制依存を無視しても、速いプロジェクトではなく不良が生まれます。
- 完了ではなく引き継ぎ点を定義する。 「インターフェイスが固まったら後続を開始する」は運用できる条件ですが、「終わったら」は条件になりません。
- 短縮効果を信じる前にリソースを確認する。 ガントチャート上の 2 本の並行バーは、2 人が作業できて初めて実際に並行です。
- 時短勤務はコンターではなくカレンダーで表現する。 火曜日が不在の担当者はリソースカレンダーで扱う対象であり、作業配分を作り込む対象ではありません。
- 手戻りを議論で消さず、計画に入れる。 2 週間重ねるなら、1 週間分の修正工数をリスクとして計画に持たせます。
- 新しい進め方をチームと共有する。 ファストトラッキングは引き継ぎを暫定的にし、変更の可能性を高めます。事前に共有しなければ、成果物を開き直した時点で不満が生じます。そもそも現実的なコンターを知っているのは、計画ツールではなく作業を担当する人です。
- 詰めることを例外として扱う。 ファストトラッキングは特定の納期状況への対応であり、計画スタイルではありません。最初からすべての計画を限界まで重ねると、本当に切迫した場面で使える手が残りません。
まとめ
3 つの手法はそれぞれ別の場所に働きかけます。ファストトラッキングは順序に、クラッシングは個々のアクティビティの期間に、コンタリングは利用状況にです。実務ではコンタリングから始めます。現実的な作業配分によって初めて、どの重なりが成立するかが分かるからです。次にファストトラッキング、最後にクラッシングです。予算があり、それでも時間が足りない場合に使います。
重要なのは、順序のロジックと利用状況が同じ計画の中にあることです。2 つのツールに分かれていれば、どの短縮も推測のままです。Merlin Project では、ガントチャートで重なりを作り、ひとつ隣の作業配分でその結果を読み取れます。Mac と iPad で、ネットワークがない状況でも動作します。30 日間は無料でお試しいただけます。
新しい納期がどの程度の確からしさなのかを知りたい場合は、プロジェクト管理におけるモンテカルロシミュレーション の記事をご覧ください。
このブログ記事についてご質問やご意見がございましたら、ぜひフォーラムへのご投稿をお待ちしております。
よくある質問
ファストトラッキングとクラッシングの違いは何ですか。
ファストトラッキングは、直列で計画されていたアクティビティを並行させます。追加の予算は不要ですが、手戻りのリスクが高まります。クラッシングはクリティカルパス上のアクティビティにリソースを追加する手法で、順序はそのままに費用が増えます。
ファストトラッキングを使うべきでないのはどのような場合ですか。
養生期間、法定の期限、必要な承認など、物事の性質から生じる強制依存の場合です。フロートを持つアクティビティでも意味がありません。プロジェクトの終了日が動かないためです。
プロジェクト管理におけるコンタリングとは何ですか。
コンタリングとは、リソースの作業がアクティビティの期間内でどのように配分されるかを指します。全日数で平均するのではなく、序盤、終盤、中盤のいずれに重みがあるのかといった実際の推移を表します。
どのようなコンターがありますか。
一般的なのは均等配分、序盤に重みのある前倒し型、終盤に重みのある後ろ倒し型、中盤にピークがある山型、そして設営と撤収のように 2 つの山を持つ二峰型です。
ファストトラッキングでどれくらい短縮できますか。
任意依存の割合によります。実務ではアクティビティ期間の 20 から 40 パーセント程度の重なりが一般的です。個別の数値よりも重要なのは、重ねるたびにクリティカルパスを確認することです。別の連鎖がクリティカルになる場合が多いためです。
Merlin Project は作業プロファイルを自動で適用できますか。
いいえ。Merlin Project には現在、作業プロファイルの項目も、前倒し型や山型といった既定のコンターもありません。アクティビティは期間内で作業を均等に配分し、利用状況は割り当て全体に作用するため、個々の日には作用しません。コンターは、作業量と期間を個別に設定した複数のサブアクティビティに分割することで表現します。結果は「割り当て」ビューの「作業配分」表示で日単位に確認できます。