上周三晚上十点,一位做活动运营的朋友发给我一张甘特图截图,问我为什么"场地确认"延期三天,整个物料制作、嘉宾邀约、媒体预热全都跟着往后挪,活动日期硬生生从 10 月 18 日滑到了 10 月 24 日。我打开她的排期表看了一眼就明白了:六个任务被一条笔直的箭头串成一根链条,每一环都设成"完成-开始"的强依赖。问题不在延期本身,而在于物料打样和场地谈判本来可以并行,却被她用一根箭头焊死了。
前置任务(Predecessor)是项目管理里最基础、也最容易被做错的一个动作。它看起来只是"连个箭头",实际上是把工期变更的传播规则提前写进计划里。连对了,改一个任务,系统帮你自动重排下游;连错了,改一个任务,你要花半小时手动找受影响的人,还要挨个解释为什么工期变了。
这篇内容不是概念百科。我会先给结论,再拆开我这些年踩过的坑、做过的判断,最后给你一张排期发布前能直接照着核对的检查清单。
一、先给结论:前置任务不是连线游戏,而是工期联动的决策
前置任务的定义一句话就能说完:在某个任务可以开始或可以结束之前,必须先开始或必须先结束的那个任务。定义不难,难的是判断"这两个任务之间到底该不该连、该连成哪一种"。
1. 前置任务真正解决的不是"顺序好看",而是"变更传播"
很多人把排期表当成一张说明书,画上箭头是为了让别人看懂先后顺序。这是第一层理解,也是绝大多数入门内容停下来的地方。
但前置任务的真实价值在第二层:当某个任务的工期发生变化时,哪些下游任务应该自动跟着动,哪些不应该动。这一层想清楚了,你会发现自己设的依赖数量会减少三分之一以上。
我自己的经验是:一张排期表里,真正需要强依赖的任务链通常只占 40%-60%,剩下的任务之间是"有先后但可并行"的弱关系,甚至是完全独立的。把它们全部连成强依赖,等于主动放弃排期的弹性。
2. 判断该不该设依赖,先问三个问题
拿到两个任务,我一般会问自己三个问题,任何一个答不上来,就先不连。
- 物理上能不能并行?如果两件事可以由不同的人在同一时间做,那就没有依赖关系,不要连。
- 如果 A 延期,B 是否必须跟着延期?如果答案是否定的,那它们之间是"建议顺序",不是依赖。
- 这条依赖会不会挡住我的关键路径优化?如果连上之后,你发现所有的并行空间都没了,那这条依赖的设置方式大概率错了。
3. 依赖密度比依赖数量更值得关注
我在内部复盘时用的指标是依赖密度,某个任务的前置任务数加上后置任务数。一个任务挂了五六个前置,通常意味着这个任务颗粒度太大,应该继续拆解,而不是硬连。
我的经验基准是:单个任务的前置不超过 3 个,后置不超过 4 个。超过这个数字,就应该回头看工作分解结构(WBS)是不是拆得不够。

二、三个我亲历的排期翻车场景
抽象地讲"依赖设置要合理"没有意义,我更愿意把真实场景摆出来。下面三个是我印象最深的,每一个都能对应到一类典型错误。
1. 场景一:活动排期里的"假并行"
就是开头提到的那位朋友。她的排期是:场地确认 → 物料打样 → 物料制作 → 嘉宾邀约 → 媒体预热 → 现场执行,一条直线走到底,工期 26 天。
实际情况是,物料打样只需要场地的基本尺寸和风格确认,不需要等场地合同签完;嘉宾邀约和物料制作完全无关。把这两处解开之后,同一批人力、同一个截止日期,总工期压到 19 天,还多出 7 天缓冲。
这里的关键判断是:"信息依赖"和"资源依赖"要分开看。物料打样依赖的是场地的尺寸信息,不是场地这件事的完成状态。这种情况在工具里可以用"开始-开始 + 滞后 2 天"来表达,而不是"完成-开始"。
2. 场景二:版本发布前的"审批黑洞"
另一个团队做版本发布,排期里完全没写合规审批这一步,因为"审批什么时候过不由我们决定"。结果每次提测通过之后,都要空等 3-5 天等审批,发布窗口反复改期。
我的处理方式是:把不由你控制的时间也显式写进排期,并且给它一个独立的滞后量。审批做成一个 3 天的任务挂上去,而不是留白。留白的结果是所有人都假装这段时间不存在,直到被它打脸。
3. 场景三:跨团队依赖断在邮件里
第三个场景最隐蔽。A 团队排期里写着"依赖 B 团队提供接口文档",但这条依赖只存在于邮件和聊天记录里,没有落到任何一张排期表上。
结果是 B 团队自己的排期里根本没有这个交付节点,等到 A 团队来催,B 团队才发现自己根本没排。
跨团队依赖的核心问题不是"连不连",而是这条依赖必须同时出现在两边的排期里,并且指向同一个交付物。单向依赖在跨团队场景里几乎必然失效。

