写点什么

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

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

    阅读完需:约 3 分钟

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

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

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

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

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

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

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

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

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

在文章的结尾,他说道:

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

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

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

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

关注

评论

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

阿里P8架构师爆肝分享内部开源的JVM垃圾回收PDF文档,共23.3W字

Java JVM 垃圾回收

更安全、更低耗的微服务架构改造之道

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

关键的Java JVM选项和参数

码界行者

JVM

精华!Redis 知识总结

会踢球的程序源

Java Java进阶 redis 底层原理

HummerRisk V1.0.0:架构全面升级,开启新篇章

HummerCloud

云原生安全

Netty框架详解:高性能网络编程的设计与实现

网络编程 Netty 高性能

活久见,java8 lamdba Collectors.toMap()报NPE

OpenHarmony社区运营报告(2023年3月)

OpenHarmony开发者

OpenHarmony

Java中的异常处理详解(try、catch、finally、throw、throws) | 社区征文

共饮一杯无

Java 异常处理 三周年连更

企业级安全运维审计产品-行云管家堡垒机全新V7.0举行线上发布会

行云管家

运维 云堡垒机 安全运维 等级

SLBR通过自校准的定位和背景细化来去除可见的水印

合合技术团队

人工智能 图像处理 水印消除

TiDB 6.1/6.5 在 Rocky Linux 8 中的部署升级与 PITR 初体验

TiDB 社区干货传送门

版本升级 安装 & 部署 备份 & 恢复 扩/缩容 6.x 实践

每日 Scrum 与站立会议:有什么区别?

码界行者

Scrum

Spring Security 的介绍和简单使用

会踢球的程序源

Java 后端 spring security Java进阶

【坚果派-坚果】OpenHarmony新增并编译芯片解决方案

坚果

OpenHarmony OpenHarmony3.2 三周年连更

SpringBoot 集成 atomikos 实现分布式事务

新手测试必学的 API 接口文档知识

Apifox

测试 入门 接口文档 API API 文档

全新适配鸿蒙生态,Cocos引擎助力3D应用开发

HarmonyOS开发者

HarmonyOS

一名开发者眼中的TiDB与MySQL选择

TiDB 社区干货传送门

数据库架构选型

总结一下Redis的缓存雪崩、缓存击穿、缓存穿透

国内功率半导体需求将持续快速增长

华秋电子

各大金融企业都在用的堡垒机-行云管家堡垒机

行云管家

金融 数据安全 堡垒机

【4.7-4.14】写作社区优秀技术博文一览

InfoQ写作社区官方

热门活动 优质创作周报

前端开发:未来依旧光明 | 社区征文

海拥(haiyong.site)

三周年征文

EMQX Cloud BYOC版本发布:在您的云上体验全托管的MQTT消息服务

EMQ映云科技

物联网 IoT 云服务 mqtt 企业号 4 月 PK 榜

华秋PCB生产工艺 | 第十二道主流程之FQC

华秋电子

Greptime 的 GitOps 实践

Greptime 格睿科技

k8s gitops IaC

网站不收录是受哪些因素影响?

海拥(haiyong.site)

三周年连更

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