4. 活动依赖关系
在关键路径法(CPM)中,活动之间的依赖关系定义了工作的先后顺序与启动条件。PMBOK 指南定义了四种标准的逻辑关系,用于构建项目进度网络图。正确理解并应用这四种关系,是绘制网络图、计算工期以及后续优化进度的基础。
4.1 四种逻辑关系核心定义
以下表格总结了四种依赖关系的核心定义、默认类型及典型应用场景:
| 逻辑关系 | 缩写 | 定义 | 默认/常见类型 | 典型场景 |
|---|---|---|---|---|
| 完成-开始 | FS | 前置活动必须完成后,后续活动才能开始。 | 最常用,默认依赖 | 地基浇筑完成 → 开始砌墙 |
| 开始-开始 | SS | 前置活动开始后,后续活动才能开始。 | 并行作业 | 开始编写代码 → 开始编写测试用例 |
| 完成-完成 | FF | 前置活动完成后,后续活动才能完成。 | 并行收尾 | 完成文档编写 → 完成文档审核 |
| 开始-完成 | SF | 前置活动开始后,后续活动才能完成。 | 极少使用,易混淆 | 新系统上线(开始)→ 旧系统下线(完成) |
💡 项目经理提示: 在构建网络图时,FS(完成-开始) 关系应作为首选。如果必须使用 SS 或 FF,通常需要附加“滞后量(Lag)”来明确并行工作的安全间隔,避免资源冲突。
4.2 四种关系详解与图示
4.2.1 完成-开始(FS)—— 顺序执行
这是最直观、最严格的依赖关系。活动 B 必须在活动 A 结束后才能启动。如果 A 延迟,B 必然延迟。在 CPM 计算中,FS 关系直接决定了活动的紧前与紧后逻辑。
4.2.2 开始-开始(SS)—— 并行启动
活动 B 可以在活动 A 开始后的某个时间点开始,而不必等待 A 完成。这种关系常用于可以部分重叠的工作流。例如,在软件开发中,编写测试用例(B)可以在编码(A)开始后不久启动。
4.2.3 完成-完成(FF)—— 同步收尾
活动 B 必须在活动 A 完成后才能完成。这意味着两个活动可以并行进行,但 B 的结束点受 A 的结束点约束。例如,文档编写(A)和文档审核(B)可以同时进行,但审核工作必须在编写工作全部完成后才能结束。
4.2.4 开始-完成(SF)—— 特殊交接
这是最不常用的逻辑关系。活动 B 必须在活动 A 开始后才能完成。它通常用于“接力”场景,即新流程的启动是旧流程结束的前提。例如,新系统上线(A 开始)后,旧系统才能下线(B 完成)。
⚠️ 使用警告: SF 关系容易导致逻辑混乱,在 CPM 网络图中应尽量避免。如果必须使用,建议在进度计划中增加明确的里程碑节点和沟通确认点,防止出现“无限期等待”或“提前完成”的误解。
4.3 四种关系对比与选择策略
在实际项目中,选择哪种依赖关系取决于工作流程的物理约束或管理决策。以下对比表可帮助快速决策:
| 决策维度 | FS | SS | FF | SF |
|---|---|---|---|---|
| 逻辑清晰度 | 最高 | 较高 | 中等 | 低(易混淆) |
| 工期压缩潜力 | 无(顺序执行) | 高(并行启动) | 中(并行收尾) | 低(特殊场景) |
| 资源冲突风险 | 低 | 高(需关注资源平滑) | 中 | 高 |
| 推荐使用频率 | 80% 以上 | 10-15% | 5-10% | <1% |
4.4 实战应用:滞后量(Lag)与提前量(Lead)
在定义依赖关系时,经常需要加入 滞后量(Lag) 或 提前量(Lead) 来精确描述时间偏移。
- 滞后量(+Lag):延迟后续活动的开始或完成。例如,混凝土浇筑(A)完成后,需要等待 3 天养护(FS+3d),才能开始砌墙(B)。
- 提前量(-Lead):允许后续活动提前开始或完成。例如,在活动 A 完成前 2 天,活动 B 就可以开始(FS-2d,即 FS 关系中的提前量)。
📌 关键点: 在项目管理软件(如 MS Project、Jira)中,默认关系为 FS(完成-开始)。当使用 SS 或 FF 关系时,务必明确滞后/提前量,并在进度计划中标注清楚,避免团队成员误解工作交接时间。