依存関係(Dependency)の理解:先行タスクと後続タスクの論理的なつながり

依存関係(Dependency)とは何か?

どんなに多くの人員と無限の予算があっても、プロジェクトのすべてのタスクを同時に魔法のように開始することはできません。なぜなら、一部のタスクには前のタスクが完了して初めて物理的に開始できるという制約条件があるからです。このような2つのタスク間に存在する論理的な制約関係を、工程管理では依存関係(Dependency)または先行・後続関係と呼びます。

たとえば建設現場で、「基礎工事(先行タスク)」が完了する前に空中に「鉄骨の柱を立てる(後続タスク)」ことはできません。ソフトウェア開発でも、「企画仕様書」が出る前に「コーディング」を先に開始することはできないのと同じ理屈です。

タスクバーを接続する依存関係の矢印

[図5] ガントチャート上で先行タスクと後続タスクを結ぶ依存関係の矢印

4つの論理的な依存関係タイプ

タスク間の接続方法は単純ではありません。国際プロジェクト管理標準(PMBOK)では、依存関係のタイプを4つに分類しています。

依存関係タイプ 略語 説明と実務例
終了後開始 FS (Finish-to-Start) 先行タスクが終了して初めて後続タスクが開始できる。
最も一般的で多く使われる形態 (全依存関係の約90%以上)。
例) 壁のペンキ塗り(A)が完了して初めて、壁に額縁を掛ける(B)ことができる。
開始後開始 SS (Start-to-Start) 先行タスクが開始して初めて後続タスクも開始できる。
例) 基礎コンクリートの打設(A)を開始して初めて、コンクリートの平坦化作業(B)も開始できる。
終了後終了 FF (Finish-to-Finish) 先行タスクが終了して初めて後続タスクも終了できる。
例) コード開発(A)がすべて終わって初めて、システム全体のテスト(B)も終了できる。
開始後終了 SF (Start-to-Finish) 先行タスクが開始して初めて後続タスクが終了できる。(実務ではほとんど使われない非常に特殊なケース)

先行遅延(Lead)と後行遅延(Lag)

矢印で2つのタスクを接続した後でも、物理的な待機時間が必要になる場合があります。これを工程管理ではリードとラグと呼びます。

  • Lag (遅延時間): 先行タスクが終了した後、一定時間待機してから後続タスクを開始する必要がある場合です。例えば、コンクリートを流し込み(A)、ペンキを塗る(B)には、コンクリートが固まるための「3日間の待機時間(Lag=3)」が必要です。
  • Lead (前倒し時間): 先行タスクが完全に終わる前に、後続タスクを前倒しして開始する場合です。全体の工期を短縮する際に使用するファストトラッキング(Fast Tracking)手法の核心となります。

依存関係設定がもたらす魔法:自動スケジューリング (Auto-Scheduling)

初心者は「タスクが順番に配置されているから線を引く」と勘違いしやすいですが、依存関係の本当の目的は「変化への自動対応」です。

もし先行タスクであるAが予期せぬ問題で1週間遅延したらどうなるでしょうか?依存関係の矢印が正しく接続されていれば、Aタスクのバーが後ろに1週間押し出された瞬間、矢印で接続されたB、C、Dなどのすべての後続タスクがドミノのように順番に押し出され、新しい締め切りを自動的に計算します。Rudia Online Ganttでは、マウスドラッグ1回で矢印を繋ぐだけで、この強力な自動スケジューリング機能を享受できます。

👉 Go to Rudia Online Gantt