読者です 読者をやめる 読者になる 読者になる

ぱと隊長日誌

ブログ運用もエンジニアとしての生き方も模索中

PDMにおいてSS/FF関係を持つアクティビティのトータル・フロートのパラドックスを解消する

はじめに

通常、スケジュールの計算はアクティビティが中断されることは無いという前提で行います。ただ、この前提では前後のアクティビティとSS/FF関係を持つアクティビティでトータル・フロートにパラドックス(矛盾)が生じます。
ここではアクティビティの中断を許すことで、このパラドックスが解決できることを示します。また、アクティビティの中断以外の解決方法についても触れます。

本エントリは以前に書いた以下のエントリをベースにしています。
ADM(アロー・ダイアグラム法)及びPDM (プレシデンス・ダイアグラム法)におけるタイミングとフロートの計算方法 - ぱと隊長日誌
PDM (プレシデンス・ダイアグラム法)のスケジュール計算における制約の影響 - ぱと隊長日誌

用語の説明

クリティカル・パスはプロジェクトにおけるアクティビティの最長経路のことです。つまり、クリティカル・パス上の活動に遅延が生じればプロジェクト完了予定日に影響が生じます。
また、クリティカル・タスク(クリティカル・パス・アクティビティとも呼ばれる)はクリティカル・パス上のアクティビティのことです。

クリティカル・タスクはトータル・フロートがゼロであると説明されることが多いです。ですが、それが成り立つのはアクティビティの制約を考慮しない場合です。制約を考慮する場合はクリティカル・タスクのトータルフロートはプラス、ゼロ、あるいはマイナスとなります。詳細は以下のエントリをご参照ください。
PDM (プレシデンス・ダイアグラム法)のスケジュール計算における制約の影響 - ぱと隊長日誌

アクティビティの分割を許さないことで起きるパラドックス

下図にスケジュールを示します。なお、ここではカレンダーの休日を考慮しません。

f:id:pato_taityo:20160605191602p:plain

FP フォワード・パスで計算したスケジュール。
BP バックワード・パスで計算したスケジュール。
青い矢印 アクティビティの依存関係。矢印の横にテキストで依存関係の内容を記述しています。
赤い破線矢印 クリティカル・パス。

このスケジュールにおいて、アクティビティ「テスト」と「バグ修正」にSS/FF関係が同時に設定されています。これは、以下を想定したものです。

  • テストが進まないとバグは見つからない(SS+1関係)
  • テストが終わるまでは新たなバグが見つかるかもしれず、バグ修正も完了しない(FF関係)

「テスト」の最早開始日(ESD)および最遅開始日(LSD)は前後の関係から共に8/3となります。最早終了日(EFD)はESDから8/4に決まります。

では、「テスト」の最遅終了日(LFD)はどうなるでしょうか?
(一般式)LFD = LSD + (d - 1) = 8/3 + (2 - 1) = 8/4
(FF関係)LFD = 後続LFD - Lag = 8/5 - 0 = 8/5
異なる結果となりました。これはLSDがSS関係の影響を受けたためです。

また、TFE (Total Float Early) 及び TFL (Total Float Late、単にトータル・フロートとも) を計算してみます。
TFE = LSD - ESD = 8/3 - 8/3 = 0
TFL = LFD - EFD = 8/4 - 8/4 = 0
この結果は「テスト」の開始もしくは終了に余裕がない(「テスト」が遅れれば完了日も遅れるか、制約に違反する)ことを示しています。

ですが、現実には「テスト」の終了が1日遅れて8/5となっても全体スケジュールに影響することはありません。このパラドックスはスケジュール計算で「アクティビティが中断されることはない」という前提があるために起きています。

パラドックスの解決

このパラドックスを解消する一つの手法はアクティビティの中断を認めることです。
アクティビティの中断を認めた場合のスケジュールを以下に示します。

f:id:pato_taityo:20160605191618p:plain

「テスト」のLFDが8/5となりました。これに伴い、TFE=0, TFL=1となります。
この結果は「テスト」の開始日に余裕はないが、終了日は1日の余裕があることを示しています。また、これは実際とも一致しています。

このようにアクティビティの中断を許す方法以外にも、以下の方法でSS/FF関係のアクティビティに生じるパラドックスを解消することができます。

  • タスクにアサインするリソースを調整して制約に合わせた所要期間で調整する
  • ADMでLadderを使って計算する

ADMでLadderを使って計算する方法は参考文献・資料"Links, Lags and Ladders"の"Ladders"を参照ください。

まとめ

"Links, Lags and Ladders"の"Conclusions"を引用します。

The developer of the PDM networking methodology, Dr. John Fondahl, was always of the view the only safe link to use in a precedence schedule was the Finish-to-Start link. Similar warnings are contained in the PMBOK Guide and the PMI Practice Standard for Scheduling.
The issues raised in this paper clearly demonstrate the inconsistencies and problems that can develop using S-S and F-F links. However, it is highly unlikely their use will diminish significantly.
Therefore, the responsibility must fall to the managers of schedulers, and the schedulers themselves to make sure the logical constructs used in their schedules are both sensible and mathematically correct.

http://www.mosaicprojects.com.au/PDF/Links_Lags_Ladders.pdf

PDMスケジュールをFS関係だけで表現することができれば、今回のようなパラドックスに悩むことはありません。ですが、それは現実的ではありません。現実のモデルで現れるSS/FF関係をFS関係に置き換えたとしても、それは依存関係のごまかしに過ぎず、また別の問題を引き起こすことになるでしょう。
スケジュール管理者は理論やツールの制約・限界を理解しつつ、現実的で正しいモデルに近づける努力をすることが必要です。

参考文献・資料

プロジェクトマネジメント知識体系ガイド(PMBOKガイド)第5版

プロジェクトマネジメント知識体系ガイド(PMBOKガイド)第5版 (A Guide to the Project Management Body of Knowledge)

プロジェクトマネジメント知識体系ガイド(PMBOKガイド)第5版 (A Guide to the Project Management Body of Knowledge)

建設エンジニアのためのPMSによるプロジェクト計画入門―基礎からリスクスケジューリングまで

建設エンジニアのためのPMSによるプロジェクト計画入門―基礎からリスクスケジューリングまで

建設エンジニアのためのPMSによるプロジェクト計画入門―基礎からリスクスケジューリングまで