摘要:随着敏捷软件开发的普及,作为敏捷方法之一的看板方法也备受关注,将任务展示在白板就是看板方法吗?你的看板方法用对了吗?本文为你揭晓。

本文分享自华为云社区《关于看板方法,你需要知道的几件事》,作者:敏捷小智。

小明所在团队开始尝试敏捷开发方法,从开始的不适应到渐入佳境,小明也渐渐的接受了敏捷思想,尤其喜欢团队墙上的那块白板,平时自己也在座位上搞了个小白板,设计了一下,把自己手头的任务用小便签写好就贴上了。

在2022年元旦过后的一次团队分享会上,小明分享了一个主题《看板方法》,手里拿着就是座位上的小白板,内容是“2022年(虎年)个人规划”,如下图所示。

谁知刚开个头,就被敏捷小智打断了,小智说:“你这个不叫看板,顶多算个任务板”。小明一头雾水:“看板不就是把任务都列在上面,显示当前的状态吗?我这能看,还是个白板,怎么就不是看板方法了?”这时候,团队中的一些成员也发出了疑问,那究竟什么是看板方法呢?

什么是看板方法

在讨论看板方法之前,我们先学习下什么是“看板”。

看板(kanban)

一词来自日文,指可视化卡片,源自精益制造,从丰田公司实践中演化出来。看板上每列为产品的每道工序,在后道工序在需要时,通过看板向前道工序发出信号——请给我需要数量的输入,前道工序只有得到看板后,才按需生产。看板信号由下游向上游传递,拉动上游的生产活动,使产品向下游流动。拉动的源头是最下游的客户价值,也就是客户订单或需求。

看板方法

2006 年在 Don Reinertsen 的启发和鼓励下,David J. Anderson 最早在软件开发中借鉴和应用看板实践,并总结成为完整的方法体系 ——“看板方法”。David J. Anderson 这样定义看板开发方法:

“看板定义了增量、渐进地改变技术开发和组织运营的方法。它的核心机制是限制在制品数量的拉动系统,通过它暴露系统运作(或流程)的问题,并激发协作以改进系统。”

看板将软件开发过程视为一种价值流,并且相信拉动式的管理能产生更好的结果。他通过限制在制品 (WIP)的数量等一系列简单可行的技巧,发现和缓解软件开发过程中的压力和瓶颈,提高生产效率。

看板方法的要点

可视化

为了使工作可视化,团队必须首先绘制出他们的工作流,并将其分解为关键的几个状态。看板中的每列被分配与这些状态相匹配。当工作项启动时,它们被制成卡片并放置在适当的状态列。通过这种方式使工作流可见,团队可以观察工作流以及谁在处理什么,可以增加团队成员之间的沟通和协作。此外,团队和管理者可以很容易地发现瓶颈和队列,这些瓶颈和队列可能会减慢流程或阻止团队尽可能高效地工作。

限制在制品

在制品WIP(Work In Process),顾名思义就是正在制作,尚未完成的商品,在软件开发中代表正在进行的任务。限制在制品意味着在部分或全部作业流程实施拉动式系统。通常在看板每列的顶部标明在制品的限额,如上图中的“就绪”的WIP为8,“设计”为4,“实现”为8,“测试”为5。如果某列中的卡片数量低于制定的限额,则发出一个拉(pull)的信号从输入队列中拉入新的工作,图中“实现”的WIP值为8,目前只有4个任务,就可以从前一列“设计的完成”列中拉取任务。相对的,“测试”列的任务已满,目前就不能再拉取新的任务。

如果团队在制品(WIP)列中有太多的项目时,它会导致任务切换,使人们失去专注并混淆优先级。限制在制品不仅可以提高最终产品的质量,而且可以帮助团队节省大量的时间和资源。

在看板方法中,完成工作比开始工作更重要。从未完成的工作中无法获得任何价值,因此团队将协作实施和遵从在制品限制,让整个系统中的每份工作得以完成。

管理流动

除了限制正在进行的工作外,看板可以让团队以更直观的方式监管、实测及记载工作流的每个阶段。通过看板可以清楚看到工作流中的瓶颈,这样就可以识别出效率低下的地方。如上图中的“测试”状态出现了任务积压,形成了瓶颈,影响了流动,是目前急需解决的问题。

