【云开发笔记No.9】Kanban与敏捷开发

Kanban看板起源于丰田。

看板(Kanban)一词来自日文,本义是可视化卡片。如下图所示,看板工具的实质是:后道工序在需要时,通过看板向前道工序发出信号------请给我需要数量的输入,前道工序只有得到看板后,才按需生产。看板信号由下游向上游传递,拉动上游的生产活动,使产品向下游流动。拉动的源头是最下游的客户价值,也就是客户订单或需求。

一、Kanban简介

Kanban,源自日语"看板"(かんばん),意为"信号板"或"告示板"。在敏捷软件开发中,Kanban是一种可视化的工作流管理方法,旨在帮助团队以更有效、更灵活的方式管理工作流、优化资源分配,并提高工作效率。它提供了一种简单、直观的方式来跟踪、管理和优化工作项从开始到完成的过程。

二、Kanban产生的背景

Kanban方法的起源可以追溯到20世纪40年代的丰田生产方式(Toyota Production System, TPS)。丰田的工程师们发现,在传统的生产系统中,生产和需求之间经常存在不匹配,导致资源浪费和效率低下。为了解决这个问题,他们引入了一种称为"看板"的卡片系统,用于在供应链内部和工厂内部传递生产和配送指令。这些看板卡片上写有零件信息、数量、生产或配送地点等,通过它们在各个工序间传递,实现了生产过程的可视化和控制。

随着时间的推移,这种看板系统逐渐演变成了我们今天所知的Kanban方法,并从制造业扩展到了软件开发、IT服务管理等多个领域。在软件开发中,Kanban方法被用于管理工作流、优化资源分配和提高团队的响应速度。

三、Kanban的主要构成

  1. Kanban板:这是Kanban方法的核心工具,通常是一个可视化的板(可以是物理的或数字的),上面分为几个列,代表工作项的不同状态(如"待办"、"进行中"、"已完成"等)。团队通过移动卡片或标记在Kanban板上更新工作项的状态。

  2. 工作项:在Kanban中,工作被分解成小块的任务或工作项,每个工作项都包含足够的信息来让团队成员了解他们需要做什么。这些工作项以卡片的形式在Kanban板上表示,包含任务描述、优先级、负责人等信息。

  3. 工作流管理规则:Kanban方法强调定义明确的工作流管理规则,如限制在制品数量(Work in Progress, WIP)、处理顺序等。这些规则帮助团队保持工作流的平稳和可预测性。

  4. 持续改进:Kanban鼓励团队定期回顾其过程和结果,识别改进机会,并实施改进措施。这种持续改进的文化是Kanban方法的一个重要组成部分。

四、Kanban的应用步骤

  1. 设置Kanban板:根据团队的工作流程和需求,设置Kanban板上的列和状态。常见的列包括"待办"、"进行中"、"审查中"和"已完成"等。

  2. 定义工作项:将工作分解成小块的任务或工作项,并为每个工作项创建卡片,包含必要的信息。

  3. 制定工作流管理规则:根据团队的能力和需求,制定合适的工作流管理规则,如WIP限制、优先级规则等。

  4. 开始工作:团队成员从"待办"列中选择工作项,并将其移动到"进行中"列开始工作。随着工作的进展,他们更新卡片的状态,并在必要时将其移动到其他列。

  5. 持续监控和调整:团队监控Kanban板上的工作流情况,识别瓶颈和问题,并及时调整工作策略和资源分配。

  6. 定期回顾和改进:团队定期回顾其过程和结果,识别改进机会,并实施改进措施,以持续优化工作流程和提高效率。

五、Kanban的注意事项

  1. 保持工作流的可视化:确保Kanban板上的信息清晰、准确,并易于理解。团队成员应能够随时查看并更新工作项的状态。

  2. 限制在制品数量:通过设定WIP限制,避免工作过载和资源浪费。这有助于揭示瓶颈并提高团队的响应速度。

  3. 优先级管理:根据业务需求、紧急程度等因素确定工作项的优先级,并确保团队成员了解并遵循这些优先级规则。

  4. 持续改进:鼓励团队成员提出改进意见和建议,并定期回顾和调整工作流程和规则,以适应变化的需求和环境。

  5. 跨团队协作:在涉及多个团队或部门的情况下,确保Kanban板的设计和使用方式能够促进跨团队协作和沟通。

六、Kanban与敏捷开发的关系

Kanban是敏捷开发方法论中的一种工具或方法。敏捷开发强调快速响应变化、持续交付价值以及团队合作与沟通。Kanban通过可视化工作流、限制在制品数量和持续改进等方式,帮助团队实现这些敏捷开发的目标。同时,Kanban的灵活性和适应性使其成为敏捷开发方法论中的一个重要组成部分。在敏捷开发团队中,Kanban可以与其他敏捷实践(如Scrum、极限编程等)结合使用,以提高团队的效率、质量和响应速度。

相关推荐
Li_RuiQi6 小时前
DAgger方法演进_独立学习笔记
笔记·学习·计算机视觉
Li_RuiQi11 小时前
DAgger与交互式模仿学习_ACT学习笔记
笔记·学习
He BianGu11 小时前
【笔记】C# 中BindingFlags的详细作用
笔记·c#
AI视觉网奇11 小时前
turtle 入门教程笔记
笔记
跨知易知识产权12 小时前
美国专利确权是什么,和专利诉讼有什么不一样?
笔记
杨逢昌工厂6S管理12 小时前
126-杨逢昌6S三环体系:越做越乱的现场熵增机理与基准化治理——一线现场诊断笔记
经验分享·笔记·职场和发展·学习方法
悟道书生12 小时前
若依 RBAC 权限控制学习笔记
java·网络·笔记·sql·学习·vue
陈哈哈111113 小时前
折腾了半天,总算把 Vim 9.2 装明白了
笔记
陈哈哈111113 小时前
折腾了半天,总算把 OpenGL 的开发环境给装明白了
笔记
深圳老胡13 小时前
STM32F103 硬件 SPI 与软件 IO 模拟 SPI 最高速度差异详解
笔记·stm32·单片机·代码规范·1024程序员节