Kanban看板起源于丰田。
看板(Kanban)一词来自日文,本义是可视化卡片。如下图所示,看板工具的实质是:后道工序在需要时,通过看板向前道工序发出信号——请给我需要数量的输入,前道工序只有得到看板后,才按需生产。看板信号由下游向上游传递,拉动上游的生产活动,使产品向下游流动。拉动的源头是最下游的客户价值,也就是客户订单或需求。
一、Kanban简介
Kanban,源自日语“看板”(かんばん),意为“信号板”或“告示板”。在敏捷软件开发中,Kanban是一种可视化的工作流管理方法,旨在帮助团队以更有效、更灵活的方式管理工作流、优化资源分配,并提高工作效率。它提供了一种简单、直观的方式来跟踪、管理和优化工作项从开始到完成的过程。
二、Kanban产生的背景
Kanban方法的起源可以追溯到20世纪40年代的丰田生产方式(Toyota Production System, TPS)。丰田的工程师们发现,在传统的生产系统中,生产和需求之间经常存在不匹配,导致资源浪费和效率低下。为了解决这个问题,他们引入了一种称为“看板”的卡片系统,用于在供应链内部和工厂内部传递生产和配送指令。这些看板卡片上写有零件信息、数量、生产或配送地点等,通过它们在各个工序间传递,实现了生产过程的可视化和控制。
随着时间的推移,这种看板系统逐渐演变成了我们今天所知的Kanban方法,并从制造业扩展到了软件开发、IT服务管理等多个领域。在软件开发中,Kanban方法被用于管理工作流、优化资源分配和提高团队的响应速度。
三、Kanban的主要构成
-
Kanban板:这是Kanban方法的核心工具,通常是一个可视化的板(可以是物理的或数字的),上面分为几个列,代表工作项的不同状态(如“待办”、“进行中”、“已完成”等)。团队通过移动卡片或标记在Kanban板上更新工作项的状态。
-
工作项:在Kanban中,工作被分解成小块的任务或工作项,每个工作项都包含足够的信息来让团队成员了解他们需要做什么。这些工作项以卡片的形式在Kanban板上表示,包含任务描述、优先级、负责人等信息。
-
工作流管理规则:Kanban方法强调定义明确的工作流管理规则,如限制在制品数量(Work in Progress, WIP)、处理顺序等。这些规则帮助团队保持工作流的平稳和可预测性。
-
持续改进:Kanban鼓励团队定期回顾其过程和结果,识别改进机会,并实施改进措施。这种持续改进的文化是Kanban方法的一个重要组成部分。
四、Kanban的应用步骤
-
设置Kanban板:根据团队的工作流程和需求,设置Kanban板上的列和状态。常见的列包括“待办”、“进行中”、“审查中”和“已完成”等。
-
定义工作项:将工作分解成小块的任务或工作项,并为每个工作项创建卡片,包含必要的信息。
-
制定工作流管理规则:根据团队的能力和需求,制定合适的工作流管理规则,如WIP限制、优先级规则等。
-
开始工作:团队成员从“待办”列中选择工作项,并将其移动到“进行中”列开始工作。随着工作的进展,他们更新卡片的状态,并在必要时将其移动到其他列。
-
持续监控和调整:团队监控Kanban板上的工作流情况,识别瓶颈和问题,并及时调整工作策略和资源分配。
-
定期回顾和改进:团队定期回顾其过程和结果,识别改进机会,并实施改进措施,以持续优化工作流程和提高效率。
五、Kanban的注意事项
-
保持工作流的可视化:确保Kanban板上的信息清晰、准确,并易于理解。团队成员应能够随时查看并更新工作项的状态。
-
限制在制品数量:通过设定WIP限制,避免工作过载和资源浪费。这有助于揭示瓶颈并提高团队的响应速度。
-
优先级管理:根据业务需求、紧急程度等因素确定工作项的优先级,并确保团队成员了解并遵循这些优先级规则。
-
持续改进:鼓励团队成员提出改进意见和建议,并定期回顾和调整工作流程和规则,以适应变化的需求和环境。
-
跨团队协作:在涉及多个团队或部门的情况下,确保Kanban板的设计和使用方式能够促进跨团队协作和沟通。
六、Kanban与敏捷开发的关系
Kanban是敏捷开发方法论中的一种工具或方法。敏捷开发强调快速响应变化、持续交付价值以及团队合作与沟通。Kanban通过可视化工作流、限制在制品数量和持续改进等方式,帮助团队实现这些敏捷开发的目标。同时,Kanban的灵活性和适应性使其成为敏捷开发方法论中的一个重要组成部分。在敏捷开发团队中,Kanban可以与其他敏捷实践(如Scrum、极限编程等)结合使用,以提高团队的效率、质量和响应速度。