写点什么

用金钱计算技术债务

  • 2010-03-31
  • 本文字数:1206 字

    阅读完需:约 4 分钟

很多敏捷团队都能认识到技术债务相关的罪状。就跟财务上的负债一样,技术债务也会产生利息。要支付这些利息,就要付出额外努力维护和改进正在“腐化”或基础并不牢固的软件。诸多敏捷人士推荐尽早偿还技术债务。然而,大多数敏捷团队无法成功以金钱的方式计算技术债务,因此无法得到有价值的深入理解和思考。

一旦有了与技术债务直接相关的金钱数目,关于软件的多种复杂而麻烦的问题就能得以回答。 Israel Gat 提出:除非对于技术债务有一个量化的账单,否则团队都会忽略其重要性,软件会因此而逐渐腐化,无法补救

当债务达到一定程度之后,就没有什么好的补救方法了。代码质量非常糟糕,这时要修复任何部分都会造成伤害,不管修复哪里似乎都会破坏其他某些部分代码。

他还提到了以金钱方式计算技术债务的需要,并使用收支平衡表展示出其作为债务的一面

在 Israel 看来,以金钱方式计算技术债务有如下好处:

  1. 能够告诉团队何时停止开发,开始重构——当技术债务达到一定程度后(比如每行代码 25 美分),就要暂停开发新功能。团队进入重构过程,除非债务得以偿还,否则不加入任何功能。
  2. 软件的客户对于软件的风险得以了解——Israel 认为这符合敏捷宣言中的一项:“客户协作胜过合同谈判”。
  3. 风险投资者能够以此做出投资决策——VC 们可以以此判断向某项软件产品中投入资金是否理智。
  4. 有助于判断软件的支付能力——软件在其生命周期的演化过程中,与之伴随有开发和维护活动,以金钱方式计算技术债务能够有助于回答与这些活动相关的支付能力问题。
  5. 有助于人们在重构和重写这二者之间做出选择——将技术债务与其他重要因素联合起来,能帮助人们判断是否要重新开始。
  6. 有助于定义限额——一旦金钱上的限额定义出来之后,就能帮助 CxO 等利益干系人做出成熟的决策。

那么,有哪些有效的方式可以用来将技术债务以金钱衡量呢?

使用 Sonar 中的技术债务插件是一种方式。在 Sonar 的实时站点上,已经有了对于多个项目的技术债务分析。要计算成本,首先要使用下面的方式找出债务:

  • 债务(以人天计算)={修复重复部分的成本+修复违规的成本+为公共 API 做注释的成本+修复未发现的复杂性的成本+带入低于阈值复杂性的成本+在包的层面上切断生命周期的成本}

在上面各种违规情况中,对于每个小时的成本有个默认值。比如:

  • 修复重复部分的成本={修复 1 个部分的成本 * 重复的部分}

现在,比如默认的“修复重复部分的成本”为 2 个小时。假设每个开发人员每天的成本是 500 美元,一天有 8 个小时,那么修复一个重复部分就要花费 125 美元。与之类似,就可以做出针对各种违规情况的金钱分析,并可以计算出最终的技术债务总和。

因此,以金钱方式计算技术债务能够让人们深入理解与软件相关的潜在成本。对于所有希望监控技术债务成本并将其保持在一定限额内的敏捷团队来说,这很关键。这么做有助于创造一个易于维护和改进的软件产品,同时让 VC 有信心投资,让客户有信心买单。

查看英文原文: Monetizing the Technical Dept

2010-03-31 00:002345
用户头像

发布了 479 篇内容, 共 183.3 次阅读, 收获喜欢 53 次。

关注

评论

发布
暂无评论
发现更多内容

项目申报评审系统(源码+文档+部署+讲解)

深圳亥时科技

反向 Debug 了解一下?揭秘 Java DEBUG 的基本原理

京东科技开发者

DoH与DoT协议:增强DNS安全性的双保险

代码忍者

2024 都要过完了,我不允许你在 Go 中还不会解决 CORS 跨域问题

江湖十年

Go 面试 后端 CORS 跨域

16.迭代器模式设计思想

杨充

企业数字化转型现状

芯盾时代

数字化转型 iam

MacBook Air M3推荐什么硬盘? 为什么新买的硬盘MacBook Air不能读

阿拉灯神丁

MacBook 硬盘 Tuxera NTFS2023 NTFS 磁盘管理器 磁盘工具

FL Studio提速这样做!告别卡顿、闪退,畅快编曲

阿拉灯神丁

音乐制作 编曲软件 FL Studio2024 FL水果

从 Llama 1 到 3.1:Llama 模型架构演进详解

Baihai IDP

程序员 AI LLM llama Baihai IDP

2025山西晋中等保测评机构地址在哪里?电话多少?

行云管家

等保 等保测评 晋中

Go语言中的加解密利器:go-crypto库全解析

左诗右码

Go

公共事业信息系统怎么定义?需要过等保吗?

行云管家

信息系统 等保 等保测评 公共事业

记录一次RPC服务有损上线的分析过程

京东科技开发者

【HarmonyOS NEXT】实战——登录页面

帅比九日

鸿蒙 arkui ArkTS HarmonyOS NEXT

CST软件如何将平面结构弯曲贴到另一个结构上

思茂信息

仿真 cst CST软件

多客校园圈子小程序源码 校园生活综合服务平台 校园服务小程序源码

DUOKE七七

HyperWorks基于几何投影的网格变形

智造软件

仿真 altair hyperworks

俯瞰 Monorepo,别一番风景!

蛋先生DX

前端 前端架构 前端工程化 Monorepo

拼多多商品详情数据接口(Pdd.item_get)丨拼多多API接口指南

tbapi

拼多多商品详情接口 拼多多API接口

商业开源服饰电商大模型-摹图

摹图

AI AI大模型 AI 图像生成

【行云流水线】满足你对工作流编排的一切幻想~skr

京东科技开发者

别想消灭证据!U盘直接拔掉怎么恢复丢失的数据?超实用技巧一键恢复

阿拉灯神丁

U盘启动盘 EasyRecovery 数据恢复软件 EasyRecovery16 数据丢失

如何把苹果电脑里的照片导出至U盘 Mac照片批量拷到移动硬盘

阿拉灯神丁

存储 拷贝 硬盘 Tuxera NTFS教程 mac 效率工具

社区论坛小圈子小程序源码系统:自定义小程序管理社区圈子软件圈子系统系统开发-做社区圈子丨圈子论坛社区交友系统开源版小程序源码丨

DUOKE七七

php 源码 开源软件

行政人员必备!如何快速生成一批人员信息卡?

草料二维码

用金钱计算技术债务_研发效能_Vikas Hazrati_InfoQ精选文章