`
yangzb
  • 浏览: 3499818 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

    博客分类:
  • PM
阅读更多
社区
Agile
主题
协作 ,
敏捷技术 ,
团队工作
标签
看板 ,
计划 ,
值和度量 ,
精益 ,
管理

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

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

敏捷项目中的可视化

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

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

图1:任务看板图

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

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

图2:特性看板图

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

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

图3:停车场图

. 图4 所示的另一种可视化方式称为燃尽图(Burndown Chart)

图4:燃尽图

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

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

图5:表情日历

 

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

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

  • 用卡片作为任务、故事、特性的象征(看板),并将它们依附在时间线上(看板图)。这里存在不同的粒度。
  • 计算看板(未完成任务)的数目,分时间段来跟踪它们,以显示出工作的完成趋势。这里也存在不同的粒度。
  • 总结最高层次上的项目状态。
  • 除了表情日历之外,还有很多日历变种可以用来显示项目的状态或者计划。

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

从三个视角来组织看板

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

图6:时间与任务的分解

1.时间

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

  • 发布的时间长度一般为1到6个月,它是最粗粒度的时间单元。它是整个团队的一个同步点,因此团队中的每个人都应该对此感兴趣。
  • 迭代是第二级的时间单元,长度一般为1到4周。开发团队用它来作为主要的工作、跟踪和改进周期。
  • 工作日是最细粒度的时间单元,团队每天在站立会议上聚集在一起交流项目的状态和问题。

2.任务

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

  • 特性是对用户有用和有意义的一项功能。
  • 故事是特性的一个可测试的片断,以用户的语言来描述。
  • 任务是故事中的一个工作单元,通常以开发者的语言来描述

3.团队

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

用看板图为团队将任务映射到时间

我乐于将看板图定义成一种团队中任务与时间之间的映射。请注意“时间”和“任务”都可以分解成三个层次,分解的层次越高,应该牵扯到的管理层次就越 高。所以,按照“发布—特性”、“迭代—故事”和“工作日—任务”的组合来设立看板是合理的,虽然其它时间与任务的组合也并非不可行。

表1:用看板结合时间与任务

“特性看板”的长处在于向全团队提供项目的一个高度抽象的视角。可以搭配停车场图来显示出最高层次的状态。

“故事看板”处在中间层次,向团队提供每次迭代的最广泛周密的信息,搭配迭代的燃尽图会更有效。

“任务看板”的层次最低,它显示出每日变动的当前状态,搭配每日的燃尽图会更有帮助。

图7:概观——三种视角以及用看板图将任务映射到时间

TRICHORD

我们正在开发一个名为“TRICHORD”的敏捷项目管理工具。TRI指的是三种视角(时间、任务和团队),CHORD则是和谐的意思。

它作为全团队分享项目状态的一个工作空间来运作,如表1 所示,里面提供三种层次的看板图——特性看板(发布—特性)、故事看板(故事—迭代)和任务看板(工作日—任务)。特性看板用停车场图来归纳,故事和任务看板用燃尽图来归纳。

图8:TRICHORD(看板图+燃尽图+停车场图)

另外,TRICHORD有一个表情日历服务用来给全团队分享心情。它也是项目中的SNS交流中心,就像一个简单的“twitter”。

图9:TRICHORD表情日历

TRICHORD用Eclipse RCP实现,可与Trac(问题跟踪系统)协同工作。

致谢

非常感谢Mary Poppendieck,他从头到尾审阅了本文并提出了许多宝贵的建议。

参考资料


[Sakata06] Akira Sakata, “Niko-niko calendar”, 2006
http://www.geocities.jp/nikonikocalendar/index_en.html
[Beck05] Kent Beck, “Extreme Programming Explained 2nd “, 2005 Addison-Wesley
“信息化的工作空间”是一项XP实践。
[Cockburn01] Alistair Cockburn, “Agile Software Development”, 2001 Addison-Wesley
首次使用“信息辐射体”一词。
[Cockburn04] Alistair Cockburn, “Crystal Clear”, 2004 Addison-Wesley
文中认为 “燃尽图”是一种有力的技巧。
[Cohn05] Mike Cohn, “Agile Estimating and Planning”, 2005 Prentice Hall
深入探讨了“燃尽图”
[Jeffries04] Ron Jeffries, "Big Visible Chart", 2004
http://www.xprogramming.com/xpmag/BigVisibleCharts.htm
[Poppendieck03] Mary and Tom Poppendieck, “Lean Software Development”, 2003 Addison-Wesley
[Poppendieck07] Mary and Tom Poppendieck, “Implementing Lean Software Development”, 2006 Addison-Wesley
解释了TPS中的看板,及看板如何作为“拉”处理机制运作。
[Schwaber01] Ken Schwaber, et al. “Agile Software Development with SCRUM”, 2001 Prentice Hall
[Highsmith04] Jim Highsmith, “Agile Project Management”, 2004 Addison-Wesley
在这里,特性看板被称为白板上的特性分解结构和特性计划。
[Palmer02] Stephen R. Palmer et al., Practical Guide to Feature-Driven Development, 2002, Prentice Hall
首次介绍了Parking Lot Chart。

分享到:
评论

相关推荐

    敏捷!可视化管理分享

    在敏捷开发中,项目进度和任务通常通过可视化的方式进行管理,这种做法能加强团队成员之间的沟通,提升透明度,并使得项目管理更加高效。下面将详细介绍在敏捷团队中运用可视化管理的具体知识点。 首先,可视化管理...

    敏捷开发Excel模板-计划、看板和燃尽图

    敏捷开发Excel模板,sprint计划、任务可视化看板和燃尽图,根据任务进度和完成情况,动态更新燃尽图 项目实际使用分享,可以作为没有费用预算的项目使用,或者作为学习参考

    Leangoo敏捷看板工具使用

    在敏捷开发的过程中,看板工具作为实现工作流程可视化的重要手段,被广泛应用于项目管理和任务跟踪。 **Leangoo**是一款强大的敏捷看板工具,它可以帮助团队更好地实践敏捷开发理念,提高工作效率。本文将详细介绍...

    参考资料-DM.25 U9大项目监管看板.zip

    1. **项目监管看板**:看板是一种敏捷项目管理方法,通过视觉化工作流程,使团队能够直观地了解项目的当前状态。在DM.25 U9看板中,可能包含不同阶段的任务卡片,如“待办”、“进行中”和“已完成”,以及相关的...

    敏捷项目文档管理.pdf

    因此,敏捷团队通常采用一种轻量级的文档管理方式,强调面对面沟通、活页板和信息的可视化展示。 敏捷团队会通过各种手段来避免过度依赖文档,如使用看板方法来跟踪任务进度,使用协作工具来共享信息。这种做法可以...

    一个看板源码

    在敏捷开发中,看板是一种强大的工具,它可以帮助团队可视化工作流程,提高工作效率,确保项目的透明度和协作性。看板通常由一系列列组成,代表工作的不同阶段,例如“待办事项”、“进行中”和“已完成”。团队成员...

    敏捷项目管理实践指南.docx

    看板方法是敏捷方法的一种,它强调可视化项目进度、限制工作进度和持续改进。 2.4 不确定性、风险和生命周期选择 项目中存在许多不确定性和风险,敏捷方法可以帮助项目团队更好地应对这些不确定性和风险。生命周期...

    敏捷项目管理模式

    2. **Kanban**:基于看板系统,侧重于可视化工作流程和限制在制品(WIP),以提高流动效率。 3. **XP(极限编程)**:关注软件开发的最佳实践,如测试驱动开发(TDD)、结对编程和持续集成。 4. **Lean**:源自...

    看板标准背景图片,供开发看板使用素材

    它通过可视化工作流程,帮助团队成员理解任务的状态,提高工作效率。在这个压缩包中提供的“看板标准背景图片”是专为开发看板设计的素材,旨在提供一个专业且美观的工作环境,促进团队的沟通和任务管理。 看板的...

    一个使用SemanticUIVuejs构建的简单看板组件

    看板是一种项目管理工具,常见于敏捷开发流程中,用于可视化任务状态和工作流程。在这个项目中,我们可能会看到如何将Semantic UI的组件与Vue.js的组件系统相结合,以实现一个功能完备的看板。 在JavaScript开发中...

    TFS敏捷项目管理手册.pdf

    通过上述知识点,我们可以看到TFS敏捷项目管理手册涵盖的范围包括了从基础的工作项跟踪到团队协作,再到进度可视化和报告管理,以及如何连接和使用TFS的各个方面,为实施敏捷开发提供了全面的指导。

    敏捷研发项目使用手册-201912.pdf

    需求视图有看板视图、列列表视图和表格视图三种,便于可视化管理和追踪进度。需求工作流配置允许定义不同状态,如“待处理”、“进行中”、“已完成”等,并设定状态之间的流转规则。需求详情页可以关联用例分组,为...

    敏捷开发软件(1):团队看板 .doc

    看板机制的核心是通过可视化工作流程,使团队成员能清晰地了解项目的当前状态。在看板上,通常分为三个主要区域:待办(To Do)、进行中(Doing)和已完成(Done)。待办区,也称为积压板,存放的是已经确定要处理的...

    【项目管理】敏捷开发完全手册《定制化敏捷项目管理》读书笔记(118页).pdf

    * 看板:用可视化的方法展示工作进度,以创造价值为导向、限制在制品数量、逐步交付。 四、敏捷开发的关键实践 * 频繁交付可运行的产品,以使客户满意。 * 尊重人的价值,鼓励学习和成长。 * 杜绝浪费,尽量减少...

    Python-利用Clojure实现的一个可拖放的看板示例

    看板在项目管理和敏捷开发中广泛使用,通常用于可视化工作流程,帮助团队成员跟踪进度和任务分配。 描述简洁地提到是用Clojure实现了看板的拖放功能,Clojure是一种基于Lisp的函数式编程语言,运行在Java虚拟机上。...

    敏捷项目管理利器及其使用说明.docx

    - **敏捷看板**:利用敏捷看板来可视化展示项目的进度,通过卡片移动直观地反映出工作进展。 - **冲刺计划**:支持定期举行冲刺计划会议,明确迭代的目标和任务,确保团队成员都清楚自己的职责。 3. **缺陷跟踪**...

Global site tag (gtag.js) - Google Analytics