林伟丹 神兵Wizard
看板方法核心实践
精益看板开发方法作为精益思想在软件开发领域的创造性应用,已经越来越多的获得了业界的肯定,并迅速流行起来。和敏捷常见方法论框架比较,在类似的价值观指导下,看板有着比较独特而又简单易行的一些方法实践,越来越多的研发团队正在尝试引入精益看板方法。
看板方法有6个核心实践需要掌握。下面就请跟随本文的脚步,在物理看板和电子看板(以平安的“神兵Wizard”工具为例)的时空中穿梭,一路领略翔实的实战案例和不一样的精彩吧。 说明一下,以下的所有的案例截图,全部来源于平安一线研发团队的看板实战,硝烟犹存。
核心实践一、可视化工作流
【1、可视化流程】
我们先把工作流程可视化出来,让整个“价值流”一目了然。我们不鼓励完全标准化的流程,每个团队都可以结合自己的实际情况和管理需要来设计流程,并且这个流程是可以动态演进的。
用Wizard的电子看板,每个团队也可以在工具里灵活定义自己的工作流程,并向所有团队成员(包括当团队异地分布时)及利益相关人(包括喜欢坐办公室里的领导)透明。
【2、可视化工作项】
我们把工作项(就是待开发的需求、技术任务、缺陷等)也给可视化出来,可以简单的使用即时贴,在即时贴上用不同区域记录不同信息;也可以事先设计好卡片模板,并打印出来,这样卡片上就有标准格式。
用Wizard的电子看板,每个工作项也是一个卡片,不同的卡片类型可以用卡片左边沿的色条来区分,例如下图中,蓝色的代表User Story,红色的代表Defect。每张卡片的验收条件、需求设计稿、缺陷界面截图等,都可以随手查阅。
【3、可视化人员分工】
人员分工也要可视化,我们有丰富多彩的形式来做到这一点。可以用带名字的磁卡(人在,磁卡在),可以用迷你相机打印的真人照片(不努力工作对不起它),也可以用漫画、电影中的英雄角色(让你豪情万丈热血沸腾)。
用Wizard的电子看板,我们只用简单传一个头像来代表自己,如果你不传头像,工具会自动以你名字的最后一个字生成你的头像标记。工具还可以把团队成员按角色分组,如果你只想看看板上“产品经理”的卡片,轻轻点一下就可以按角色过滤了。
【4、可视化工作项层级】
一个大一点的项目,需求就需要分层。我们通常用不同大小、颜色的卡片,来代表不同层级的需求。例如下图中,蓝色大卡表示Feature,绿色小卡表示Story;当然也可以蓝色大卡表示Story,绿色小卡表示Task。它们之间,是“合(需求规划)-分(故事流转) -合(集成测试)”的关系,正所谓“天下大势,合久必分,分久必合”。
用Wizard的电子看板,我们也可以轻松的管理多层的需求。Wizard内置了Idea -Feature – Story 3层树状结构。每一层都可以有对应的看板展现,在上一层的看板中,可以方便跟踪到下一层的卡片的实施进度。也可以在同一个看板视图上,显示双层的需求内容,例如用横向泳道代表Feature,该泳道上的卡片代表Story。
【5、可视化工作项关联/依赖】
在平安做个啥事情,都涉及到多个系统、多个部门甚至多个公司的配合,我们一样用可视化的方式来管理。例如下图是一个银行系统的关联依赖管理,蓝色卡片为功能领域,黄色卡片为它的一个关联系统,黄色卡片上方为状态跟踪、每完成一项就打个勾,下方为具体关联的内容说明。
用Wizard的电子看板,管理依赖也是十分的轻松自如。你的项目中的一个需求,如果和别的项目的另一个需求有关联,你所需要做的只是一个动作,就是让这个卡片和那个卡片建立一个链接,然后,你的卡片就可视化出一条“依赖”记录,他的卡片就可视化出一条“被依赖”记录;你想了解他的进展,只需要轻轻一点、说看就看。
核心实践二、度量和管理流动
【1、周期时间度量】
LEAD TIME是看板方法中最基本的一个度量指标,当IT的团队的指标无法直接与业务指标绑定时,LEAD TIME就是最好的代理指标(意思是它最接近业务指标,因为直接反映了快速响应业务和市场的能力)。我们通常用一个excel来记下一些看板运作的数据,最常见的如每个卡片的开始时间、结束时间,然后生成基于LEAD TIME的累积流图、分布图、运行图等。
用Wizard的电子看板,基于LEAD TIME的度量数据积累和各种图表生成,则不费吹灰之力,甚至还能做一点“智能”的异常预警和数据分析。
【2、管理流动】
应用看板方法的核心目标,就是顺畅化及加速卡片的流动,及时识别阻碍和排队,并想办法加以消除或缓解。我们通常会用黄色/橙色/红色的小条,附着在卡片上,来标志这个卡片遇到的阻碍。下面这个例子中,团队还别出心裁的在看板设计上做文章,“+1”区域用来存放还剩一天就到期的卡片,“+0”区域用来存放今天到期的卡片,“延期”区域用来存放已经过期的卡片,让需求进展的风险一目了然,并且在团队规则中约定,一旦延期,需要马上采取加班或其他必要措施来尽快完成。
用Wizard的电子看板,也可以标记阻碍,一旦添加了阻碍标志,这个卡片就不能再被挪动,直到阻碍消除为止;每个阻碍,都必须指定专人来跟进。对于已延期(相对于计划完成时间)的卡片,会自动标记出红色字体的计划日期,同样起到了很直观的风险警示作用。
核心实践三、显式化规则
【1、完成的定义】
看板工作流程中的每个环节,从Doing列挪动到Done列,需要符合一定的规则和质量标准,有时也叫DoD(Definition of Done)。这也是软件内建质量(Build-in Quality)的一个有力保证。
用Wizard的电子看板,则可以定义卡片的审批流程,可以要求卡片经过特定的审批环节,才能够往下流转。有些团队根据需要,也可以配置为在某些挪动动作发生时,自动触发一些后台动作(例如拉起持续集成流水线)。
【2、选择的规则】
要进入看板工作流的某个环节,还需要定义“选择”的规则,即优先拉取哪些卡片进来。下图中,工作流程的流向,是从下往上(从需求池拉取Feature到选择队列中),再从左往右(从选择队列中拉取Feature进入开发过程,并分解为Story),这2个环节都定义了“选择”的规则,有时也叫DoR(Definition of Ready)。
用Wizard的电子看板,可以设计出“就绪”队列,有些团队会在大屏幕的上方贴上“选择”的规则,这样在站会时大家都能看到。
核心实践四、约束在制品
看板方法本身基于一个很朴素的理念,就是约束进行中的工作的数量(也叫在制品,简称WIP)。根据利特尔法则,当进行中的工作数量减少的时候,这些工作的周期时间(LEAD TIME)自然就会缩短。在物理看板上体现WIP,最简单的方式就是在列名旁边标记上一个数字,表示这一列最多只能允许存放多少个卡片。
用Wizard的电子看板,也可以方便的标记每一列的WIP数量,每一列的当前卡片数也会自动统计出来。
核心实践五、反馈闭环
【1、日常反馈】
看板的站会,往往可以容纳更多的人同时参与(像下图这个团队就有30人),并且更快的完成(5~15分钟)。站会上,大家的关注点是哪里流动不顺畅,哪里有阻碍、排队或者拥塞,并讨论对策加速流动;如果所有卡片都流动顺畅,站会很快就可以结束。
用Wizard的电子看板,配合多点触摸的大电视屏幕,用起来感觉也很酸爽。大家就在大电视前开站会,可以拉动卡片,可以查看卡片的详细需求说明和设计图片,可以输入估算值,可以指定处理人。
【2、定期回顾】
看板比较讲求数据驱动改进,所以我们的回顾会,也需要事先采集一下团队运作的数据,作为回顾改进的中要输入之一。常见数据如周期时间、吞吐量、迭代目标完成率、团队速率、缺陷密度等。
用Wizard的电子看板,数据采集就不需要人工来弄了,工具会基于团队运作过程中卡片移动触发记录及手工填写的数据,自动产生各种数据统计及分析图表,应有尽有。回顾时可以直接打开工具来看。
核心实践六、协作式、实验性改进
看板的流程不是一个公司或者行业的标准流程,最好是结合团队实际情况进行个性化设计。看板流程也不是静态的、一经设计出来就固定不变,而是动态的、持续演进的。下图是某团队在各个迭代(迭代长度为2周)中持续改进看板设计的例子,举例说,与前一个迭代相比,迭代2制定了完成规则定义,迭代3加上了WIP约束,迭代4设计了卡片超期提示区域,迭代5增加了技术任务验收环节,迭代6规划出了紧急处理通道。
用Wizard的电子看板,可以轻便的、可拖拽的变更看板流程,支持团队持续的优化演进。衡量一个“看板工具”是否好用,这是一个基本的考察点,即是否支持轻量、灵活的流程改进。
物理看板 vs. 电子看板
在上面的精益看板各个核心实践大作战中,我们同时引用了大量的物理看板与电子看板的案例。接下来,我们就比较以下这2种方案,看看孰优孰劣。基于上文介绍的6个核心实践,物理看板与电子看板对各个实践的支撑力度,分析对比如下:
综上,我们可以看到,物理看板与电子看板各擅胜场、难分高下。那么,到底我应该使用哪种方式?这需要结合团队所处的具体场景来分析评估。
如果你处在以下场景,建议优先考虑物理看板:
- 刚学习和引入看板方法
- 团队正在磨合中,流程还不稳定
- 团队在一地办公,看板可视化效果可辐射整个团队
- 对看板设计有独特创意和展现诉求
如果你处在以下场景,则建议优先考虑电子看板:
- 团队已具备一定的看板成熟度,期望通过数据驱动改进
- 流程已经相对固化,较少变动
- 分布式团队,成员身处不同地点
- 选型的电子看板足够轻量灵活,最好有条件购买或使用大触摸屏
还想了解更多的精益及看板开发方法?推荐看看何勉老师的这本扛鼎新作,里面也摘录了不少平安的看板实战案例哦。