先给结论:不要因为“已经做完了”就默认留下,也不要因为“需求取消了”就立刻删除。评估的核心不是沉没成本,而是这项功能当前是否仍被真实用户依赖、是否与其他流程耦合、以及保留它的持续代价是否可接受。若访问量已归零,这只能说明它可能不再被使用,不能单独证明下线正确,因为入口被隐藏、权限收紧或统计口径变化都会造成同样的现象。
需求取消通常发生在开发完成之后,此时功能可能已经上线,也可能只存在于代码库中。两种情况评估路径不同。已经上线的,先区分三种原因:入口被撤掉导致自然无人访问;入口还在但用户改用其他路径;功能本身从未被真正推广过。只看到访问量下降就下结论,容易误判。
可以做一个假设示例:某报名页面的活动需求取消,页面仍可访问,近三个月访问量接近零。此时先核对入口是否还挂在导航或站内搜索里。如果入口已被移除,那么零访问是预期结果,不能作为删除依据;如果入口仍在而无人点击,才更接近“确实不需要”的证据。这个动作的结果直接决定下一步:入口被移除的,应恢复入口观察一个周期,再决定留用或下线。
三种处理方式不是并列推荐,而是对应不同的前提。
取舍的关键在于耦合程度。耦合越深,退出的代价越高,改写的收益也越需要重新核算。
决定留用或下线前,先列出这项功能牵连的对象,再逐项确认。清单本身不需要复杂,但要覆盖实际调用关系。
如果清单显示只有前端入口一处引用,退出成本低;如果存在后端依赖,优先考虑改写而非直接删除。这个判断会影响下一步是安排一次清理,还是安排一次重构排期。
确认要下线时,先做两件事,再执行删除。
第一,关闭入口并观察一个完整周期。假设入口关闭后访问量仍不为零,说明存在未被发现的外部链接或用户书签,此时应保留一个说明页而非直接返回错误页。第二,检查数据留存期限。若数据仍需保留,删除功能代码不等于删除数据,两者要分开处理。
这两个动作的结果会改变后续安排:入口关闭后仍有访问的,需要先排查来源再决定是否彻底移除;数据仍需保留的,应把功能下线与数据归档拆成两个任务,避免一次操作同时承担两种风险。
需求取消后功能已开发,本质是变更管理留下的尾巴。处理完之后,值得回头确认一件事:当初的验收项是否只覆盖了“功能可用”,而没有覆盖“需求存续条件”。如果验收时没有约定需求取消后的处理方式,同类问题会在下一个项目重复出现。把“需求取消时由谁决定留用、改写或退出”写进变更记录,比事后逐个补救更省成本。