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)
- 衡量结果
- 重复流程
Θέλετε να μάθετε περισσότερα;
Αν θέλετε να εμβαθύνετε στο Lean —ή να φέρετε αυτού του είδους την εκπαίδευση στην ομάδα σας— ας μιλήσουμε. Βοηθάω ομάδες να κατανοήσουν και να εφαρμόσουν αυτές τις έννοιες. Θα χαρώ πολύ να σας ακούσω!
Kanban 是什么?
Kanban 是一种基于精益(Lean)的方法,用于管理和改善生产、开发和服务流程中的工作流。它专注于持续交付价值而不给团队带来过重负担,通过可视化系...
什么是下游?
指的是在敏捷和精益哲学中,从接收请求到为客户完成服务的活动。...
什么是吞吐量?
在看板方法中,'吞吐量'用于描述团队在指定期间内完成的任务或工作项的总数。这一指标是衡量团队生产力和效率的量度,并用于评估和改善随时间的表现。...
什么是敏捷宣言?
敏捷宣言是一份于2001年2月12日由17位软件开发专家创建的文件,概述了一种优先考虑灵活性和客户合作的软件开发新方法。...
什么是Pull system?
在Kanban中,Pull system是一种仅在有需求时才启动工作的系统,与依赖预测的Push system相对,后者可能导致生产过剩。...