结论是:把合同内任务按“可交付批次”排期,把临时救火任务按“响应窗口”排期,两套时间表分开管理,但共用同一条容量上限。只有在合同明确约定了固定交付节奏、且临时任务有单独响应承诺时,这个做法才成立;如果合同只写了总工作量而没有节奏约定,硬拆两张表会让双方对“欠了多少活”各执一词。
合同内任务的特点是范围事先可描述、结果可验收,例如按约定批次完成页面优化、内容生产或技术调整。它的排期单位是批次,关注的是“这一批什么时候交付、验收后下一批什么时候启动”。临时救火任务的特点是触发时间不可预测、影响面明确,例如页面突然无法访问、关键模板改动导致大量链接失效、重要栏目改版后索引表现异常。它的排期单位是响应窗口,关注的是“多久内响应、多久内给出可验证的处理结果”。
把两者混在一张甘特图里,最常见的后果是合同内任务被反复插队,交付批次整体后移,而临时任务因为缺少独立优先级,又得不到足够资源。分开排期不是让临时任务免费占用合同内工时,而是让两类承诺各自可追溯。
具体做法是先把合同期切成若干交付批次,每批有明确的输入、输出和验收方式,再在每批之间留出固定比例的缓冲时间,用于吸收上一批的返工和本批的临时插入。缓冲不宜平均分摊到每一天,否则临时任务会像水一样填满所有空隙。更可控的方式是集中预留,例如每批预留一段连续时间,只在该批合同任务完成后才释放给临时任务。
一个假设例子:合同约定每月完成两批优化,每批预估需要若干工作日。若把缓冲打散到每天,临时任务会持续侵蚀进度;若把缓冲集中在批次末尾,则临时任务要么在缓冲内解决,要么触发一次明确的排期调整,双方都能看到代价。这里的数字只是说明比较方法,实际取值应按团队规模和任务波动自行测算。
实际动作:在排期表上为每个批次标注“最晚启动日”和“缓冲释放日”。当临时任务落在缓冲释放日之前,优先用缓冲吸收;落在之后,则必须书面确认是顺延合同批次还是追加资源。这个动作的结果会直接决定下一步:如果顺延被接受,后续批次整体后移;如果不接受,就需要在当批范围内缩减范围,而不是压缩验收标准。
临时任务排期的关键是把“响应”和“解决”拆开承诺。响应窗口可以很短,但解决时间取决于问题本身,不应在排期阶段就锁死。可按影响面分级:影响收入路径或核心可访问性的,进入最高响应级别;影响局部页面表现但不阻断访问的,进入常规响应;仅涉及优化建议的,不进入救火通道,转为下一批合同内任务。
这样分级的好处是,临时任务不会因为“紧急”二字就无限挤占合同内批次,同时真正高影响的问题仍有明确通道。
如果合同只写了总工作量或总服务期,没有约定交付批次和验收节点,那么“合同内任务按批次排期”就失去依据。此时临时任务和合同任务在合同文本上无法区分,任何一方都可以主张自己理解的优先级,拆分排期只会制造争议。另一个反例是:临时任务长期高频出现,已经超出预留缓冲的承受能力。这种情况下继续维持两套表只是形式上的分离,实际执行中合同内任务会被持续推迟,应当重新协商服务范围或调整合同节奏,而不是继续在旧框架里微调。
在调整排期之前,先用最近一个完整周期核对一次实际容量:合同内任务实际占用了多少时间,临时任务实际占用了多少时间,缓冲是被用满还是被闲置。这个核对只用于判断当前预留是否合理,不能单独用来证明某类任务“应该”占多少比例。若临时任务占用持续超过预留,说明需要重新协商响应级别或资源投入;若缓冲长期闲置,说明预留偏保守,可以适当收紧。核对完成后,把结论写进下一次排期调整的依据里,而不是停留在口头判断。