
Lean 精益软件开发
精益软件开发 是精益制造原则和实践在软件领域的应用。精益制造或精益生产是来源于丰田生产方式 (TPS)的生产哲学,因此也称为丰田主义 (Toyotism)。
###精益原则

对比精益原则和敏捷宣言,不难发现,精益在制造业中的原则与敏捷在软件开发中的宗旨本质上是一致的,将在后文中通过对Scrum和Kanban的对比进一步阐述。
Kanban
看板是丰田生产方式(Toyota Production System,TPS)中用来支持非集中“拉动式”生产控制(non-centralized “pull” production control)而使用的卡片。作为精益生产的工具,它现在已经应用于世界各地的制造企业之中。
本文只介绍精益与看板的基本工作方式,更多内容可以参考阅读《丰田精益生产方式》、《精益开发实战》
看板的工作方式可以总结如下:###
- 将流程可视化
- 把工作拆分成小块,一张卡片写一件任务,在把卡片放到墙上
- 每一列都起一个名字,显示每件任务在流程中处于什么位置
- 限制WIP(work in progress)明确限制流程中的每个状态最多同时进行的任务数
- 度量生产周期(完成一件任务的平均时间),对流程进行调优,尽可能缩短生产周期,并使其可预测
一个典型的Kanban开发流程可以如下图所示:
