写点什么

软件债务的累积会消耗巨大成本

  • 2009-08-11
  • 本文字数:887 字

    阅读完需:约 3 分钟

最近有一篇名为《系统变老,仍可交付更多价值》的文章,作者 Chris Sterling 在其中讨论了“软件债务”的概念——“如果只想着编译马上通过,而忽略系统随时间推移本应具有的可变性,软件债务就会不断积累。”在他看来,软件债务要比技术债务影响更为恶劣。

他认为软件债务由以下 5 个部分构成:

  • 技术债务:现在不去做、没有完成的事情,将会在未来对开发工作产生负面影响。
  • 质量债务:难以验证整个系统的功能和技术质量。
  • 配置管理债务:集成和版本发布管理变得更具风险、复杂,而且更易于出错。
  • 设计债务:要想加入一般复杂度的功能,其成本不断增加,并超出如果从头开发要付出的成本。
  • 平台经验债务:能够开发系统功能的人力资源受限。

他还说到软件债务如何在项目中潜伏下来,还提到项目中如何随时间推移积累软件债务,他指出:债务发生之时,项目经常面临复杂度的不断增加,在这种情况下仍希望产生最好的激励,并维护交付的正常节奏,就会积累债务。

Bill Curtis 以同样的基调讨论了 Muda (即日语中的“浪费”)对软件项目的影响:软件项目中最常见的浪费来源就是返工,这往往是软件债务的结果:

少数对返工的研究指出:在大多数未能成功推行流程改进的组织中,返工所占的项目工作量介入 30% 到 50%。这个数字令人痛苦不堪,不仅在收集数字时如此,而且想让人们承认也是难上加难。没有几个公司高层愿意承认他们在应用开发上浪费了 40% 的投入。

Sterling 提出几种管理和减少软件债务的方法:

  • 整理一个工作列表
  • 强调质量的重要性
  • 不断改善工具和基础架构
  • 持续提升系统设计
  • 在组织中共享知识
  • 最重要的一点:雇佣正确的人来开发你的软件!

他在这篇文章中给出了如何做到上述措施的建议。

在文章的结尾,他说道:

系统使用时间越长,就越难做出调整。当软件债务以技术债务、质量债务、配置管理债务、设计债务和平台经验债务的形式潜入系统之中,软件资产就变成负债了。 应用本文中的 6 原则,就能带来小的改变,随时间推移,这些细微改变就会为团队和组织带来显著的正面影响。管理软件债务的目标是要优化我们行业中软件资产的价值,从而增加客户使用软件时的满意度。

您的组织如何做到降低软件债务、保护他们在软件系统中的投资?

2009-08-11 21:442176
用户头像

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

关注

评论

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

深入理解 HDFS(三):HRPC

冰心的小屋

hdfs RPC hadoop rpc

有奖活动 | 大咖论道:一同畅聊鸿蒙生态

HarmonyOS开发者

HarmonyOS

适合自己企业的erp系统怎么选?这8条关键因素缺一不可!

优秀

ERP系统

【腾讯云 Cloud Studio 实战训练营】使用Cloud Studio构建SpringSecurity权限框架

小鲍侃java

Java' spring、

【腾讯云 Cloud Studio 实战训练营】使用Cloud Studio快速构建React完成点餐H5页面还原

小小白

腾讯云 Cloud Studio

何时使用Elasticsearch而不是MySql

越长大越悲伤

MySQL elasticsearch

AI融入管理软件,是否会是下一个“ERP时代”的前奏?

B Impact

erp系统都有哪几家,如何选择适合自己企业的erp系统?

优秀

ERP系统

吴声年度演讲,关于Notion 的“模版”和 CLG |highlight

B Impact

探索式测试-用Scrum的套路做测试

大头

Scrum 敏捷测试 探索测试 敏捷迭代

代码随想录Day41 - 动态规划(三)

jjn0703

挖掘数据价值,助力企业智能升级丨华为云华为云通用AI解决方案简评

YG科技

10. 数据类型 - 元组详解

茶桁

Python 数据类型 tuple

CMake中使用vcpkg

芯动大师

Go 注释

小万哥

Go 程序员 云原生 后端 开发

JVM内存管理--GC算法精解(五分钟教你终极算法---分代搜集算法)

java易二三

编程 程序员 计算机 科技 技术宅

TextBrewer:融合并改进了NLP和CV中的多种知识蒸馏技术、提供便捷快速的知识蒸馏框架、提升模型的推理速度,减少内存占用

汀丶人工智能

人工智能 自然语言处理 知识蒸馏

k8s安装prometheus

tiandizhiguai

k8s Promethues

梳理日常开发涉及的负载均衡

WizInfo

负载均衡 网关

Programming abstractions in C阅读笔记:p76-p83

codists

Zebec Protocol ,不止于 Web3 世界的 “Paypal”

股市老人

并发中atomic BUG分享

FunTester

Zebec Protocol ,不止于 Web3 世界的 “Paypal”

BlockChain先知

企业轻量应用,云耀云服务器L实例能帮大忙!

YG科技

让三驾马车奔腾:华为如何推动空间智能化发展?

脑极体

全屋智能

Zebec Protocol ,不止于 Web3 世界的 “Paypal”

鳄鱼视界

Zebec Protocol ,不止于 Web3 世界的 “Paypal”

西柚子

SpringBoot3进阶用法

Java 架构 springboot SpringBoot3

软件债务的累积会消耗巨大成本_研发效能_Shane Hastie_InfoQ精选文章