Lean 是什么?
Lean 是将制造原则应用于软件开发的方法。
定义
Lean(精益)是将精益制造(Lean Manufacturing)原则应用于产品和服务的开发和管理的方法。Lean 起源于丰田生产系统(Toyota Production System),专注于在最小化浪费的同时最大化客户价值。
Lean 是商业世界中最具影响力的哲学之一。MIT(2023年)的研究发现,实施 Lean 原则的组织实现了25-35%的运营效率提升和20%的成本降低。
目标
目标是最大化对客户和用户的价值提供,同时减少成本和浪费。Lean 将"价值"定义为客户愿意付费的东西——其他一切都是浪费。
Lean 的五个原则
- 定义价值(Value) — 客户真正需要什么?
- 价值流映射(Value Stream) — 创造价值的步骤是什么?
- 创造流动(Flow) — 消除阻碍以创造顺畅的流动
- 建立拉动(Pull) — 按需生产,而非按预测
- 追求完美(Perfection) — 持续追求卓越
起源
Lean 起源于丰田生产系统(TPS — Toyota Production System),由大野耐一(Taiichi Ohno)和丰田英二(Eiji Toyoda)在二战后开发。
里程碑:
- 1940s-1970s — 在丰田开发 TPS
- 1988 — John Krafcik 创造了"Lean"一词
- 1990 — Womack 和 Jones 的《改变世界的机器》
- 2003 — Mary & Tom Poppendieck 的《精益软件开发》
- 2011 — Eric Ries 的《精益创业》
七种浪费(Muda)
Lean 识别了七种需要减少的浪费:
- 运输(Transport) — 材料或信息的不必要转移
- 库存(Inventory) — 等待中不前进的在制品
- 动作(Motion) — 人员的不必要移动
- 等待(Waiting) — 人或流程等待的时间
- 过度生产(Overproduction) — 生产超过需求
- 过度加工(Over-processing) — 超出需求的工作
- 缺陷(Defects) — 修复错误和缺陷
软件开发中的浪费
| 一般浪费 | 软件开发中 |
|---|---|
| 过度生产 | 没人使用的功能 |
| 等待 | 等待审批、Code Review |
| 运输 | 团队间的工作交接 |
| 库存 | 长期的 Feature Branch |
| 动作 | 上下文切换(Context Switching) |
| 过度加工 | 过度工程化(Over-engineering) |
| 缺陷 | Bug、生产故障 |
拉动系统
Lean 使用拉动系统(Pull System),由客户请求启动服务,减少过量生产和浪费。拉动系统是 Kanban 的基础。
拉动原则:
- 按需 — 只生产需要的
- 准时制(Just-in-Time) — 在正确的时间交付
- WIP 限制 — 限制在制品数量
- "停止开始,开始完成" — 完成优先于开始
常见问题(FAQ)
Lean 和 Agile 有什么区别?
Lean 专注于消除浪费和优化流动,来自制造业。Agile 专注于交付价值和灵活性,来自软件世界。实际上,它们是互补的。
Lean 只适用于制造业吗?
不是。Lean 已成功应用于软件(DevOps)、服务、医疗、教育等几乎所有领域。消除浪费和最大化价值的原则是普遍适用的。
Lean 和 Kanban 有什么关系?
Kanban 是从 Lean 中发展出来的方法。它在工作管理中实施了 Lean 的流动、拉动和 WIP 限制原则。
如何开始 Lean?
- 映射价值流(Value Stream Mapping)
- 识别流程中的浪费
- 实施小改进(Kaizen)
- 衡量结果
- 重复流程
Kanban 是什么?
Kanban 是一种基于精益(Lean)的方法,用于管理和改善生产、开发和服务流程中的工作流。它专注于持续交付价值而不给团队带来过重负担,通过可视化系...
什么是下游?
指的是在敏捷和精益哲学中,从接收请求到为客户完成服务的活动。...
Muda 是什么?
Muda 是一个日本词,翻译为浪费,指的是流程中任何不增加最终产品或服务价值的活动。...
Lead Time 是什么?
Lead Time,或交付时间,是从订单开始到完成的总时长,常用于衡量操作的效率。...
浪费是什么意思?
在Lean管理中,浪费指的是消耗资源但不为客户增加价值的任何活动。识别和消除浪费对于提高流程的效率和效果至关重要。...