依存関係管理とは?プロジェクトの遅延リスクを制御する実践手法
依存関係管理はプロジェクト内外のタスク・成果物の依存関係を特定・追跡・制御する手法です。4種類の依存タイプ(FS/FF/SS/SF)、内部・外部依存の分類、実践ステップ、注意点を体系的に解説します。
依存関係管理とは
依存関係管理(Dependency Management)とは、プロジェクト内のタスクやプロジェクト間の成果物について「何が何に依存しているか」を特定し、追跡し、制御するプロセスです。あるタスクの完了が別のタスクの着手条件になっている場合、その関係を事前に把握しておかなければ、一つの遅延がドミノ倒しのようにプロジェクト全体へ波及します。
PMBOKではスケジュール管理の知識エリアにおいて、アクティビティの順序設定(Sequence Activities)プロセスの中心的な概念として依存関係を位置づけています。特にプレシデンス・ダイアグラム法(PDM)を用いてタスク間の論理的順序関係を図式化し、クリティカルパスの特定やフロート計算の基盤とします。
大規模プロジェクトや複数プロジェクトが並走するポートフォリオ環境では、個々のタスク内の依存だけでなく、プロジェクト間の外部依存が複雑に絡み合います。PMIの調査によれば、リソース依存がプロジェクト失敗要因の26%、タスク依存が12%を占めるとされています。依存関係を体系的に管理することは、遅延リスクの低減に直結します。
構成要素
依存関係管理は、依存の「タイプ」と「分類」の2軸で構成されます。
4種類の依存タイプ
PMBOKが定義する論理的順序関係は以下の4種類です。
| タイプ | 記号 | 意味 | 使用頻度 |
|---|---|---|---|
| 終了-開始 | FS | 先行タスクが終了してから後続タスクを開始 | 最も一般的 |
| 開始-開始 | SS | 先行タスクが開始してから後続タスクも開始可能 | 並行作業時に使用 |
| 終了-終了 | FF | 先行タスクが終了するまで後続タスクも終了できない | 同時完了の制約 |
| 開始-終了 | SF | 先行タスクが開始するまで後続タスクは終了できない | 極めて稀 |
実務ではFS(終了-開始)が全体の約90%を占めます。SSやFFは並行作業やリソース共有の制約を表現する際に使います。SFは理論上の完全性のために存在しますが、実プロジェクトで使用されることはほとんどありません。
依存の分類
依存関係は発生源と性質によってさらに分類されます。
| 分類軸 | 種類 | 説明 |
|---|---|---|
| 発生源 | 内部依存 | 同一プロジェクト内のタスク間の依存 |
| 発生源 | 外部依存 | 外部ベンダー、他プロジェクト、規制機関など外部要因への依存 |
| 性質 | 必須依存(ハード依存) | 作業の性質上、変更できない物理的・論理的な依存 |
| 性質 | 任意依存(ソフト依存) | チームの判断やベストプラクティスに基づく変更可能な依存 |
外部依存はプロジェクトマネージャーが直接制御できないため、リスク管理と組み合わせた監視が不可欠です。任意依存はスケジュール短縮の余地がある箇所でもあるため、ファストトラッキングの候補として検討できます。
実践的な使い方
ステップ1: 依存関係を洗い出す
WBSで分解したワークパッケージをもとに、各タスク間の先行・後続関係を洗い出します。タスクの担当者やチームリーダーへのヒアリング、過去プロジェクトの教訓(レッスンズラーンド)の参照が有効です。「このタスクを始めるために、何が完了している必要があるか」という問いを全タスクに対して繰り返します。
ステップ2: 依存タイプと分類を定義する
洗い出した依存関係について、FS/SS/FF/SFのタイプを明確にし、内部/外部、必須/任意の分類を付与します。この段階でリード(先行時間)やラグ(遅延時間)の有無も確認します。例えば「設計レビュー完了の2日後に開発開始」であれば、FS関係にラグ2日を設定します。
ステップ3: ネットワーク図で可視化する
定義した依存関係をプレシデンス・ダイアグラム(PDM)としてネットワーク図に描きます。ガントチャートのタイムライン上に矢印で表現する方法も一般的です。可視化することで、クリティカルパスの特定、フロートの計算、ボトルネックの発見が可能になります。プロジェクト管理ツール(Microsoft Project、Asana、Jiraなど)を活用すると効率的です。
ステップ4: 依存関係を監視・制御する
プロジェクト実行中は、依存関係の状態を定期的に監視します。RAIDログ(Risk, Assumption, Issue, Dependency)の「D」として依存関係を記録し、ステータスレビューで更新します。先行タスクの遅延が検知された場合は、後続タスクへの影響を即座に評価し、リカバリー策(リソース追加、スコープ調整、代替パスの検討)を講じます。
活用場面
- スケジュール計画: クリティカルパス法と組み合わせてプロジェクト全体の工期を算出し、遅延が許容されないタスクを特定します
- ファストトラッキング: 任意依存を見直し、タスクの並行実行によるスケジュール短縮の可能性を検討します
- リスク管理: 外部依存をリスク登録簿に記載し、ベンダー遅延や規制変更に対する緩和策を事前に準備します
- マルチプロジェクト調整: ポートフォリオ内のプロジェクト間依存を一元管理し、リソース競合やスケジュール干渉を防ぎます
- ステークホルダー報告: 依存関係図を用いて、遅延の波及経路や影響範囲を視覚的に説明します
注意点
隠れた依存関係を見落とさない
明示的なタスク間の依存だけでなく、暗黙的な依存も存在します。特定の担当者のスキルに依存する属人的な関係、共有環境(テスト環境、ステージング環境)の利用順序、外部サービスのメンテナンス窓口のスケジュールなどは、タスク定義には現れにくい隠れた依存です。キックオフミーティングやリスクワークショップで積極的に洗い出してください。
循環依存を防ぐ
「タスクAがタスクBに依存し、タスクBがタスクAに依存する」という循環依存が発生すると、スケジュール計算が不可能になります。ネットワーク図を作成する段階で有向非巡回グラフ(DAG)であることを確認し、循環が検出された場合はタスクの分割や依存関係の見直しで解消します。
外部依存には余裕を持たせる
外部ベンダーや他部門に依存するタスクは、自チームでコントロールできない不確実性を含みます。バッファ(時間的余裕)を設ける、代替手段を準備する、契約上のSLAで納期を担保するなどの対策を講じます。外部依存をクリティカルパス上に配置せざるを得ない場合は、リスクレベルを引き上げて重点監視の対象とします。
依存関係の更新を怠らない
プロジェクトが進むにつれて、依存関係は変化します。スコープ変更、タスクの追加・削除、リソースの再配置などが発生するたびに、依存関係マトリクスとネットワーク図を更新する必要があります。更新を怠ると、実態と乖離した計画で進行し、予期しない遅延が発生します。
まとめ
依存関係管理は、プロジェクト内外のタスクや成果物の「つながり」を可視化し、遅延の連鎖を未然に防ぐための実践手法です。4種類の依存タイプ(FS/SS/FF/SF)と2軸の分類(内部/外部、必須/任意)を理解し、ネットワーク図やRAIDログで体系的に追跡することで、スケジュールリスクの制御精度が向上します。クリティカルパス法やガントチャートと組み合わせることで、プロジェクトスケジュール管理の実効性が大幅に高まります。
参考資料
- プロジェクト管理における依存関係を理解する - Asana(依存関係の定義、4種類の依存タイプ、プロジェクト管理ツールでの運用方法を実務視点で解説)
- Project Interdependency Management - PMI(プロジェクト間の依存関係管理プロセス、ツール、技法をPMI論文として体系的に解説)
- Dependency (project management) - Wikipedia(依存関係の4タイプ、リード/ラグ、内部/外部依存の分類を網羅的に整理)