看板方法可以确保发生问题的时候能够及时处理,将流程管理好。通过积极管理作业流程,系统的持续增量、渐进式变化可以被评估,以获悉能为该系统带来正面还是负面的影响。

显式化流程规则

实现价值流动,需要遵循一定的规则。规则就是何时或为何工作项从一列移至另一列,团队需要了解自己的需求,制定作业的规则和指南,确保始终遵守规则。规则不是一成不变的,如果实际过程中发生了改变,则更新规则。

建立反馈环路

这是管理流动基本规则的一部分,为了促进工作流动,反馈环路是必要的,所以应该在需要的地方建立反馈环路。流动是否顺畅的反馈,如:阻碍问题分类,影响和原因分析;质量问题的反馈,如开发环节和测试环节遗漏缺陷的分析等。

协作式改进

有了科学的方法,更需要齐心协力的团队来实施。看板方法作为精益方法学的基础支柱之一,成为持续改进的工具,关键是团队的共同协作。当团队成员对任务需求、任务流程、过程和风险达成共同理解,他们就能对一个问题有共识,同时认同改进措施的建议。

实施看板方法的原则

从现状开始

看板方法没有描述特殊的角色和过程步骤,它是基于企业已有的现状开始,鼓励以持续的、增量的和变革的形式改进系统。看板方法中允许企业继续使用现有的资源,在员工没有担忧的情况下企业可以实施并取得重大的改进。

追求增量和渐进的改变

企业必须同意持续的、小步的、增量的系统变革改进之路。彻底的变革方式尽管有效,但是会在组织内引起恐惧和抵制,看板方法鼓励采用持续的、小步的、增量的变革方式去改进企业当前的系统。

尊重现有的过程、角色、职责和头衔

看板方法认为组织当前已有的工作元素是可以接受的和值得保留的,这样可以消除企业对基础设施未来改变的恐惧,通过尊重当前的过程、角色、职责和头衔,我们可以在开始消除恐惧,这样可以让看板方法在推广之处获得广泛的支持。

以上原则实现了看板方法与企业原有的开发流程无缝结合,在不知不觉中提高生产效率。换句话说,看板方法是一种渐进式的改良,不是翻天覆地的革命,因而更容易被企业接受。

DevCloud实践

华为云DevCloud的项目管理(ProjectMan)中提供了看板项目模板,帮助用户快速建立对看板项目的整体印象。通过看板可以简单直观跟进工作事项;支持文档进行团队协作编辑和知识分享;支持报表清晰掌握工作进度;操作便捷,能够高效、直观协作工作。

新建看板项目

1. 点击华为云Dev Cloud进入到华为云DevCloud页面,点击下面的“立即使用”进入到控制台页面。

2. 如果显示的是“立即购买”,点击进入选择个人免费套餐即可。

3. 在控制台页面,单击项目管理首页“新建 项目”。

4. 进入“新建项目”页面,项目类型选中“看板”。

5.根据参数提示信息设置“项目名称”和“项目描述”。单击“确定”。新建完成后,默认进入到项目“工作项”页面。

点击右侧的“更多”可以进行相应的操作。更多应用请使用华为云Dev Cloud进行体验。

写在最后

看板方法适用于多种场合,使用看板方法可以确保工作流和价值交付的持续性。与大多数敏捷方法不同,看板方法未规定使用时间盒迭代,团队可以不受时间盒的限制,执行待办事项列表中优先级最高的工作。限制在制品可以让团队成员专注于当前工作,让团队专注于完成整个系统工作流,直至在制品完成才会开始新工作,提高工作效率和质量。看板方法的透明使浪费可视化,因而能够减少浪费。

在看板中方法中也可以使用迭代,但应始终遵循在整个过程中持续拉取单个条目并限制在制品以优化流程的原则。

说了这么多,开篇中提到小明的白板不能被称作是看板方法,你知道原因了吗?

2022年的春节即将到来,让我们一起用华为云Dev Cloud 的看板来规划和管理我们的虎年计划吧,祝愿大家在新的一年里如虎添翼,虎虎生威!

点击关注,第一时间了解华为云新鲜技术~

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