Lean software development

来源:互联网 发布:东邪西毒镜头 知乎 编辑:程序博客网 时间:2024/05/16 10:03

关于敏捷和XP的介绍,大多都会说到避免过度的设计,未来是多变的不可预测的。今天又看到一篇文章,把大家所熟悉的丰田的精益生产跟Agile做了类比,这个比喻就比较形象了。

WikiPedia上关于精益软件开发的介绍更是经典摘录如下:

所谓精益的主要思想是:

  • 减少浪费
  • 鼓励学习
  • 推迟决策
  • 尽快发布
  • 充分授权
  • 保持完整
  • 尽观全局

关于什么是浪费,作者首先引用丰田制造系统的例子:

  • 存贮备用的汽车零件
  • 生产不是立即需要的产品
  • 零件不必要的移动
  • 等待其它部件的生产
  • 生产中的多余过程
  • 任何的缺陷(低质量)

简单的说,就是任何不会给客户带来价值的东西就是浪费。在软件开发里,以下就是浪费:

  • 没有必要的代码和功能
  • 开发进度的延误
  • 官僚
  • 内部沟通的低效

我们要首先发现存在浪费的地方,然后加以消除和改进,避免浪费。

......

 

软件开发的过程还很不成熟,需要不断从传统生产行业里吸取养分。

 

Lean software development

http://en.wikipedia.org/wiki/Lean_software_development