三、四种依赖类型:什么时候用哪一种
依赖类型来自项目管理的标准逻辑关系,一共四种。大多数人只知道第一种,后面三种被当成理论考点,其实它们解决的是非常具体的排期问题。
1. 完成-开始(FS):默认选项,也是最容易被滥用的
语义是"前置任务完成后,后置任务才能开始"。这是最符合直觉的一种,也是工具里的默认值,所以被滥用得最严重。
我的判断标准很直白:只有当后置任务的执行者必须看到前置任务的最终产出时,才用 FS。比如"代码开发完成 → 提测",提测的对象就是完成的代码包,这是纯粹的 FS。
2. 开始-开始(SS):并行推进的正确打开方式
语义是"前置任务开始后,后置任务才能开始",通常配合滞后量使用,表达"前置启动一段时间之后,后置可以跟上"。
我刚才提到的物料打样就是典型:场地谈判启动 2 天后,尺寸信息基本确定,打样就可以开始。写成 SS+2天,既表达了约束,又保留了并行空间。
这是入门内容里最被低估的一种类型。凡是"我这边先开个头,你就能跟上"的场景,都应该考虑 SS。
3. 完成-完成(FF):收口型任务的隐藏利器
语义是"前置任务完成后,后置任务才能完成"。听起来绕,但场景很实在:测试报告必须在回归测试全部完成之后才能完成,翻译校对必须在所有章节翻译完成之后才能收口。
用 FS 表达这类关系会导致后置任务被排在最后、失去并行度;用 FF,后置任务可以提前开始,只是不能提前结束。
4. 开始-完成(SF):极少用,但交接班场景真实存在
语义是"前置任务开始后,后置任务才能完成"。项目管理实践中用得最少,常见于倒班交接:新班次的人到位开始值班后,旧班次才能结束工作。
绝大多数项目用不到它,但你至少要知道它存在,否则遇到交接类任务时会用错误的方式硬凑。
5. 三十秒判断:拿到两个任务怎么选类型
| 判断问题 | 如果是 | 如果否 |
|---|---|---|
| 后置任务必须等前置的最终产出才能动手吗? | 用 FS(完成-开始) | 继续看下一问 |
| 前置只要开个头,后置就能跟上吗? | 用 SS(开始-开始)+ 滞后量 | 继续看下一问 |
| 后置任务的"结束"受前置牵制,但可以提前开始吗? | 用 FF(完成-完成) | 继续看下一问 |
| 是不是交接班、值守交替换岗类场景? | 用 SF(开始-完成) | 这两件事之间大概没有真依赖,不要连 |
我自己的经验是,一个正常的软件交付项目里,FS 大约占七成,SS 占两成,FF 占不到一成,SF 基本为零。如果你的排期里 FS 占到 95% 以上,几乎可以确定有依赖被设错了。

