核心问题

为什么有些需求真正难的不是开发,而是迁移、兼容和发布?

真实场景

团队要把“用户”拆成“账号”和“成员”。新模型更合理,但系统里已有几百万用户数据、多个下游报表、历史接口和移动端旧版本。

这不是简单改表。

常见误区

坏判断是:

新逻辑写完,就算完成。

生产系统里,新逻辑上线只是其中一部分。旧数据、旧客户端、旧接口都还活着。

工程视角

大改动通常需要考虑:

  • 历史数据如何迁移。
  • 新旧逻辑是否并行。
  • 老版本客户端是否兼容。
  • 下游系统何时切换。
  • 灰度期间如何监控。
  • 出问题能否回滚。

PM 可以怎么做

PM 要把“上线”拆成阶段:

开发完成
数据迁移
灰度发布
监控观察
全量切换
旧逻辑下线

每个阶段都有风险。

Atlas Action

对任何涉及数据模型变化的需求,必须问:

历史数据怎么办?
老版本怎么办?
失败后怎么回滚?

小结

真正的工程成本常常藏在开发完成之后。

PM 理解迁移、兼容和灰度,就不会把“写完代码”误认为“系统完成”。