ひとことで言うと#
依存関係管理とは、タスク間・チーム間・システム間の「待ち」や「前提条件」を可視化し、遅延リスクを最小化する手法。見えない依存関係がプロジェクトの最大のリスクになることを理解し、先手を打つ。
押さえておきたい用語#
- FS(Finish-to-Start)
- タスクAが完了しないとタスクBが開始できないという最も一般的な依存関係を指す。
- クリティカルパス(Critical Path)
- プロジェクト内で最も長い依存チェーンを指す。ここが遅れるとプロジェクト全体が遅延する。
- 外部依存(External Dependency)
- 他チーム・ベンダー・承認プロセスなど自分たちでコントロールできない依存のこと。最もリスクが高い。
- ボトルネック(Bottleneck)
- 全体の流れを制約している最も遅い工程やリソースである。依存関係管理で真っ先に特定すべき対象。
依存関係管理の全体像#
こんな悩みに効く#
- あるチームの遅れが別チームに連鎖して全体が止まる
- 「これが終わらないと始められない」という待ち状態が頻発する
- プロジェクト後半で想定外の依存関係が見つかり、大幅な手戻りが発生する
基本の使い方#
すべてのタスクについて、何に依存しているかを明らかにする。
- FS(Finish-to-Start): Aが完了しないとBが開始できない(最も一般的)
- SS(Start-to-Start): AとBは同時に開始する必要がある
- FF(Finish-to-Finish): AとBは同時に完了する必要がある
- 外部依存: 他チーム・ベンダー・承認プロセスなど自分たちでコントロールできないもの
ポイント: 外部依存は特にリスクが高い。自チームでコントロールできない要素ほど早く特定する。
可視化ツールを使って依存関係の全体像を把握する。
- ネットワーク図(ノードとエッジ)でタスクの前後関係を描く
- 依存の方向(誰が誰を待っているか)を矢印で示す
- クリティカルパス(最長経路)を特定する
- ボトルネックになっているタスクやチームを赤色でハイライトする
ポイント: ホワイトボードでもMiroでもJiraでもツールは何でもよい。大事なのは「全員が同じ図を見ている」状態にすること。
依存関係を減らす・弱める・監視する仕組みを作る。
- 依存を排除: タスクの順序を変え、並列化できないか検討する
- 依存を弱める: インターフェースの事前合意・モックやスタブの活用
- バッファを設ける: 依存元タスクの完了予定日にバッファを追加する
- 定期レビュー: 週次で依存関係マップを更新し、新たな依存の発生を監視する
ポイント: 依存関係は生き物。プロジェクトが進むにつれて新たな依存が生まれ、既存の依存が解消される。固定的に管理せず、動的に更新する。
具体例#
状況: フロントエンド・バックエンド・インフラの3チーム(計18名)で進める全面リニューアル。
依存関係の洗い出し:
- バックエンドAPIが完成しないとフロントエンドの結合テストができない(FS)
- インフラの環境構築が終わらないとバックエンドのデプロイができない(FS)
- フロントエンドとバックエンドのAPI仕様は同時に合意する必要がある(SS)
- 外部決済サービスとの連携はベンダーの対応待ち(外部依存)
軽減策の実施:
- API仕様をプロジェクト開始2週間で確定し、モックAPIを先に作成 → フロントエンドがバックエンド完成を待たずに開発可能に
- インフラ環境は最小構成を第2週で準備 → バックエンドが早期にデプロイ・テスト可能に
- 決済ベンダーとの連携は最も早い段階でPoCを実施 → 外部依存のリスクを早期に検証
- 毎週月曜に3チーム合同で依存関係レビューを15分実施
| 指標 | 対策前 | 対策後 |
|---|---|---|
| チーム間の待ち時間 | 月40時間 | 月5時間 |
| 想定遅延リスク | 2ヶ月 | 0日 |
| 予定通りリリース | — | 6ヶ月で完了 |
モックAPIと最小インフラを先行準備することで待ち時間を87%削減し、予定通り6ヶ月でリリースを完了できた。
状況: 従業員350名の精密機器メーカー。製造・購買・在庫・経理・営業の5部門が絡むERP導入プロジェクト(12ヶ月)。各部門のマスタデータ移行が相互に依存しており、順序を間違えるとデータ不整合が発生する。
依存関係マップ:
- 品目マスタ(製造部門)→ 購買マスタに品目コードが必要(FS)
- 購買マスタ(購買部門)→ 在庫管理の初期データに必要(FS)
- 得意先マスタ(営業部門)→ 経理の売掛管理に必要(FS)
- 5部門の並行テストは全マスタ完了後に開始(FF)
軽減策:
- 品目マスタを最優先で2ヶ月前倒しで着手(クリティカルパス上のため)
- 各マスタの「暫定版」を先に共有し、後続部門が並行作業できるようにする
- 週次のクロス部門レビューで依存関係の状況を全員で確認
| 指標 | 管理なし(想定) | 依存管理あり |
|---|---|---|
| データ不整合の発生 | 推定30件以上 | 3件 |
| 手戻り工数 | 推定400人時 | 45人時 |
| プロジェクト遅延 | 推定3ヶ月 | 2週間 |
この取り組みが示すように、5部門のマスタデータ依存を事前にマッピングし、品目マスタを前倒しすることで手戻りを89%削減。12ヶ月の計画に対し2週間の遅延で完了した。
状況: 従業員12名のフィンテックスタートアップ。新規決済アプリの開発で、銀行API(2行)・認証サービス・審査機関の3つの外部依存を抱えていた。ローンチ期限は投資家との約束で固定。
外部依存のリスク評価:
| 外部依存 | 確率 | 影響 | リスク |
|---|---|---|---|
| 銀行A API遅延 | 高 | 高 | 赤 |
| 銀行B API遅延 | 中 | 中 | 黄 |
| 認証サービス仕様変更 | 低 | 高 | 黄 |
| 審査機関の承認遅延 | 中 | 高 | 赤 |
軽減策:
- 銀行APIは両行とも3ヶ月前からPoC開始。サンドボックス環境で先行テスト
- 認証サービスは抽象化レイヤーを実装し、仕様変更への耐性を確保
- 審査機関には予備日を1ヶ月確保。申請書類を早期に準備して先行提出
結果: 銀行A APIが実際に3週間遅延したが、PoC段階で問題を早期発見し、回避策を実装済みだったため影響ゼロ。予定通りローンチを達成。
外部依存は「コントロールできない」が「準備はできる」。PoCと抽象化レイヤーで外部リスクの影響をゼロに抑え、固定期限のローンチを達成した。
やりがちな失敗パターン#
- 暗黙の依存関係を見落とす — 明示的なタスクの依存だけでなく、「特定の人の知識に依存」「特定の環境に依存」なども含まれる。人・知識・環境の依存も必ず洗い出す
- 依存関係マップを作って満足する — 初回に作っただけで更新しないと、実態とかけ離れたものになる。最低でも週次で見直し、変更があればその場で更新する
- すべての依存関係を排除しようとする — 依存関係ゼロは非現実的。排除できるものは排除し、残るものは管理するというバランスが重要
- 外部依存の対策を後回しにする — 自チームでコントロールできない依存ほどリードタイムが長い。外部依存は最も早い段階で着手するのが鉄則
まとめ#
依存関係管理は、プロジェクトの「見えないリスク」を可視化する手法。タスク間の依存を洗い出し、マップで全体像を把握し、軽減策を講じることで、連鎖的な遅延を防ぐ。特に複数チームが関わるプロジェクトでは、依存関係管理の質がプロジェクトの成否を左右する。