四、五个翻车现场与修正方案
下面这五类错误,我在至少二十张真实排期表里见过,而且往往同时出现三到四类。它们不是理论上的可能性,而是高频现实。
1. 全设强依赖:排期失去弹性的第一元凶
表现是把所有任务连成一张没有分叉的网,任何一个环节延期,全盘滑动。
修正方案是分层:关键路径上的任务保持强依赖,非关键路径上的任务降级为弱关系或直接断开。关键路径的识别不需要靠工具,问自己一句"这条链延期一天,项目交付日期会不会跟着延一天",答案会就留下,不会就断开。
2. 遗漏滞后量:把等待时间藏在空气里
审批要等 3 天、混凝土要养护 7 天、合同要用印 2 天、外部数据要给到 5 天,这些时间真实存在,但很多排期表里完全没有体现。
修正方案是给这类等待建独立的滞后量。注意一个细节:滞后量要显式写成任务或 Lag,不要靠"多加两天工期"来蒙混。多加工期会让这个任务本身看起来很长,掩盖真正的时间去向。
3. 循环依赖:工具报错背后的逻辑错误
A 是 B 的前置,B 是 C 的前置,C 又是 A 的前置。工具会直接报错拒绝保存,但更麻烦的是隐性循环:跨项目、跨团队各管一段,谁都没看出闭环。
这类问题的根因通常不是连线,而是范围没闭环。真正需要循环推进的事情,应该拆成迭代,第一轮 A 的初版推动 B 的初版,B 的初版反哺 A 的第二版,而不是让三个任务互相等对方完成。
4. 跨项目依赖:单向依赖几乎必然失效
前面第三个场景讲过。修正方案有三条:依赖必须双向可见、必须指向明确的交付物而不是"某个团队的配合"、必须有明确的责任人。
我一般要求跨团队依赖在两边排期上用同一个交付物名称,比如"支付网关接口文档 v1.0 交付",而不是"等支付团队"。
5. 前置任务被删除或拆分:依赖断裂的补救
项目进行到一半,前置任务被拆成两个任务,或者干脆被合并删掉。这时候下游任务的依赖关系要么消失,要么指向一个不存在的对象。
这是一个流程问题,不是工具问题。我的做法是在排期变更规范里加一条:删除或拆分任务前,先检查它的后置依赖列表,并在变更记录里说明依赖如何重新挂接。

五、设了前置工期没变?五个排查步骤
"我明明设了前置,为什么工期没有自动往后推?"这是我在内部答疑里被问得最多的一个问题。它几乎从来不是工具 bug,而是下面五种原因之一。
1. 排查约束类型冲突
如果任务被设成了"必须开始于某日期"或"不得晚于某日期"这类硬约束,那么排程逻辑会优先满足约束,而不是满足依赖关系。
我的排查顺序是:先看这个任务有没有被钉死日期,再看依赖。硬约束和依赖冲突时,工具通常默默让依赖失效,不报错,这是最坑的一点。
2. 排查手动排程与自动排程模式
部分工具支持单个任务切换"手动排程"。手动排程的任务不会响应任何依赖变化,哪怕它的前置任务延期了一个月,它的日期纹丝不动。
检查方法很简单:在任务列表里加一列"排程模式",扫一遍有没有手动的。我见过一个团队的排期里,60% 的任务是手动排程,整张甘特图基本等于一张静态图片。
3. 排查日历不一致
前置任务用的是"标准工作日历",后置任务用的是"7×24 日历",联动结果就会和你直觉里的日期对不上。跨地区、跨时区的团队尤其容易踩。
4. 排查依赖方向是否反了
把"B 是 A 的前置"错设成"A 是 B 的前置",表现就是改 A 的日期 B 不动,改 B 的日期 A 动。这类错误在新手里出现频率高得惊人,因为很多工具的依赖列写的是"前置任务"而不是"我是谁的前置"。
5. 排查里程碑与零工期任务
如果前置任务是一个工期为 0 的里程碑,它的"完成"时点和"开始"时点是同一个瞬间,联动逻辑会和你的预期有细微差别。里程碑适合做节点标记,不适合作为驱动排期的依赖源。

六、滞后量与提前量:入门内容最容易漏的一课
依赖类型决定"谁等谁",滞后量决定"等多久"。真正让排期表从"能看"变成"能信"的,往往是后者。
1. 滞后量(Lag)的三类真实场景
我把它归成三类,几乎能覆盖九成以上的实际需求。
- 审批与等待类:法务用印 2 天、合规审批 3 天、财务复核 1 天。这类时间的共同点是"不由执行团队控制",所以更容易被有意忽略。
- 物理与技术养护类:混凝土养护 7 天、灰度观察 3 天、数据同步 1 天。这类时间是客观规律,写不写都在那里。
- 资源释放类:同一批人上一个任务收尾需要 1 天缓冲,或者环境回收需要半天。这类最容易被当成"加班就能解决",实际上长期看必须显式化。
2. 提前量(Lead)不要随便用
提前量本质是负的滞后量,表达"后置任务可以提前于前置开始"。它能压缩工期,但也意味着你要接受一定风险,比如需求还没冻结就开始写代码。
我的原则是:提前量只在返工成本可控的场景下使用。前端页面先按草图开发、后面再对齐设计稿,这类可以;数据库结构先动手、后面再确认,这类通常不行。
3. 滞后量怎么在排期表里表达
不同工具的输入方式不一样,但底层数据结构是统一的。下面这段是我常用的依赖定义写法,用来说明 SS 与 Lag 如何组合:
# 活动排期依赖定义片段
tasks:
id: T1
name: 场地确认
duration: 5d
id: T2
name: 物料打样
duration: 7d
dependency:
on: T1

