先给结论:不要因为“已经花了开发成本”就默认留用,也不要因为“需求方说不要了”就立刻下线。判断的分界线是该功能是否仍在承载可识别的访问、数据写入或对外承诺。若仍在承载,走“隔离观察+明确归属”的留用路径;若完全无流量、无数据依赖、无合同或合规牵连,走“下线并清理”的路径。两条路径的动作和验收标准不同,混着做最容易留下无人负责的隐患。
需求取消只说明“当初的立项理由消失”,不等于功能当前没有价值。评估时先看三组可验证的证据,而不是听谁的表态。
这三组证据里,只要有一组为“是”,就属于条件A:仍需留用但需重新定性;三组全为“否”,才进入条件B:可以下线。请求量归零本身不能单独证明可以下线——它也可能是统计口径变更、入口被临时隐藏或采集脚本失效造成的假象,需要先排除这些解释。
留用不等于维持原样。已取消需求的功能继续按正式模块维护,会持续消耗人力,正确动作是把它从“在建项目”转为“存量资产”,并指定唯一负责人。
假设某站有一个已开发的活动报名模块,活动取消后入口仍被旧海报上的二维码指向。此时先保留接口、隐藏首页入口,观察一个报名周期:若仍有零散提交,说明对外承诺还在,应保留并补上说明;若确认无提交且二维码已失效,再转入下线流程。这个顺序把“是否有人用”变成可观察的事实,而不是争论。
直接删除往往是最危险的做法。下线的核心是先断入口、再停写入、最后清数据与代码,每一步都留出可回退的窗口。
需要说明的例外是:如果该功能涉及用户已提交的数据、已产生的订单或已承诺的服务,即使需求取消,也不能按“无访问”直接下线,应优先履行告知与数据处理义务。这是合规约束,不是流量判断。
无论走哪条路径,评估结束时都应产出三样东西:一份证据记录(访问、依赖、承诺的核查结果)、一个明确结论(留用或下线)、一个负责人和复查时间点。这样下一次遇到需求取消时,团队不必重新争论,而是直接对照证据判断。留用与下线的差别不在于成本已经花了多少,而在于它今天是否仍在承担真实职责。