(十六)如何用“看板图”实现敏捷项目的可视化?

2020-01-10 17:28:44 浏览数 (1)

用“看板图”实现敏捷项目可视化用“看板图”实现敏捷项目可视化

在敏捷项目里,挂在墙上“人人可见的大图表”是一种普遍的实践,它被用来共享项目状态并将之可视化,精益系统里也有这样的设施。“看板”在日语里大意是“卡片”或者“标志”的意思,在精益生产系统里,看板方法是给每个标准生产单元或者每个生产批量附上一张卡片。只有当一个“进行中”卡片所代表的工作完成后,才会有一张新卡片被“拉”进系统。

在本文中将探究当今敏捷项目中广泛使用的各种可视化方法,并提出用看板图(Kanban Board)来组织三种视角(时间,任务,团队),目的是使整个团队都能理解项目的当前状态,并以一种自发、有动力且互相合作的方式来工作。

敏捷项目中的可视化

XP有一种实践叫做“信息化的工作空间”,从中你可以对项目的进行状态一目了然。把故事卡和任务卡挂到墙上是这项实践的一种简陋实现方式。挂在墙上的其它图标有时候也被称为:“信息辐射体”或者“人人可见的大图表”,他们在现今的敏捷项目空间设施里已经很常见了,下面将展示在日本的敏捷团队中发现的一些可视化的例子。

第一个例子:任务看板图(Task Kanban Board),它的名字来自TPS(Toyota Production System)所用的“Just-In-Time"(JIT)生产方式。

任务看板图任务看板图

看板是代表一向要完成的任务的标签。在TPS中,它被用来具体化Just-In-Time的“拉”生产控制。在上图中,看板图显示了在本次迭代中要完成的所有任务的当前状态。任务用卡片(便签纸)来代表,状态则由板上分别标有“未做”、“正做”、和“做完”的三个区域来代表。看板图帮助团队理解当前做得如何,以及下一步要做什么,令团队能够自我指导。

下图是另一种类型的看板图,称为“特性看板图(Feature Kanban Board)”。

特性看板图特性看板图

表的横轴代表时间线,线上的竖直区域代表发布,在区域中的卡片各自代表一项该次发布中要实现的特性。第一个例子常在开发团队中使用。跟第一个例子相比,特性看板图为产品路线图提供了一种更高层次的概念,因此分享范围应该被扩大到整个大团队,包括客户,市场员工和管理层。

下图“停车场图(Parking Lot Chart)”被用来提供一种最高层次的对项目状态的摘要总结(注意不要同另一种“停车场列表(Partking Lot List)弄混,那是一种用来帮助捕获未解决的问题的工具”。它是在《Feature Driven Development》(FDD)里首次提出来的,现在已在敏捷项目中广泛使用。有时候也被称为“项目仪表板(Project Dashboard)”)。

停车场图停车场图

下图所示的是另一种可是方式,称为燃尽图(Burndown Chart)

这种表在Scrum中首次提出,用来显示剩余的未完成工作(backlog),现在已经蔓延到了大多数敏捷项目中,它抓住了项目的当前状态以及完成剩余工作的进展比率。

燃尽图燃尽图

还有一种燃起图,显示已完成的工作,无论使用燃尽图还是燃起图,团队都能看到在迭代过程中完成的工作。在迭代结束时,他们可能会根据自己在这个迭代中完成工作的能力(多少故事或故事点)来建立他们下一个迭代的能力衡量指标。这样,产品负责人与团队一起重新规划,团队就更有可能在下一次迭代中成功交付。《敏捷实践指南P63》

下图展示一种有意思的科二石化方式叫做表情日历(Niko-niko Calendar或Smiley Calendar),一种日本人的创造,它显示了团队 成员每日的心情。当天工作结束后,每个人都在离开团队空间之前往自己的日历上画一个表情符号。它从成员精神健康和动力的角度来观察项目。

表情日历表情日历

用看板图作为主要的信息辐射体

总而言之,以上提到的可视化工具:

用卡片作为任务、故事、特性的象征(看板),并将它们依附在时间线上(看板图)。这里存在不同的粒度。

计算看板(未完成任务)的数目,分时间段来跟踪它们,以显示出工作的完成趋势。这里也存在不同的粒度。

总结最高层次上的项目状态。

除了表情日历之外,还有很多日历变种用来显示项目的状态或者计划。

注意在看板图,燃尽图和停车场图三者中,看板图的信息最详细。燃尽图和停车场图可以用看板图的每日变化信息来绘制。因此后面我们将把看板图作为主要的信息辐射体,而用燃尽图和停车场图来作为辅助工具,形象的总结看板的变化趋势。

从三个视角来组织看板

仔细观察看板图,会发现上面表达了三项主题:时间、任务、团队。下面我们尝试从这三个视角来组织看板。

时间与任务的分解时间与任务的分解

1.时间

在敏捷项目里,项目时间首先被分解成若干“发布”,每个发布又被分解成若干“迭代”,每个迭代又分解成若干“工作日”。

发布的时间长度一般为1-6个月,它是最粗粒度的时间单元。它是整个团队的一个同步点,因此团队中的每个人都应该对此感兴趣。

迭代是第二级的时间单元,长度一般为1-4周。开发团队用它来作为主要的工作、跟踪和改进周期。工作日是最细粒度的时间单元,团队每天在站立会议上聚集在一起交流项目的状态和问题。

2.任务

任务被分成三种粒度。我们把最高层次的叫做“特性”,每个特性都被分解成若干“故事”,而每个故事又被分解成若干最低层次的任务”。

特性是对用户有用和有意义的一项功能。

故事是特性的一个可测试的片段,以用户的语言来描述。

任务是故事中的一个工作单元,通常以开发者的语言来描述。

3.团队

项目团队由为了共同目标而工作的人们组成。一般团队的成员有一个经理,若干客户、程序员、业务分析员、用户、测试员,以及其它利益相关的人。整个团队都应该分享时间和任务信息来达成项目的目标。

看板方法时间上可以说是精益产品开发的重要实践,与其它敏捷方法相比,它更具有更强的可实施性,提升端到端的价值交付能力,更好支持系统的改进,而且它也可以和很多其它敏捷方法无缝连接。

0 人点赞