2009年8月13日星期四

软件债务的概念

很贴切,很实在,命中要害
clipped from www.infoq.com

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



  • 技术债务:现在不去做、没有完成的事情,将会在未来对开发工作产生负面影响。

  • 质量债务:难以验证整个系统的功能和技术质量。

  • 配置管理债务:集成和版本发布管理变得更具风险、复杂,而且更易于出错。

  • 设计债务:要想加入一般复杂度的功能,其成本不断增加,并超出如果从头开发要付出的成本。

  • 平台经验债务:能够开发系统功能的人力资源受限。


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

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

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


  • 整理一个工作列表

  • 强调质量的重要性

  • 不断改善工具和基础架构

  • 持续提升系统设计

  • 在组织中共享知识

  • 最重要的一点:雇佣正确的人来开发你的软件!

 blog it