把合同内任务和临时救火任务放进同一张排期表,是多数项目失控的起点。更稳的做法是:合同内任务按里程碑锁死档期,临时任务只进“缓冲池”,并明确它挤占的是哪一段缓冲。下面用一个假设情境说明这套方法怎么落地。
合同内任务的特征是可预期:范围在签约时基本确定,验收标准写在附件里,工期可以倒推。临时救火任务的特征是不可预期:来源可能是客户内部换人、上线后暴露的兼容问题、或第三方接口临时变动。
两类任务混排会出问题,不是因为救火任务不重要,而是因为它们的排期依据不同。合同内任务依据的是里程碑和依赖关系;救火任务依据的是影响面和止损时间。用同一套优先级去排,必然有一方被牺牲。
假设某郴州网站制作公司承接了一个企业站项目,合同约定首页、栏目页、内容页三套模板,工期六周,第四周做中期演示。第三周末,客户方市场负责人换人,新负责人提出首页要加一个活动报名入口,并希望“下周就能看到”。
这个请求不属于原合同范围,但如果不处理,中期演示时客户可能不签字。此时排期要回答的不是“做不做”,而是“它占谁的时间、换掉什么”。
可以这样拆:
这个动作的结果是:团队知道接下来三天做什么,客户知道演示范围有没有变化。如果缓冲被占满,下一步就是谈延期或砍范围,而不是让开发加班硬扛。
多个角色对“紧急”的理解往往不同。销售觉得客户催得急,项目经理觉得影响面小,开发觉得改动量大。把分歧转成可核对的字段,比开会争论有效。
可以要求每个临时任务在进入排期前填四个字段:
这四个字段填完,排期就不再是“谁声音大谁先做”,而是可以逐项核对的清单。若某个任务连触发原因都说不清,它通常不值得占用缓冲。
缓冲池的作用是吸收波动,不是隐藏工作量。如果每个临时任务都进缓冲池且从不拒绝,缓冲会变成事实上的第二份合同,团队仍然超载。
可行的做法是给缓冲池设两个约束:
记录义务常被忽略,但它是判断“救火是否在变成常态”的唯一依据。如果连续几周缓冲都被同一类原因占满,说明问题出在需求阶段,而不是排期阶段。此时下一步不是加缓冲,而是回到需求确认环节补漏。
排期不是一次设定就永久有效。以下现象出现时,应该重新检查两类任务的划分:
需要说明的是,延期或返工增多不能单独证明排期方法错误,也可能来自需求本身变化、人员变动或第三方依赖。判断时要看这些现象是否集中在同一类任务上,而不是只看总量。
如果现在就要改,可以先做一件事:在下一次项目例会上,把当前所有进行中的任务分成“合同内”和“缓冲池”两栏,逐项标注阻塞验收与否。这个动作的结果会直接告诉你,缓冲是否已经被透支,以及下一步该谈范围还是谈工期。排期的价值不在于把时间填满,而在于让每一次挤占都有据可查。