hanson.blog();

A lifelong programmer.

《The Art of Lean Software Development》读书笔记

Lean从丰田生产系统发展而来,首先是几个常见的日文字:

  • Andon - Means “light” in Japanese. In a Lean environment, it is a visual device (usually a light or a board of lights) that gives the current status of a production system, signaling any problems (typically, green = OK, yellow = needs attention, and red = urgent/production stopped).
  • Jidoka - Autonomation, the ability of a machine to inspect its work and operation and to notify a human if a problem is detected.
  • Kaizen - The continuous, incremental improvement of an activity to create more value with less waste.
  • Kanban - A signaling system used to signal the need for an item, typically using things like index cards, colored golf balls, or empty carts.
  • Muda - Waste that consumes resources but produces no value.

Lean软件开发的七个原则:

  • Eliminate waste
  • Build quality in
  • Create knowledge
  • Defer commitment
  • Deliver fast
  • Respect people
  • Optimize the whole

比较Agile软件开发和Lean软件开发的不同:

AgileLean
目光软件开发实践和项目管理任何范围,可能延伸至整个企业;
Lean把Agile视为一种可行的支持性实践
聚焦客户协作和快速交付从客户的角度消除浪费(Muda);
消除浪费的一个主要工具是
Value Stream Mapping (VSM)
包装有正式方法论只有一些推荐实践
操作从Agile(例如Scrum)开始,然后加上VSM

Lean软件开发实践之concrete practices

  • Source Code Management and Scripted Builds
  • Automated Testing
  • Continuous Integration
  • Less Code
  • Short Iterations
  • Customer Participation

Lean软件开发实践之analysis practices

  • Kaizen (continuous improvement)
  • Kaizen Workshops
  • Value Stream Mapping (VSM): value-added, non-value-added, or non-value-added but necessary
  • Root Cause Analysis (five whys)
  • Kanban