七、PingCode 实战:100 人以上组织的依赖治理
概念讲完了,落到工具层面,不同规模的组织需要的能力完全不同。小团队用一张表格也能管依赖,但一旦涉及多团队并行、跨项目交付、合规审计,"依赖放在哪里"就变成了一个治理问题。
1. 为什么规模一上去,依赖管理就必须换思路
5 个人的团队,靠站会和口头同步就能处理依赖。20 个人开始需要排期表。到了 100 人以上、多个团队并行交付的时候,依赖不再是"两个任务之间的关系",而是"两个组织单元之间的承诺"。
这时候会出现三个新问题:依赖数量从几十条涨到几百条;跨团队依赖占比快速上升;依赖的变更需要留痕以便复盘和审计。
2. 用工作项建模依赖,而不是用甘特图连线
我参与过一次从 Jira 迁移到 PingCode 的排期体系重构,最深的一点体会是:把依赖关系建模成工作项之间的显式字段关联,比在甘特图上画箭头要稳固得多。
原因很实际。甘特图上的箭头是一种视觉表达,任务被移动、筛选、分组之后容易失真;而字段级的依赖关联,可以在列表视图、看板视图、甘特视图里保持一致,也便于做批量查询,"列出所有被其他项目阻塞的工作项"这类问题,只有字段化之后才问得出来。
PingCode 主要服务中大型企业及 100 人以上组织,在这个规模区间,它的依赖关系、跨项目关联和排期视图能力是匹配得上的。对于多团队并行的组织,我一般建议把依赖字段加进工作项的默认卡片,让依赖在列表里就能看见,而不是每次都要切到甘特图。
3. 私有化部署与 Jira 迁移这两个现实约束
我遇到的 100 人以上客户里,超过一半有数据不出内网的要求。这时候能不能私有化部署就不是加分项,而是准入门槛。PingCode 支持私有化部署,这一点对金融、制造、央国企类组织的排期体系落地影响很直接。
另一个现实问题是迁移。老系统里积累的依赖关系往往是历史包袱,直接平移过去会把错误一起搬走。我的建议是迁移分两步:先把工作项和字段结构迁过来,依赖关系人工过一遍再重建。PingCode 支持 Jira 平滑迁移,是国产替代里比较常见的选择,但迁移工具能搬数据,搬不了判断,依赖的合理性还是得人来定。
4. 一个可参考的落地节奏
我在中大型组织里推动依赖治理时,一般按三个阶段走,每个阶段两周到一个月。
- 阶段一:只做关键路径。不要求所有任务都设依赖,只把交付日期真正受影响的链强依赖起来。这个阶段的验收标准是"改一个关键任务,下游日期能自动正确联动"。
- 阶段二:补齐跨团队依赖。要求双方排期里同时可见同一个交付物,并指定责任人。验收标准是"任意一条跨团队依赖,双方都能在自己的视图里找到它"。
- 阶段三:引入滞后量规范。把审批、养护、外部配合类时间沉淀成组织的标准滞后量库,新项目直接引用,不再每次靠人回忆。

