技术债量化与偿还计划别等系统崩了才算账
2026-11-16 02:17:22
作者:
fawen
没人能说清欠了多少
上个月跟一个做SaaS的朋友吃饭。他吐槽,说他们后端团队又炸了。凌晨两点,支付回调超时,牵扯出一个埋了三年的坑。老板第二天在群里问:这技术债到底有多少?能不能给个数?
群里安静了十分钟。
没人吭声。
不是不想答,是真答不上来。你说十四个模块有代码重复?这算几块钱?你说那个祖传的服务没人敢动?那又值多少?
技术债这词儿造得特别好。债嘛,可以借,可以还,有本金有利息。但问题是——大部分团队只记了个流水账,没做过资产负债表。没有量化,还款计划就是一句空话。
所以每次聊起重构,都像在说一件凭良心做的事。靠情怀,靠某个技术负责人的执念。这不靠谱。真的不靠谱。
软件开发团队技术债务看板示例
把利息算出来
那怎么量化?我聊过几个团队,发现有个思路挺实用。不追求财务级别的精确,追求——方向感。
什么意思?
就是把技术债换算成三种利息。
第一种,变更成本。同一个需求,在健康模块改要两天,在腐化模块改要两周。这多出来的八天就是利息。你记录这个数,比记录什么圈复杂度有用得多。
第二种,故障频率。某个服务平均每个月出一次P1,每次灭火要卷进去三个人。一年算下来,光加班费就不少。更别说用户流失。
第三种,认知负担。这块虚一点,但可以侧面量。新人上手那个模块需要多久?问三个人,取中位数。超过一个月的,基本就是高危区。
你看,这三个指标不用买任何昂贵工具。Excel就能记。麻烦的地方在于——你得坚持记。
顺便说一句,很多团队喜欢用静态扫描工具。SonarQube那一套。代码异味数量、重复率、覆盖率。有用吗?有点用。但工具给的是技术视角的病情,不是业务视角的代价。你拿重复代码块有三百处去跟产品经理聊排期,人家没有感觉的。你得说:因为这块逻辑散落在四个地方,这次改价签功能,测试要全覆盖,多花五天。
这才叫量化。
代码重构前后复杂度对比示意图
还款不是大跃进
还款不是大跃进
量化完了,怎么还?
我见过最惨的,是全组停工一个月搞重构。前三周很爽。代码清爽了,架构解耦了。第四周产品经理疯了——需求全堆着。第五周老板也疯了。
后面的事你也猜得到。重构到一半,业务催得急,草草收场。新代码和旧代码混着,债不但没还,又添了一笔。
所以别搞运动式还款。
我比较认同的思路是——把偿还动作切成小块,塞进日常迭代。
具体怎么做?
比如每个迭代拿出百分之十到二十的容量。不要多。处理哪些债?就处理那三个利息最高的。改完之后,把利息指标再测一遍,看有没有降。
这个动作的关键是可见。别偷偷还。要在迭代评审的时候,把这个利息的变化讲给产品听。让产品知道:这一周我们花了三天堵窟窿,但是下个月同样类型的需求,我们可能能快两天。
产品不傻。他们只要能理解因果,大部分是愿意给这个空间的。
还有个招,叫触碰即偿还。谁改到那个烂模块了,顺手做点小重构。别想着一次改完。改个变量名,抽个函数,补个测试。像滚雪球。
说实话,很多技术债根本不会一次还清。有些模块就是历史包袱,跟着业务一起退休就行了。你要做的是防止它继续恶化,而不是非得把它擦得锃亮。
别让表格躺在那里睡觉
别让表格躺在那里睡觉
最后说一个坑。
很多团队量化的过程挺认真,表格做得也漂亮。但是——做完就放那了。下个季度再问,数据还是三个月前的。
那还不如不做。
我个人的建议是,别追求大而全。就选三五个核心系统,选上面说的那三类指标。每周花半小时更新一下。更新的时候不用很精确,大概就行。
因为量化的目的不是为了汇报,是为了做决策。
你有了这组数,就知道重构该先啃哪块骨头。你就知道版本迭代要不要多留点缓冲。你就知道跟老板要资源的时候,手里有牌。
技术债这东西,本质上是过去的选择让未来的自己背了贷款。量化就是看账单,还款就是分期。没什么玄学。
不过话说回来。你要是团队里连个愿意坚持记数的人都没有……
那可能才是最大的技术债。
免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。如有侵权请联系删除。
文章名称:
技术债量化与偿还计划别等系统崩了才算账
文章链接:https://www.itcdj.com/news/850.html