写点什么

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

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

    阅读完需:约 3 分钟

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

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

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

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

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

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

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

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

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

在文章的结尾,他说道:

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

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

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

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

关注

评论

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

【DevKit黑科技揭秘】│深入浅出DevKit性能调优,让系统“瓶颈”无处遁形

Geek_32c4d0

大厂算法面试之leetcode精讲13.单调栈

全栈潇晨

LeetCode 算法面试

大湾区|Serverless 线下活动两连发

阿里巴巴云原生

阿里云 Serverless 云原生 线下活动 大湾区

Nocalhost 成功加入 CNCF 沙箱

科技热闻

TypeScript 之基础入门

冴羽

JavaScript typescript html5 翻译 大前端

Deco 智能代码技术揭秘:设计稿智能生成代码

凹凸实验室

机器学习 AI 大前端 低代码

区块链技术及其军事应用

CECBC

雪花算法对System.currentTimeMillis()优化真的有用么?

秦怀杂货店

分布式 算法 雪花算法

移动支付与支付安全SDL

明亮安全观

网络安全 信息安全 数据安全 支付安全 交易安全

APISIX-Datadog 插件发布,助力用户提高系统的可观测性

API7.ai 技术团队

云原生 可观测性 API网关 APISIX Datadog

hw5-微博评论高性能高可用

WWH

架构实战营

一网成擒全端涵盖,在不同架构(Intel x86/Apple m1 silicon)不同开发平台(Win10/Win11/Mac/Ubuntu)上安装配置Python3.10开发环境

刘悦的技术博客

Python ubuntu Mac Python3 win11

在线文本字符串批量替换工具

入门小站

工具

论渗透信息收集的重要性

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

[Pulsar] 按照KeyHashRange读取消息

Zike Yang

Apache Pulsar 11月日更

【LeetCode】 连续字符Java题解

Albert

算法 LeetCode 12月日更

Zillow“炒房”失败,算法神话破灭了吗?

脑极体

如何使用 Kubernetes 监测定位慢调用

阿里巴巴云原生

阿里云 Kubernetes 云原生 监控工具

元宇宙所带来价值共识的历史回归

CECBC

技术管理哲学随笔:如果空降,你会怎么做

dclar

CTO 技术管理 管理经

文章目录 [Index]

dclar

大数据 技术 管理 操作系统 中间件

【架构实战营】模块五

衣谷

架构实战营

恒源云(GPUSHARE)_卷积神经网络的工作原理

恒源云

深度学习

“元宇宙”来了 城市会消亡吗?

CECBC

不要累死自己,也不要卷死别人。

石云升

内卷 职场经验 11月日更

30 K8S之Deployment控制器

穿过生命散发芬芳

k8s 11月日更

.NET 中缓存的实现

喵叔

11月日更

使用nodejs和Java访问远程服务器的服务

汪子熙

Java nodejs 28天写作 abap 11月日更

大厂算法面试之leetcode精讲14.排序算法

全栈潇晨

LeetCode 算法面试

总决赛金银铜奖揭晓,2021信创“大比武”鲲鹏赛道圆满落幕!

科技热闻

Taro 3.4 beta 发布: 支持 Preact 为应用开辟更多体积空间

凹凸实验室

taro 大前端 React HarmonyOS

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