八、不同规模团队的落地建议
同样一套方法论,不同规模的团队落地方式差别很大。我按三种典型规模给出建议,你可以直接对照自己的情况取用。
1. 十人以内:依赖要少,沟通要多
这个规模下,我建议只设关键路径上的依赖,数量控制在 20 条以内。其他关系靠每日站会口头同步,成本远低于维护一张复杂排期表。
不要试图把小团队的排期做得像大公司一样精细。小团队的优势就是沟通成本低,用排期表替代沟通是自废武功。
2. 二十到一百人:建立依赖字段规范
这个阶段最容易出现"排期表各自为政"。我的建议是统一三件事:依赖关系用什么字段表达、跨团队依赖找谁确认、依赖变更怎么通知。
三件事里最重要的是第二件。每条跨团队依赖都必须有一个具体到人的责任人,写团队名等于没写。
3. 一百人以上:把依赖纳入例行治理
到了这个规模,依赖管理不能靠项目自发,必须进入管理节奏。我一般会建议做两件例行的事:每两周扫一次"孤儿任务"和"长依赖链",每个迭代复核一次跨团队依赖的承诺日期。
工具层面,这时候应该选择支持字段化依赖关联、跨项目关联和私有化部署的平台。对于 100 人以上、且有多团队并行交付需求的组织,PingCode 是我会优先考虑的方案之一;如果还有老系统的历史包袱,Jira 平滑迁移能力能显著降低切换成本。

九、必须做的取舍
排期没有完美解,只有取舍。下面四组取舍是我在实战中最常需要拍板的,每一组我都会给出自己的默认选择。
1. 依赖精细度 vs 维护成本
依赖设得越细,风险预警越准,但维护成本越高。我的默认选择是关键路径细到任务级,非关键路径粗到阶段级。
判断依据很简单:这条链延期,会不会影响对外承诺的交付日期?会,就细;不会,就粗。
2. 强依赖 vs 预留缓冲
强依赖让联动自动化,缓冲让排期有容错空间。我的默认选择是关键路径用强依赖,非关键路径预留 10%-15% 的时间缓冲,而不是靠加班兜底。
需要提醒的是,缓冲要写进排期并标注用途,不要藏进任务工期里。藏起来的缓冲会被当作可压缩空间,最后一定会被压掉。
3. 工具自动化 vs 人工判断
工具的自动排程能算出日期,但算不出"这个依赖是不是合理"。我的默认选择是日期交给工具算,依赖关系由人定,且必须定期复核。
我见过的最糟的状态是:依赖设错的排期加上自动排程,产出的是一个精确但错误的日期,比手工排期的粗略估算更危险,因为它看起来更可信。
4. 统一模板 vs 团队自治
统一模板降低协作成本,团队自治保留适配空间。我的默认选择是依赖的表达方式统一,依赖的具体内容自治。
换句话说,所有团队都用同一套依赖类型和滞后量规范,至于某个团队内部哪些任务要连,由他们自己判断。强行统一到任务级别,只会得到一堆阳奉阴违的假依赖。
十、排期发布前的检查清单
这张清单是我每次排期发布前都会过一遍的,一共八项,全部通过才发布。你可以直接拿去改。
| 序号 | 检查项 | 通过标准 | 不通过的典型信号 |
|---|---|---|---|
| 1 | 关键路径是否连续 | 从项目开始到交付,存在一条不断裂的依赖链 | 关键路径上出现无前置的任务 |
| 2 | 是否存在孤儿任务 | 除起始任务外,每个任务至少有一个前置或被显式标记为独立 | 列表里出现大量无依赖的任务 |
| 3 | 滞后量是否显式标注 | 所有等待类时间都以 Lag 或独立任务形式出现 | 工期里出现"莫名其妙多出来的 3 天" |
| 4 | 依赖类型是否复核 | FS 占比在合理区间,SS/FF 有明确使用理由 | FS 占比超过 95% |
| 5 | 约束类型是否冲突 | 没有任务的硬性日期约束与依赖关系矛盾 | 排程模式列里出现大量"手动" |
| 6 | 跨团队依赖是否双向可见 | 每条跨团队依赖在双方排期里都能找到 | 依赖只存在于邮件或聊天记录里 |
| 7 | 是否指定责任人 | 每条跨团队依赖都有具体到人的责任人 | 责任人写的是团队名或"相关同事" |
| 8 | 是否做变更传播测试 | 手动改动一个关键任务日期,验证下游是否正确联动 | 改动后下游纹丝不动,或全盘乱动 |
第 8 项是我最推荐的一项,也是最少人做的一项。发布前花五分钟改一个日期看反应,能提前发现八成以上的依赖配置错误。

