写点什么

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

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

    阅读完需:约 3 分钟

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

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

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

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

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

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

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

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

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

在文章的结尾,他说道:

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

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

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

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

关注

评论

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

软件测试/测试开发丨iOS App自动化测试

测试人

ios xcode 程序员 软件测试

快手 Flink 的稳定性和功能性扩展

Apache Flink

大数据 flink 实时计算

AWS CodeWhisperer 上手初体验安装与使用

宇宙之一粟

Python 代码编辑工具 CodeWhisperer 6 月 优质更文活动

几分钟上线一个应用,这个神器我爱了!

引迈信息

低代码 JNPF 办公神器

Web智慧化工三维可视化管理系统

2D3D前端可视化开发

三维可视化 工业组态 物联网系统 数字孪生技术 智慧化工

推动体系建设 助推融合发展|2023开放原子全球开源峰会软件物料清单(SBOM)分论坛即将启幕

开放原子开源基金会

开源 开放原子全球开源峰会 软件物料清单(SBOM)

活动预告 | 中国数据库联盟(ACDU)中国行定档深圳,一起揭秘数据库前沿技术

墨天轮

MySQL 数据库 oracle postgresql opengauss

汇众智,奔涌向前赢未来 | 2023开放原子全球开源峰会 OpenAtom openEuler 分论坛即将启幕

开放原子开源基金会

开源 openEuler 开放原子全球开源峰会 开放原子

最近几年,国内好多家实体企业都开始用上低代码了,它有什么好?

优秀

低代码 数字化

软件测试/测试开发丨学习笔记之Mark标记测试用例

测试人

程序员 软件测试 自动化测试 测试开发 测试用例

OpenYurt 即将亮相 EdgeX+OpenVINO 开发者生态大会

阿里巴巴云原生

阿里云 开源 云原生

从 PMO 的视角,看如何从 0 到 1 搭建研发效能体系?

思码逸研发效能

研发效能

如何用Smartproxy住宅代理IP抢购潮牌鞋子?住宅代理抢购限量款式

摘星星的猫

华为云发布面向消费终端的企业云原生白皮书,开辟移动时代的云原生路径

脑极体

云原生

自动驾驶≠速度与激情

白洞计划

自动驾驶

华为云FunctionGraph函数工作流—— “Serverless“遇见”AI,释放AI生产力

Serverless 华为云 A2M

window.performance(前端性能监控并进行上报)

不叫猫先生

Performance 6 月 优质更文活动

奇点云举办“数据进化论”数智科技大会,发布数据云七大场景

奇点云

业务场景 奇点云 数智科技大会

系统稳定性与高可用保障

得物技术

架构 高可用 稳定性

smartproxy印度住宅IP代理,帮助您的海外业务打造网络无障碍桥梁

摘星星的猫

以AI为灯,照亮医疗放射防护监管盲区

飞桨PaddlePaddle

人工智能 深度学习 百度飞桨

初步了解RNN, Seq2Seq, Attention注意力机制

Studying_swz

6 月 优质更文活动

【Netty】「NIO」(一)认识 ByteBuffer

sidiot

后端 Netty java‘ 6 月 优质更文活动

2023-06-06:给你二叉树的根结点 root ,请你设计算法计算二叉树的 垂序遍历 序列。 对位于 (row, col) 的每个结点而言, 其左右子结点分别位于 (row + 1, col -

福大大架构师每日一题

golang rust 福大大

C语言编程语法—文件读写

芯动大师

C语言 二进制 6 月 优质更文活动

英特尔PowerVia技术率先实现芯片背面供电,突破互连瓶颈

E科讯

人脸面部表情识别技术的挑战和未来发展

数据堂

推动开源与商业共生共赢 | 2023开放原子全球开源峰会开源商业化创新发展分论坛即将启幕

开放原子开源基金会

开源 开源商业化 开放原子全球开源峰会 开放原子

设计模式总结(二):结构型模式

Studying_swz

6 月 优质更文活动

java多线程总结

Studying_swz

6 月 优质更文活动

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