结论是:不要给整份计划设一个统一的失效日期,而应该为每条需求判断设置可观察的失效条件,并把它绑定到具体页面和具体动作上。这样做的原因是,需求变化快时,真正失效的往往不是整个方向,而是某一条判断所依赖的前提。前提变了,只撤这一条,其余照常执行。
需求变化快,最常见的误操作是一发现新信号就推翻全部计划。更稳的做法是先分清失效发生在哪一层。
把这三层分开,失效条件才能写得具体。写成“三个月后复盘一次”没有意义,因为三个月后你仍然要重新判断一遍,等于没设条件。
时间式条件是“到某天再看”,触发式条件是“出现某个现象就执行某个动作”。需求变化快时,后者更省决策成本。可用的触发信号包括:
每条触发信号都要配一个明确动作:撤判断、合并页面、改写结构,或暂停该动作。只写信号不写动作,等于把问题留到下一次。
假设你为一个工具类站点规划了三条需求判断:A 类查询需要教程页,B 类查询需要对比页,C 类查询需要模板下载页。你为三条都设了触发条件。
执行一段时间后,你观察到 A 类查询的实际意图开始偏向“直接使用”,教程页的停留和后续行为都不理想。按预设条件,A 判断失效,动作是把教程页改为直接可用的入口,而不是重写整批教程。
B 和 C 的前提没有变化,继续执行。这个例子的关键不是数字,而是比较方法:先确认哪条判断的前提变了,再只撤那一条。假设这个比较成立,下一步就是把 A 的失效记录写进变更日志,供后续判断复用。
如果需求变化来自外部环境的整体切换,而不是单条判断的前提变化,那么逐条设失效条件就会失效。此时各条判断会同时被推翻,逐条撤等于反复返工。
判断依据是:多条不相关的判断在同一时间段内同时出现异常,且异常方向一致。这种情况下,应该先暂停整批动作,重新确认需求基本盘,再决定是否重建计划。反过来,如果只有一两条判断异常,就按单条失效处理,不要升级为整体重做。
具体动作是:为每条需求判断写一行记录,包含判断内容、触发信号、对应动作、当前状态。每次执行动作后更新状态,并回看上一次的失效记录是否仍然成立。
这个动作的结果会直接影响下一步:如果记录显示多数判断仍然有效,就继续按原计划推进;如果记录显示失效集中在某一类页面或某一类意图,就把调整范围收窄到那一类,而不是重写全部计划。抓取、索引、排名是不同环节,失效条件也应分别对应到具体环节,避免把某一种现象当成整体结论。