先给出直接答案:把这项功能当成一笔已经花掉的成本来评估,而不是当成欠下的债。判断依据是它当前是否还有明确的业务承接方、是否产生可观测的维护负担、以及下线动作本身会不会牵连其他功能。三项都指向“无承接、有负担、牵连小”,就优先下线;只要有一项相反,就留用并指定归属人。下面以你手里那份已开发功能清单为对象,逐步转成可执行方案。
需求取消不等于功能一定没人用。常见的情况是:当初提需求的人调岗或离职,但运营、客服或某个渠道仍在依赖它。判断方法不是问提需求的人,而是查三个客观痕迹。
假设一个例子:某功能是给旧版活动页做的报名统计,活动已结束。你查调用记录发现仍有零星请求,进一步看来源是后台一个未删除的快捷入口。这种情况属于“有请求但无业务承接”,不应据此判定留用。
只比较“留着占地方”太模糊,换成下面三项,每项给出你自己的估分,再决定。这里不给权重数字,因为不同团队的运维能力差异很大,你需要按自己的实际排期来定。
实际操作是:打开你的功能清单,给每项功能标上这三项的“高/中/低”。标记完成后,先处理“高牵连 + 高暴露 + 无承接”的那几项,这是下线收益最明确的一批。
直接删代码风险高,因为牵连关系常常在删除后才暴露。更稳的动作是分两步:先隔离,再观察,最后才删除。
隔离的具体做法是关闭入口或路由,但保留代码和数据表,同时在监控里保留它的错误捕获。隔离后观察一个完整的业务周期,比如一个月度结算周期或一个季度。观察期内如果没有人报障、没有下游任务失败,再进入删除。
这个动作会直接影响下一步:如果隔离期间出现报障,说明存在你未识别的承接方,此时应把功能标记为“留用”,并补上归属人和维护说明,而不是继续推进删除。如果没有报障,删除的决策依据就从“猜测”变成了“观察结果”。
留用不等于什么都不做。如果评估结果是留用,需要同时记录三件事,否则半年后同样的问题会再出现一次。
回到最初的问题:留用还是下线,不取决于需求是否取消,而取决于是否存在承接方、维护负担是否可控、删除是否牵连他人。以你手里的功能清单为起点,先标三项、再隔离观察、最后按观察结果决定,这条路径能把一个模糊的争议变成有依据的处理方案。如果隔离期内出现报障,先恢复入口并补归属人,再重新评估,而不是强行删除。