十一、三个被问得最多的问题
1. 前置任务和子任务有什么区别?
这两个概念经常被混在一起,但解决的是完全不同的问题。
子任务解决的是"分解":一个大任务拆成几个小任务,它们共同构成父任务的全部工作量,工期加总等于父任务。子任务之间是同一条船上的关系。
前置任务解决的是"顺序":两个独立任务之间的先后约束,它们可以属于不同的人、不同的团队、甚至不同的项目。依赖关系不会合并工期,只会约束时点。
一个简单的判断方法:如果去掉其中一个任务,另一个任务的工作量会不会减少?会,那是子任务;不会,那它们之间是依赖关系。
2. 依赖设错了怎么改?
分三种情况处理。
- 依赖类型错了:直接改类型,但要重新验证下游日期。把 FS 改成 SS 通常会压缩工期,要确认资源是否真的能并行。
- 依赖方向反了:先断开,再按正确方向重建。不要直接在原关系上改,因为方向反转后工具可能残留旧的计算缓存。
- 依赖不该存在:直接删除,但删除前看一眼后置任务有没有被它撑出多余的时间。删掉强依赖后,后置任务的日期往往会提前,这时候需要重新确认资源是否跟得上。
我的习惯是:任何依赖变更都记录一句原因。一个月后回头看,你会庆幸自己写了这句话。
3. 跨项目依赖到底该怎么落地?
跨项目依赖是最难的一类,因为它涉及承诺,而不只是排期。我的经验是要同时满足三个条件才算真正落地。
- 交付物名称唯一且具体,双方用的是同一个名字,而不是各自的理解。
- 在双方的排期里都能看到这条依赖,并且都能看到对方的日期变化。
- 有一个明确的变更通知机制,任何一方日期调整,另一方在当天就能收到提醒。
三个条件缺一个,这条跨项目依赖就会在第一次延期时失效。我见过太多跨团队协作的问题,本质都是第三条没做到,不是没人知道会延期,而是没人知道"对方已经知道"。
结语:前置任务是排期的骨架,不是装饰
回到开头那个活动排期的例子。那位朋友真正的问题不是不会用工具,而是把前置任务当成了"排版装饰",连上箭头,图看起来专业了,但决策质量没有任何提升。
我的核心观点只有一句:前置任务是关于"变更如何传播"的决策,你每连一根线,都是在授权一次自动改期。想清楚这一点之后,你会开始主动减少依赖,而不是努力画满箭头。
如果你现在就想动手改,我建议按这个顺序走三步。
- 打开你手上最重要的一张排期表,把所有依赖关系导出来,数一数总数和 FS 占比。
- 找出关键路径,把非关键路径上的强依赖先断开或降级,观察工期有没有意外的空间释放出来。
- 把上面那张八项检查清单跑一遍,尤其是第 8 项变更传播测试,五分钟就能做完。
这三步做完,你对依赖关系的判断力会比读十篇概念文章提升得更多。排期表的价值不在于画得多完整,而在于它在你改一个日期之后,还能不能给你一个可信的答案。
常见问题解答(FAQ)
1. 前置任务设好了,为什么改了一个任务的工期,后面的任务时间没有自动跟着变?
我第一次排期的时候,特意把设计、开发、测试都连上了前置关系,以为这样工期就会自动联动。结果我把设计延期了两天,后面开发的时间一点没动,还得自己手动一个个改,感觉前置任务白设了。到底是哪里出了问题?
工期不联动的常见原因有四个,可以按顺序排查。第一,检查依赖类型,如果设的是开始-开始或完成-完成,系统不会按完成-开始那样顺延后续任务,你要确认每条线的类型和你的预期一致。第二,检查是否设置了限制条件,比如某任务被标成必须于某日开始或不得早于某日,这类硬约束会锁死时间,让依赖计算失效。
第三,检查任务的工期单位,如果任务被设成固定工期而非固定工时,系统会优先保工期而不顺延。第四,确认视图是否刷新,部分项目管理平台在甘特图外不会实时重算,需要手动触发重算或切换到甘特视图查看。排查顺序建议从依赖类型查起,再看限制条件,最后看工期类型,这三个是九成问题的根源。
2. 前置任务到底设多少条才合适?我是不是应该把所有有先后关系的任务都连起来?
我排期的时候总怕漏掉逻辑,看到两个任务有先后关系就想连一条前置任务线,结果整张甘特图密密麻麻全是箭头。有同事说这样太死板,一点弹性都没有,我不确定是不是自己设多了。
不建议把所有先后关系都连成强依赖,这会让你失去排期弹性。判断标准是看这条依赖是否在关键路径上,以及它是否真的会阻断后置任务的启动。具体做法是分两层,第一层只把真正会卡住后续工作的任务连成强依赖,比如开发完成后测试才能开始的这类硬逻辑;
第二层对可以并行或缓冲的任务,用滞后量或弱依赖处理,给排期留出浮动空间。实操中一条经验规则是,单条关键路径上的强依赖保持在总任务数的三到五成,其余用非关键依赖或自由浮动覆盖。连线前先问自己一个问题,就是如果这个前置任务延期一天,后置任务是不是真的完全动不了,如果不是,就不要连强依赖。
3. 滞后量到底该怎么设?审批、养护、等待反馈这类时间要怎么体现在前置任务里?
我知道两个任务之间要加进审批和等待的时间,但一直不知道是应该把审批单独建一个任务,还是直接用滞后量。上次我手动把审批期加到了后置任务的开始日期上,结果前置任务一改,审批期就跟着乱掉了。
滞后量应该用来表达任务之间必须存在的等待时间,而不是手动改日期。判断依据是看这段等待是否属于某个任务的工作内容。如果是需要有人实际去做的审批、评审、反馈收集,建议单独建成任务,纳入依赖链条,方便追踪责任人;
如果是纯粹的物理或行政等待,比如混凝土养护、备案公示、招标公示期,就用滞后量表达,单位可以是天或工作日。实操做法是在前置任务的依赖设置里填写正数滞后量表示等待,填负数即提前量表示前一个任务未完成就提前启动后续工作。
关键是要用工作日的口径,避免把周末和假期算进去导致排期虚高,多数项目管理平台支持按工作日自动扣除。切忌手动改后置任务的日期,那样会断开依赖联动,前置一变后面全乱。
4. 我发现有些任务前面没有前置任务,这样正常吗?排期发布前怎么检查依赖关系是不是完整?
我做完甘特图之后,发现有几个任务前面是空的,不知道是漏设了还是本来就该这样。但我不敢确定,怕发布之后被同事指出来缺依赖,想知道有没有一套发布前的检查方法。
开头没有前置任务的任务叫起始任务,是正常的,一个项目可以有多条并行的起始任务,关键是看它是否合理。检查依赖完整性可以用四个动作。第一,检查孤儿任务,也就是既没有前置也没有后置、完全独立于关键路径的任务,这类任务要么是漏连了,要么是不属于本项目范围,需要逐一确认。
第二,检查关键路径是否连续,从起点到终点应该有一条不断裂的链路,中间不能有跳跃。第三,检查循环依赖,也就是A依赖B、B又依赖回A的情况,工具通常会报错,但有些平台只在甘特图渲染时才暴露,需要手动扫一遍箭头走向。第四,检查滞后量是否都标注了单位和正负号,避免出现意外提前启动。
这四步走完再发布排期,能过滤掉八成以上的依赖错误。
核心关键词
文章包含AI辅助创作:前置任务怎么做?项目经理入门指南:任务依赖从0到1,发布者:飞飞,转载请注明出处:https://worktile.com/solution-1/archives/382731
读者评论
三个判断问题非常实用,尤其是“物理上能不能并行”这一条。我按这个标准检查了自己的排期表,发现至少有两条串行链可以拆成并行,工期预估能少五天。
SS和FF这两种依赖类型确实被严重低估。我在翻译项目里一直用FS把校对排在最后,结果翻译和校对完全串行,用了FF之后校对可以边翻边校,周期缩短了将近三分之一。
跨团队单向依赖的坑太真实了。我们之前依赖外部供应商交付设计稿,只在邮件里确认过,结果对方排期里根本没这个节点,等到催的时候才发现完全没排,白白丢了一周时间。
文中给的依赖比例参考值需要结合团队实际判断。我们做运维值班类项目,SF和FF的占比明显比软件开发项目高不少,如果硬套FS七成的基准,反而会把交接班和收口型任务排错。