把合同内任务和临时救火任务放进同一张排期表,是多数团队反复返工的根源。更可行的做法是:合同内任务按交付里程碑倒排,临时救火任务单独占用一条“响应通道”,两者不共享同一个优先级队列。下面用一个假设情境,把这个判断过程走一遍。
合同内任务的时间属于客户,由签约时约定的交付节点决定;临时救火任务的时间属于你自己,由故障或突发需求的出现时间决定。两者混排时,救火任务会不断插队,合同节点被反复挤压,最后两边都延期。
区分标准可以看三点:
这三条同时成立时,归入合同内队列;只要有一条不成立,就先放进救火队列再判断。
假设你所在的张家界网络公司同时服务三个客户:A客户网站改版进入验收阶段,合同约定月底前完成;B客户做常规内容更新,按月交付;C客户突然反馈网站打不开,要求当天处理。团队只有两名开发和一名运维。
如果按“谁先喊谁优先”排,C会立刻占用全部资源,A的验收节点被推迟,月底违约风险上升。正确顺序是先判断C的问题属于哪一类:如果C在合同维护范围内且故障影响线上访问,它本身就是合同内任务,只是触发时间不可预期,应走应急通道;如果C的要求超出合同范围,比如临时加一个活动页,那它属于救火任务,要单独排。
这个判断动作只需要几分钟,但它决定了后面所有排期是否成立。判断结果会直接影响下一步:属于合同内的,插入应急通道并同步调整A的验收缓冲;属于救火任务的,进入待评估队列,不占用A的资源。
合同内任务的排期逻辑是倒排。先确定验收或上线日期,再往前推每个阶段的完成时间,最后在关键节点之间留出缓冲。
缓冲的作用是吸收救火任务带来的资源占用。如果缓冲被消耗完,说明合同内任务的排期已经不安全,此时应减少救火任务的接入量,而不是继续压缩合同任务的时间。
救火任务不能和合同内任务共用优先级,需要单独一条响应通道。通道内按影响范围和紧急程度定级:
定级之后要做一个动作:把救火任务的预计耗时写下来,和当前合同任务的剩余缓冲对比。耗时小于缓冲,可以插入;耗时大于缓冲,要么和请求方协商时间,要么走合同变更流程补充资源和工期。这个对比动作决定了救火任务能否被接下,也决定了合同节点是否需要重新沟通。
两条通道并行时,资源分配需要一条明确规则,否则定级只是形式。
一种做法是固定比例:例如每周留出固定比例的工作时间给救火通道,超出部分顺延。它的适用条件是救火请求量相对稳定、可预测。另一种做法是阈值触发:只有当救火任务影响线上可用性时才立即响应,其余一律排队。它适用于合同节点密集、缓冲很薄的阶段。
选择哪种,取决于合同节点的密度和救火请求的波动程度。合同节点越密集,越应该用阈值触发,把资源锁在合同任务上;救火请求越频繁且越不可预测,越需要固定比例,避免每次都临时决策。
无论选哪种,都要记录每次救火任务的实际耗时。这些记录是下一轮排期的依据:如果连续几周救火耗时都超过预留额度,说明要么预留不足,要么合同范围需要重新界定,此时应调整的是排期规则本身,而不是继续靠加班消化。