四种甘特图依赖性类型是 finish-to-start、start-to-start、finish-to-finish 和 start-to-finish。使用准确代表作品的最弱关系。
甘特图中的依赖关系是什么?
依赖关系是两个任务之间的逻辑关系。它表示一项任务相对于另一项任务何时开始或完成。四种标准关系类型是 finish-to-start (FS)、start-to-start (SS)、finish-to-finish (FF) 和 start-to-finish (SF)。
依赖关系使甘特图的行为类似于时间表。当前任移动时,调度引擎可以重新计算其后继者,而不用手动修复每个日期。
使用准确描述工作的最弱关系。不要仅仅为了保持条形看起来整洁而添加 finish-to-start 链接;每个链接都应该代表真正的技术、物理、监管或信息交接。
四种依赖类型一览
| 类型 | 含义 | 简单的例子 |
|---|---|---|
| 完成到开始 (FS) | 在前任完成之前后继无法开始 | 构建完成后开始测试 |
| 开始到开始 (SS) | 在前任启动之前后继无法启动 | 研讨会开始时就开始记笔记 |
| 完成到完成 (FF) | 在前任完成之前后继无法完成 | 在写作完成之前最终校对无法完成 |
| 开始到结束 (SF) | 前继者开始之前后继者无法完成 | 在新轮班开始之前,旧的支持轮班无法结束 |
“前任”是指提供约束的任务。 “继任者”是指被约束的任务。这些词并不一定意味着整个前驱必须首先发生——这取决于关系类型。
1. 完成到开始 (FS)
只有 A 完成后,B 才能开始。 这是最常见的关系。
示例:
- 验收测试完成后部署到生产。
- 模板检查完成后浇筑混凝土。
- 宾客名单获得批准后发送邀请。
- 备份完成后开始数据迁移。
如果“批准设计”在周二完成,并且“构建界面”有 FS 链接,则可以根据该工具的日历规则在下一个可用工作时间开始构建。
FS 很容易理解,但过度使用它会导致工作序列化。询问继任者是否真正需要前任的每一个部分。如果开发可以在第一个批准的规范可用时开始,则不同的分解可能会产生更现实的重叠。
2. 开始到开始 (SS)
只有 A 启动后,B 才能启动。 然后,任务可能会持续不同的持续时间。
示例:
- 会议开始时开始会议记录。
- 生产开始时开始质量监控。
- 挖掘开始时开始挖掘牵引。
- 在发布开始时开始客户支持范围。
SS 并不意味着两个任务必须在完全相同的时刻开始,除非没有延迟并且时间表受到这种方式的限制。它确定了后继者允许的最早开始时间。
3. 完成到完成 (FF)
在 A 完成之前,B 无法完成。 该关系控制着完成,而不是开始。
示例:
- 写入完成后才能完成编辑。
- 迁移完成之前安全监控无法完成。
- 施工结束前,现场监理无法完成。
- 在收到所有发票之前,发票核对无法完成。
当两个活动并行运行但一个活动必须在另一个活动结束时保持活动状态时,FF 非常有用。它不应该被用来隐藏不明确的可交付成果。如果存在最终交接,则单独的里程碑可能会更好地传达逻辑。
4. 开始到结束 (SF)
只有 A 开始,B 才能完成。 这是有效的,但不常见。
典型的例子是轮班覆盖:在新班次开始之前,离班班次无法完成。其他示例包括:
- 在替代服务开始之前,旧系统无法退役;
- 在永久监测开始之前,临时监测不能停止;
- 在新供应商开始提供服务之前,旧供应商的承保范围不会结束。
团队经常错误地使用 SF,因为它的措辞感觉颠倒了。大声说出前任和继任者的名字:“旧班次的结束取决于新班次的开始。”如果这句话不正确,请使用其他关系或重新设计任务。
什么是滞后和超前?
滞后是添加到依赖项的等待期。 超前允许重叠,通常表示为负滞后。
示例:
- FS + 2 天: 在第一层涂层完成后两天涂抹第二层涂层。
- SS + 1 天: 采访开始一天后开始转录。
- FS − 2 天: 在起草完成前两天开始审核。
滞后应代表真实的经过时间或工作时间,例如固化、运输或强制通知期。避免使用不明原因的滞后作为隐藏工作的存储桶。如果某人必须在间隙期间执行某项操作,请将该操作建模为与所有者一起执行的任务。
领先可能会使计划变得脆弱,因为它假设部分前置输出将准备就绪。将前身分成较小的可交付成果(例如“草案第 1-3 部分”)通常会比较大的负滞后产生更清晰的逻辑。
一个有效的依赖示例
考虑一个小型软件版本:
| 任务 | 持续时间 | 关系 |
|---|---|---|
| 实施功能 | 8天 | — |
| 编写测试用例 | 5天 | SS 实施 |
| 执行测试 | 4天 | 实施和测试用例后FS |
| 监控发布 | 2天 | SS 已发布生产版 |
| 结束回滚覆盖 | 0 天 | 监控开始后SF |
编写测试用例从实现开始,因为测试人员可以根据商定的设计进行工作。执行等待实现和测试用例。监控从发布开始。最后的 SF 示例表示,在监控开始之前,临时回滚覆盖范围无法结束;在实践中,更清晰的里程碑或 FS 链可能仍然更可取。
依赖性如何影响关键路径?
依赖网络决定哪些链可以控制完成日期。前向传递查找最早的日期;向后传递找到最新日期和浮动。没有调度灵活性的任务形成了模型规则下的关键路径。
缺失的链接会使工作独立流动,并可能创建一个没有逻辑支持的完成日期。冗余或过度限制的链接可能会导致比工作所需的时间更长的时间表。回顾两个极端 项目进度质量检查表。
如何选择正确的关系?
问两个问题:
- 前一个事件中的哪个事件重要——它的开始还是结束?
- 后继事件中的哪个事件受到约束——它的开始还是结束?
这会产生两个字母的代码。然后询问滞后是否是真正的等待期,以及较小的任务是否可以更好地解释切换。
在 GanttFather 的应用程序中,依赖项可以使用带有滞后的 FS、SS、FF 或 SF 关系。可视链接显示在甘特图上,并且计划更改可以通过链接的任务传播。使用 如何阅读甘特图 查看结果。
如何在 GanttFather 中建立依赖关系模型?
将前驱连接到其后继,选择 FS、SS、FF 或 SF,并在存在实际等待或重叠时添加滞后。移动前任者或调整前任者的大小,以确认后任者的反应符合预期,然后打开关键路径以查看该链接是否有助于控制项目的完成。
依赖传播证明逻辑顺序,而不是资源可行性。 GanttFather 不会自动进行资源级别分配,因此请检查预订重叠链接任务的任何所有者并手动解决冲突。
创建免费的GanttFather项目并测试依赖网络 举例说明您的计划实际需要的每种关系。
常见问题
默认甘特图依赖性是什么?
大多数调度工具默认为 finish-to-start,因为它常见且直观。违约不是证据;当工作需要不同的关系时更改它。
一项任务可以有多个前置任务吗?
是的。测试可能需要代码、环境和批准的测试数据。其最早开始受到考虑日历和滞后后最晚完成的前驱约束的控制。
截止日期有依赖性吗?
不。截止日期是一个目标或限制。依赖关系描述任务之间的逻辑顺序。使用逻辑计算日期,然后将预测与目标进行比较。
摘要任务是否应该具有依赖性?
通常链接发生移交的详细活动或里程碑。摘要任务和子任务上的链接可能会造成混乱或重复的约束。仅当您的计划方法和工具可预测地处理摘要链接时,才使用摘要链接。
来源



