技术债:从打补丁到被迫重写
每个 sprint 都在加功能、不在还债,新功能开发速度从 100% 跌到 20%——技术债是熵债最清晰的样本:打补丁是还利息,重构才是还本。
一、引子
每个做软件的团队都听过这句话:
“先上线再说,后面再优化。”
说这句话的时候,没有人觉得自己在犯错。快速上线有业绩、有反馈、有用户,这是对的。
但三年后,同一个团队开始说另一句话:
“我们必须重写整个系统。”
这两句话之间,隔着一个完整的熵债周期。
二、机制:为什么分期在这里失败了
技术债的积累路径几乎是标准化的:
- “先上线再说”(分期——跳过架构设计、测试、文档)
- 每个 sprint 都在加功能,不在还债(还利息——补丁叠补丁)
- 架构腐化加速——新功能开发速度从 100% 跌到 20%(债务复利)
- “我们必须重写整个系统”(强制清算)
为什么打补丁解决不了? 软件是紧密耦合系统——每个模块都和其他模块纠缠。局部打补丁(只修这里、只改那里)会积累不可见的"交互债务":A 模块的补丁和 B 模块的假设冲突,没人知道;没人敢动的"幽灵代码"越来越多;测试覆盖越来越低,因为写测试不"免费"。
技术债的利息是非线性的:不是固定利率,而是随债务积累加速增长(债上加债)。每个新功能都在更脆的地基上加盖。
三、清算:重写的代价
重写是整个周期的"一次性支付"。它的特征是:
- 成本高:重写成本可达持续维护成本的 3-10 倍
- 成功率低:历史上有名的重写失败——Netscape 重写 Navigator 期间被 IE 超越;无数创业公司的"重写即死亡"
- 没有"再分期"选项:债务已经大到局部修补无法承受
更隐蔽的代价是转移方向:当下团队享受了"快速交付"的 KPI(分期),未来团队/接手者承担"重写"的清算(一次性支付)。写补丁的人升职了,背重写锅的人是新来的。
四、AI 时代的加速
AI 让技术债积累显著加速:
- 代码 churn(反复修改)显著上升,复制粘贴比例上升——AI 倾向生成与现有代码重复的片段
- 使用 AI 的开发者 PR 数量 +47%,但 review 深度与测试覆盖未同步提升——量升质降
- 更危险的:“是 AI 生成的"成了免责声明——熵债产权黑洞,没人对 AI 生成物的可维护性负责
判断标准没变,只是更快暴露:新功能速度下滑、bug 修复速度超过新功能速度、“没人敢碰的模块"变多、新人上手时间变长——这些信号出现时,你已经在还利息了。
五、怎么破
- 技术债看板 + 二阶导监控:不只记录债务,要监控债息的变化速度——如果债务在加速(二阶导为正),立即介入
- 重构配额:每个 sprint 固定 20% 产能用于还债(Netflix/Google 实践)——主动的小额清算远优于被动的大爆炸
- 还本检验:每个"快速修复"过五关验真——补丁增加复杂度 = 还利息,必须附还本计划
- AI 生成必须匹配验证:AI 生成代码要配测试覆盖和人工 review——生成配额与验证配额 1:1
一句话:技术债不是"欠了代码”,是"欠了结构”。还利息是打补丁,还本是重构——差别不在你修了多少,在你修的每一笔有没有让系统结构变简单。
📚 延伸阅读
-
熵债定律:为什么小事不处理会变成大事
维护成本不会消失,只会转移。你不在当下支付的成本(分期),一定会在未来以更大的形式被强制执行(一次性)。
-
熵债验真:五关拆穿虚假还债
你以为在还债,其实在还利息。五个问题,当场拆穿一个'努力'动作到底在还什么。
-
AI 时代的熵债:越用 AI 越该警惕什么
AI 让'先凑合'变得免费——你正在无意识积累债务。生成越来越快,验证越来越慢,这个剪刀差是 AI 时代熵债的本质。