【云开发笔记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、极限编程等)结合使用,以提高团队的效率、质量和响应速度。

相关推荐
m0_689618282 小时前
水凝胶发生器,不对称设计妙,医电应用前景广
笔记
Ace'2 小时前
每日一题&&学习笔记
笔记·学习
挥剑决浮云 -2 小时前
Linux 之 安装软件、GCC编译器、Linux 操作系统基础
linux·服务器·c语言·c++·经验分享·笔记
新晓·故知3 小时前
<基于递归实现线索二叉树的构造及遍历算法探讨>
数据结构·经验分享·笔记·算法·链表
魔理沙偷走了BUG3 小时前
【数学分析笔记】第4章第4节 复合函数求导法则及其应用(3)
笔记·数学分析
NuyoahC5 小时前
算法笔记(十一)——优先级队列(堆)
c++·笔记·算法·优先级队列
这可就有点麻烦了6 小时前
强化学习笔记之【TD3算法】
linux·笔记·算法·机器学习
Ljubim.te8 小时前
软件设计师——数据结构
数据结构·笔记
speop10 小时前
【笔记】I/O总结王道强化视频笔记
笔记·音视频