把合同内任务和临时救火任务排进同一张表,通常不是效率问题,而是触发条件没写清。我的建议是:合同内任务按交付节点排,临时任务按影响面分三级,只有满足“正在产生可见损失”或“阻断合同内任务上线”的才进入当天队列,其余进缓冲池,并明确它挤掉的是哪一项合同内任务。
拿到一个临时请求时,不要先问“急不急”,先问“它是否让已承诺的交付无法继续”。如果答案是否定的,它就不该占用合同内任务的排期位。可以按下面三类判断:
判断依据要落到可观察事实上,而不是感觉。比如“客户说很急”不是依据,“首页表单提交后无响应,且当天有投放落地页指向它”才是。这个区分决定了后面排期动作的力度。
合同内任务之所以容易被临时任务冲散,是因为它在排期表里往往只占一行。把它拆开,临时任务才有“挤掉谁”的对照物。以一份网站改版合同为例,可以拆成:
拆完之后,每个节点标注前置条件和最晚开始时间。如果某个临时任务要占用两天,你能立刻看出它会让哪个节点错过最晚开始时间,而不是笼统地说“进度受影响”。这一步做完,排期就从“谁喊得响”变成“谁挡了关键路径”。
假设一个具体场景:合同内任务是三天后上线新落地页,今天收到临时请求——旧版产品页图片全部错位。按前面的分级,它属于影响级,有替代路径,不该当天插队。可以执行这个动作:
把它记入缓冲池,写清两件事——影响范围(哪些页面、是否影响转化路径)和最迟处理时间(例如上线后第二个工作日)。同时回复对方一个明确时间点,而不是“尽快”。
这个动作的结果是:合同内任务的上线节点不变,临时任务也没有被丢弃,而是有了可追踪的处理窗口。下一步就是在上线完成后核对缓冲池,确认它是否仍然存在、是否已因其他改动自然消失。如果它在缓冲期内升级为阻断级,比如错位导致表单无法点击,那就重新分级,并明确它挤掉的是内容校对还是上线检查——挤掉哪一项,就要把哪一项顺延,不能只加不减。
以下情况成立时,原来的“合同优先、临时进缓冲”需要调整:
反过来,如果临时任务不满足以上任何一条,就维持原规则,不要因为对方反复催促就临时改排期逻辑。规则频繁变动,比任务多更伤交付。
实际操作上,最省事的做法是在排期表里增加一列“被挤占项”。每接受一个临时任务,就在这一列写明它占用了哪个合同内节点的时间。这一列空着,说明临时任务没有代价,通常意味着排期本身是虚的;这一列填满,说明需要和对方确认顺延范围。
每周核对一次:缓冲池里有多少项已自然消失、多少项升级、多少项转为合同变更。这个比例能告诉你,当前的临时任务量是偶发还是结构性缺口,从而决定下周是继续按缓冲池处理,还是先停下来修根因。排期不是把任务排满,而是让每一次插队都有明确的代价和可追溯的去向。