Kanban vs Lean
它是一个用来优化工作流程的 Lean 方法。
| Kanban | Lean | |
|---|---|---|
| Definition | Kanban 是一种基于精益(Lean)的方法,用于管理和改善生产、开发和服务流程中的工作流。它专注于持续交付价值而不给团队带来过重负担,通过可视化系统来跟踪任务进展。"Kanban"(看板)一词来自日语,意思是"视觉信号"或"卡片"。 Kanban 是全球最流行的敏捷方法之一,与 Scrum 并列。根据2024年 State of Agile 报告,约13%的团队使用 Kanban 作为主要方法,更多团队将其与 Scrum 结合使用("Scrumban")。 | Lean(精益)是将精益制造(Lean Manufacturing)原则应用于产品和服务的开发和管理的方法。Lean 起源于丰田生产系统(Toyota Production System),专注于在最小化浪费的同时最大化客户价值。 Lean 是商业世界中最具影响力的哲学之一。MIT(2023年)的研究发现,实施 Lean 原则的组织实现了25-35%的运营效率提升和20%的成本降低。 |
| Categories | agile, flow, kaizen, kanban, lean, pull system, services, wip | agile, kanban, lean |
Kanban 是什么?
它是一个用来优化工作流程的 Lean 方法。
起源
Kanban 最初于1940年代由丰田公司的大野耐一(Taiichi Ohno)开发,作为丰田生产系统(Toyota Production System)的一部分。其目标是通过可视化工作、减少浪费(Muda)和使生产与实际需求相匹配来优化生产流程。
原始系统使用在工作站之间流动的物理卡片,每张卡片代表一个工作项目。当一个工作站完成任务后,卡片被发回到前一个工作站作为生产另一个项目的信号——这就是拉动系统(Pull System)的基础。
发展
Kanban 在2000年代从制造业扩展到软件开发领域,主要得益于 David J. Anderson 的工作。他的著作《Kanban: Successful Evolutionary Change for Your Technology Business》(2010年)成为该领域的里程碑。
Anderson 定义了 Kanban 的六个核心实践:
- 可视化工作流 — 使工作可见
- 限制在制品(WIP) — 防止过载
- 管理流动 — 跟踪和优化流动
- 使政策明确 — 让规则对所有人可见
- 实施反馈循环 — 定期检查和审查
- 协作改进,实验进化 — 渐进式发展
可视化管理
团队使用看板(Kanban Board)来可视化工作并跟踪进展。典型的看板包含以下列:
- 待办(To Do) — 等待开始的任务
- 进行中(In Progress) — 正在执行的任务
- 审查(Review) — 等待审查的任务
- 完成(Done) — 已完成的任务
每个工作项目由一张卡片(Card)表示,从左到右移动通过各列。看板提供了团队所有工作的即时全景。
研究表明,可视化的看板可以减少团队沟通时间30%,并提高发现瓶颈的能力50%。
限制在制品(WIP)
Kanban 最核心的实践之一是限制在制品(Work In Progress)——设定每个阶段同时进行的最大任务数量。
为什么 WIP 限制很重要?
- 提高专注力 — 更少的并行任务 = 每个任务获得更多关注
- 缩短交付时间 — 减少多任务处理,任务完成更快
- 发现瓶颈 — 当某列达到限制时,表明存在问题
- 提高质量 — 每个工作项目获得更多关注
2023年的研究发现,实施 WIP 限制的团队,Cycle Time 减少了40%,Bug 数量减少了25%。
数字示例
如果一个5人团队将"进行中"列限制为5个任务,每个开发者在任何时刻只专注于一个任务。如果某个开发者遇到困难,他们寻求帮助而不是开始另一个任务。
拉动系统
Kanban 的拉动系统(Pull System)鼓励在开始新任务前完成现有任务,关注团队的实际能力和需求。这种方法与"推动系统"(Push System)有本质区别——推动系统不考虑团队能力就将工作分配给团队。
拉动系统的原则:
- "停止开始,开始完成"(Stop Starting, Start Finishing) — 完成优先于开始
- 按需工作 — 只有当有空间时才引入新任务
- 减少浪费 — 更少的不必要工作和上下文切换
- 平滑流动 — 工作持续流过系统
Kanban 的关键指标
Kanban 依赖定量指标来改进流程:
前置时间(Lead Time)
从请求进入系统到完成的总时间。Lead Time 包括等待时间。
周期时间(Cycle Time)
从开始工作到完成任务所需的时间。Cycle Time 是衡量团队效率的重要指标。
吞吐量(Throughput)
团队在单位时间(周/月)内完成的工作项目数量。
累积流图(CFD)
累积流图显示了不同阶段的工作项目数量随时间的变化。它可以识别趋势、瓶颈和流动问题。
Kanban 与 Scrum 的对比
| 标准 | Kanban | Scrum |
|---|---|---|
| 节奏 | 持续流 | 固定 Sprint |
| 角色 | 无固定角色 | SM、PO、Developers |
| 变更 | 随时 | Sprint 之间 |
| 计划 | 按需 | Sprint Planning |
| 指标 | Lead Time、Cycle Time | Velocity |
| WIP | 显式限制 | Sprint Backlog |
| 入门 | "从现在开始" | 需要结构性变化 |
常见问题(FAQ)
Kanban 需要专门的培训吗?
不需要。Kanban 的一大优势是可以从现有流程开始,逐步添加实践。但也有 KMP(Kanban Management Professional)等认证可供选择。
Kanban 适合大型团队吗?
是的。Kanban 非常适合各种规模的团队和整个组织。"Kanban at Scale" 允许在组织层面实施该方法。
看板和 Scrum 板有什么区别?
看板是持续的——任务无限期流动。Scrum 板在每个 Sprint 结束时重置。此外,看板有明确的 WIP 限制。
如何确定 WIP 限制?
常见的起点:团队成员数 × 1.5。例如,4人团队从 WIP 限制6开始。根据经验调整限制。
可以不使用数字工具来使用 Kanban 吗?
当然可以!用便利贴的物理看板是很好的起点。物理看板提供即时可见性,鼓励面对面互动。
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)
- 衡量结果
- 重复流程