把两类任务放进同一个队列,是排期失控最常见的原因。更稳妥的做法是:合同内任务按交付里程碑占用固定产能,临时救火任务只进入预留的应急通道,并且先判断它是否真的紧急、是否属于合同范围,再决定插队、顺延还是改单。下面用一个假设情境说明具体怎么排。
合同内任务有明确的来源:合同条款、需求确认单、已排定的里程碑。它的排期依据是交付日期和依赖关系,而不是谁催得急。临时救火任务通常来自上线后暴露的问题、第三方接口变动、客户内部临时调整,特点是时间压力大、范围不清楚、责任边界模糊。
区分两者时,可以看三个可核对的信号:
三个信号都指向合同外、且只影响体验时,它属于优化需求,不该占用应急通道。反过来,如果它导致已约定功能不可用,即使合同没写,也要先按救火处理,再补范围确认。
假设某益阳网站建设公司同时在做两个项目。A项目处于合同约定的支付接口联调阶段,B项目刚上线。某天B项目客户反馈“后台登录偶尔失败”,要求当天修复。项目经理把它当成救火任务,直接让A项目的后端暂停联调去排查。
结果当天下午发现,B项目的问题来自客户内部网络策略调整,不是网站代码缺陷,排查本身没有产出可交付的修复。而A项目的联调延后一天,导致原定的验收演示被迫改期。这里反常的地方在于:看起来最急的任务,实际上并不需要开发介入;被牺牲的合同内任务,才是真正有硬性时间约束的那个。
这个情境说明,插队造成的损失往往不是修复本身花掉的时间,而是合同内任务被打断后重新进入状态的代价,以及连带改期的沟通成本。
可执行的做法是把每个人的可用时间显式分成两块。合同内任务占用其中大部分,按里程碑倒排;临时救火只使用预留的那一小块。预留比例取决于项目阶段:联调、上线、验收前应留出更多,稳定运行期可以少留。
接到临时任务时,按顺序做四个动作:
第三步的结果会直接影响下一步:如果预留通道已经用完,就要在“顺延合同内里程碑”和“临时增派人手”之间做选择,并把这个选择书面告知相关方,而不是默默加班消化。
判断错误通常来自只听了描述,没看证据。可以要求提出方补充可核对的信息:出错的具体页面或操作路径、发生时间、影响的是全部用户还是个别账号、是否在近期有过配置或网络变更。如果这些信息拿不出来,任务应停留在待确认状态,不进入开发排期。
还有一种情况需要单独说明:某段时间内救火任务集中出现,不能直接推断为代码质量下降。合理解释包括客户内部系统变更、第三方服务调整、访问量阶段性上升,也可能只是监控告警变灵敏了。要区分这些解释,应把救火任务按原因归类,看集中出现在同一类原因还是分散在不同环节,再决定是修代码、改配置还是调整沟通方式。
排期能否稳定,取决于边界是否提前约定。可以在项目启动时确认三件事:合同内任务的变更走什么流程、临时任务由谁统一接收和判断、预留产能用完后默认顺延还是默认加派。约定之后,每次插队都不需要重新谈判,只需要对照规则执行并留痕。
需要提醒的是,规则本身不保证救火任务减少,它的作用是让每次取舍都有依据、有记录、可追溯。当临时任务频繁挤占合同内任务时,正确的下一步不是继续压缩排期,而是重新评估预留比例和合同范围,把反复出现的救火类型转化为明确的合同内工作项。