核心问题
为什么有些需求真正难的不是开发,而是迁移、兼容和发布?
真实场景
团队要把“用户”拆成“账号”和“成员”。新模型更合理,但系统里已有几百万用户数据、多个下游报表、历史接口和移动端旧版本。
这不是简单改表。
常见误区
坏判断是:
新逻辑写完,就算完成。
生产系统里,新逻辑上线只是其中一部分。旧数据、旧客户端、旧接口都还活着。
工程视角
大改动通常需要考虑:
- 历史数据如何迁移。
- 新旧逻辑是否并行。
- 老版本客户端是否兼容。
- 下游系统何时切换。
- 灰度期间如何监控。
- 出问题能否回滚。
PM 可以怎么做
PM 要把“上线”拆成阶段:
开发完成
数据迁移
灰度发布
监控观察
全量切换
旧逻辑下线
每个阶段都有风险。
Atlas Action
对任何涉及数据模型变化的需求,必须问:
历史数据怎么办?
老版本怎么办?
失败后怎么回滚?
小结
真正的工程成本常常藏在开发完成之后。
PM 理解迁移、兼容和灰度,就不会把“写完代码”误认为“系统完成”。