合同内任务和临时救火任务不该挤在同一张排期表里抢先后,而应分成两条队列:合同任务按交付周期锁定产能,临时任务按影响面和可逆性进入预留缓冲。只有当临时任务会阻断合同任务的关键路径时,才允许置换排期,并明确被置换任务的顺延代价。
很多团队遇到的情况是:临时救火响应得越及时,合同内任务的延期反而越多。表面看这是执行力问题,实际上多半是排期机制问题。临时任务没有独立入口,就会不断插入合同任务的执行序列,把原本连续的作业切碎。
另一种相反现象也存在:为了保合同任务,临时需求一律排队等待,结果小问题拖成大问题,最终仍要回头处理,反而占用更多合同产能。两种做法都成立,区别在于临时任务是否设置了准入标准和缓冲池。
解释一:总产能不足。合同任务本身已经排满,任何临时插入都会造成延期。这种情况下,问题不在排期方法,而在于合同承诺的产能超出了实际可交付能力。
解释二:优先级判断缺失。产能尚有弹性,但临时任务没有分级,所有救火都被当成最高优先级,导致真正紧急的任务和一般咨询混在一起,合同任务被反复打断。
区分这两种解释的证据不同。如果是产能不足,表现为即使没有临时任务,合同任务也长期处于临界或超期状态;如果是优先级缺失,表现为临时任务总量不大,但合同任务的执行节奏被频繁打断,单个任务的实际耗时明显高于预估。
可以观察两个指标。第一,合同任务每周被临时任务打断的次数。如果次数很少但合同仍延期,更可能是产能估算问题;如果次数频繁,则优先解决准入和分级。
第二,预留缓冲的消耗速度。假设为临时任务预留了总产能的两成,如果缓冲在周期前半段就耗尽,说明临时任务的准入过松;如果缓冲长期用不完,说明预留过多,可以适当回收给合同任务。
这两个指标只用于判断排期机制是否合理,不能单独证明某个处理方式正确。抓取量或请求量下降也可能来自季节波动、竞争对手动作或统计口径变化,不能直接归因于排期调整。
把任务分成两条队列,并设定明确的置换条件。
执行这个动作后,下一步要看的是合同任务的按期率和救火任务的平均处理时长。如果按期率上升但救火时长明显拉长,说明缓冲设置偏紧,需要调整预留比例;如果两者都改善,说明双队列机制在当前产能下成立。
假设某周合同队列安排了三个页面优化任务,救火队列收到一个已上线页面无法正常访问的反馈。按置换规则,该问题影响转化路径且不可延后,允许从合同队列借调半天产能。
结果是其中一个页面优化任务顺延半天,需要在下周初补回。如果下周合同队列原本已满,这次置换就会产生连锁顺延。因此置换时必须记录顺延量,并在下一次排期时优先补回,而不是让顺延不断累积。
这个例子的数字仅用于说明比较方法,不代表实际项目中的固定比例。实际预留多少缓冲,取决于合同任务的关键路径长度和临时任务的历史波动范围。
双队列加置换规则适合合同任务有明确交付节点、临时任务来源相对集中的情况。如果临时任务占比长期超过总产能的三成,单纯靠排期技巧难以解决,需要重新评估合同承诺的产能或增加交付资源。
取舍的代价是:合同任务不再随时可被插队,临时任务的处理速度会有所下降。换取的是合同交付的可预期性。如果业务方更看重即时响应而非合同按期率,可以缩短缓冲周期、提高救火队列的处理频率,但合同任务的顺延风险会相应上升。选择哪一种,取决于合同违约成本和临时问题恶化成本哪个更高。