把合同内任务和临时救火任务放进同一张排期表,通常会导致两种结果:要么合同内任务被无限推迟,要么临时的技术故障拖垮整月交付。合理的做法是分两条队列:合同内任务按交付里程碑排,临时救火任务按影响面和可恢复时间排,并提前约定每周可以动用的救火工时上限。下面从排期冲突的根源讲起,给出可以核对的判断依据。
常见的矛盾是:服务方认为“这周都在处理你临时提的问题”,客户方却认为“合同里的核心任务一个都没推进”。同一个事实,两边理解不同,原因通常有两种。
第一种解释是计量口径不同。服务方按“投入的工时”统计,客户方按“完成的交付物”统计。临时救火消耗了大量工时,但没有产出可验收的交付物,双方看到的就是两个结论。
第二种解释是优先级没有书面约定。合同里写了任务清单,却没写“当临时问题与合同任务冲突时谁优先”。于是每个临时问题都被当作最高优先级处理,合同任务的排期自然被挤掉。
这两种解释指向的解决方式完全不同:前者要统一计量口径,后者要补优先级规则。判断属于哪一种,可以看一个证据——过去一个月的排期记录里,临时任务是否都有明确的提出时间、影响范围和关闭时间。如果有,说明是优先级规则缺失;如果没有,说明连计量口径都还没建立,先解决记录问题更重要。
合同内任务的特点是范围事先约定、验收标准相对清晰,适合按里程碑排期,而不是按小时堆叠。具体可以这样做:
这样排期的实际效果是:当客户提出“为什么进度慢”时,双方可以一起看前置条件清单,而不是争论谁更努力。如果发现卡点长期集中在客户侧的前置条件,下一步就该调整前置条件的提供方式,而不是继续压缩服务方的执行时间。
临时救火任务不能一律插队,也不能一律拒绝。可以按两个维度快速分级:影响面(影响多少页面、多少业务动作)和可恢复时间(不处理的话,多久会恶化到不可逆)。
假设一个例子:某天发现部分页面返回异常状态码,影响的是全站抓取;同一天客户又提出希望调整某段文案。前者影响面大、恶化快,应进入救火队列并暂停当天原定任务;后者影响面小、可延后,进入待办队列,在下一个合同任务的间隙处理。
为了让这个分级可执行,需要在合作开始时约定三件事:
当双方对“这周做了什么”各执一词时,最有用的不是解释,而是一份同时列出两条队列的对照表。表里至少包含四列:任务来源(合同内或临时)、当前状态、影响的下一个里程碑、需要谁提供什么。
一个实际动作是:在每周同步时,先过合同内里程碑的对照表,再过临时任务的关闭情况。这个顺序会影响下一步决策——如果发现连续几周临时任务都触发了救火上限,说明合同范围本身需要重新评估,而不是继续在原有排期上打补丁;如果临时任务数量稳定且都在上限内,说明当前排期结构可以维持,只需继续记录。
需要说明的是,抓取量或请求量在某个时间段下降,不能单独证明排期处理正确。它还可能来自节假日、内容更新节奏变化、外部链接波动等合理解释。排期是否合理,最终看的是合同里程碑是否按约定推进、临时任务是否在约定上限内被关闭,这两项才是可以核对的项目。
把两条队列分开、把优先级写成规则、把每周救火上限写进合作约定,排期争议就会从“谁更忙”变成“哪一项该先做、做到什么程度算完成”的可核对问题。