先给判断依据:看临时任务是否触及合同约定的上线日期、核心链路可用性或已承诺的验收节点。如果触及,它应当进入合同任务的排期池,由项目经理重新排优先级;如果不触及,就放进单独的救火队列,按影响面和等待成本排序,不能直接插到合同任务前面。两种队列分开管理,但共享同一份人力日历,这是避免合同延期和团队过载的关键。
排期方式取决于合同任务当前处于什么状态。如果合同里已经写明上线日期、阶段验收时间,或者客户方已经据此安排了推广、培训、数据迁移,那么合同任务的时间窗口是硬的,临时任务只能争夺剩余人力,不能挤占关键路径。反过来,如果合同只约定了总工作量和大致周期,没有对外承诺的具体日期,团队就有一定腾挪空间,可以把影响面大的临时任务和合同任务放在同一优先级池里比较。
判断依据不是客户催得急不急,而是延期后果由谁承担、承担多少。合同任务延期通常涉及违约条款或验收款;临时任务延期往往只是内部不满或某个部门等待。把这两类后果放在一起比较,才能决定谁先占用人力。
当临时任务不触及上线日期、不阻塞核心链路、不需要合同内人员立即停工处理时,应当把它放进救火队列,按以下顺序排列:
实际动作是给救火队列设定固定的处理窗口,例如每天上午留出一小时集中处理,而不是随到随做。这样做的结果是合同任务获得连续的工作块,临时任务也有了可预期的响应时间。下一步可以根据每周救火任务的实际数量,判断是否需要调整合同排期或申请额外人力。
如果临时任务会导致合同内的某个交付物无法按时完成,或者修复它需要占用合同任务的关键人员超过半天,就不能再把它当作“顺手处理”。此时应当由项目经理做一次显式取舍:要么调整合同任务的内部顺序,把受影响的部分后移;要么与客户沟通验收时间;要么临时抽调非关键路径上的人员支援。
假设一个场景:合同约定两周后交付支付流程,此时发现一个临时任务需要修改同一套订单接口。如果不动合同排期,直接让开发人员先做临时任务,支付流程的联调就会延后,验收风险上升。合理的做法是把临时任务和支付流程的接口修改合并成一次变更,评估合并后是否仍能在两周内完成;如果不能,就提前和客户说明需要调整的范围。这个判断依赖的是任务之间的技术依赖关系,而不是谁先提出。
很多团队试图用两组人分别负责合同任务和临时任务,结果是人手不够时两边都停。更实际的做法是只维护一份人力日历,把每个人的时间标成三类:合同任务占用、救火窗口、可调配缓冲。合同任务占用和救火窗口都提前锁定,缓冲时间用来吸收无法预判的临时任务。
具体动作是每周固定一次排期确认,把下周的合同任务和已知临时任务放进日历,并标出哪些时间段可以被打断。如果一周内缓冲时间被用尽,就触发一次重新排期,而不是继续压缩合同任务。这样做的结果是团队对“还能不能接临时任务”有统一答案,而不是靠个人加班消化。
有一种情况需要单独处理:临时任务来自合同内客户,且合同里约定了变更流程。这时不应把它归入内部救火队列,而应走变更评估,明确它是否增加工作量、是否影响原定交付。如果客户接受调整交付时间或增加费用,它可以转为合同任务重新排期;如果客户不接受,就仍按原合同执行,临时任务另行安排。这个例外的判断依据是合同条款,而不是任务本身的技术难度。
无论走哪条路径,排期的结果都应当让执行人员知道:当前优先做哪一项、做到什么程度算完成、下一项什么时候开始。缺少这一步,再合理的排期也会在第二天被新的临时消息打乱。