首页/开发/代码质量与评审速查/债务利息:如何描述与量化
技术债与度量63 条

债务利息:如何描述与量化

利息是债务的持续成本:修改耗时变长、回归缺陷增多、新人上手变慢、发布风险升高;用可观察证据描述利息(工单时长、缺陷分布、发布频率),比形容词更有说服力。

债务利息怎么描述

利息是债务带来的持续成本:修改耗时变长、回归缺陷增多、新人上手变慢、发布风险升高。用可观察的证据描述利息——工单时长、缺陷分布、发布频率、访谈记录,比形容词有说服力,也更容易换来排期资源。

基本信息

利息形态时间(更慢)、质量(更多缺陷)、士气(更抵触改动)
证据来源工单耗时、事故记录、发布周期、访谈
表达方式具体到数字与发生频率
计算口径额外耗时乘以改动频率
用途与偿还成本对比,得出优先级

典型使用场景

  • 争取重构排期时给出量化依据
  • 复盘时说明某次事故与历史债务的关系
  • 评审中评估新债务将产生多少长期成本
  • 对比两个模块的利息,决定先改哪个
  • 向业务解释为什么改动变慢

利息估算示例

利息估算示例
模块:报告导出(每迭代约 6 次改动)
额外回归时间:每次约 0.5 天
每迭代利息:约 3 天,接近 0.6 人周
偿还预估:重构 5 人日 → 约 2 个迭代回本
# 汇报时给出这个对比,排期讨论才有依据

利息的三个维度

维度表现证据
时间改动变慢、审查等待变长工单耗时、交付周期
质量回归缺陷与事故增多缺陷分布、事故记录
士气抗拒改动核心模块访谈、人员流动原因
计算只需粗糙可用:额外耗时乘以发生频率,得到的是量级而不是精确值;量级足以支撑排序,追求精确反而拖慢决策。
只算偿还成本不算利息,优先级的依据是不完整的:成本永远看起来很高,而每天都在发生的损失没有进入等式。
利息不是恒定的:改动频率上升、模块被更多功能依赖时,同样的债务会变得更贵。债务清单需要定期复核,而不是一次评估管一年。

易错点

  • 用代码很烂来汇报:没有数据难以获得资源,讨论停留在感受层面
  • 只算偿还成本不算利息:优先级依据不完整,重构总被其他需求挤掉
  • 用夸张数字博关注:一次被证伪后,后续技术改进提案都难通过
  • 把利息笼统归因于上线压力:缺少具体证据,无法定位到可偿还的模块

数据来源与参考

  • Fowler 技术债讨论(利息与偿还视角);工程度量实践
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