- 浏览: 3472055 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
wanglf1207:
EJB的确是个不错的产品,只是因为用起来有点门槛,招来太多人吐 ...
weblogic-ejb-jar.xml的元素解析 -
qwfys200:
总结的不错。
Spring Web Flow 2.0 入门 -
u011577913:
u011577913 写道也能给我发一份翻译文档? 邮件437 ...
Hazelcast 参考文档-4 -
u011577913:
也能给我发一份翻译文档?
Hazelcast 参考文档-4 -
songzj001:
DbUnit入门实战
在 敏捷项目里,挂在墙上的“人人可见的大图表”是一种普遍的实践,它被用来共享项目的状态并将之可视化。精益系统里也有这样的设施。“看板”在日语里的大意 是“卡片”或者“标志”的意思。在精益生产系统里,看板方法是给每个标准生产单元或者每个生产批量附上一张卡片。只有当一个“进行中”卡片所代表的工作完 成后,才会有一张新卡片被“拉”进系统。
在本文中,我将探究当今敏捷项目中广泛使用的各种可视化方法,并提出用看板图(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。
发表评论
-
maven常见问题问答
2012-05-05 11:34 88641.前言 Maven,发音是[`meivin ... -
SWOT分析模型
2011-10-20 08:50 2248SWOT分析模型(SWOT Analysis) SWO ... -
时间盒策略--让你必胜的15种秘诀
2011-04-26 23:34 2296简单地说,时间盒是我 ... -
猎人和猎狗的故事
2011-03-07 09:28 2332有一天,猎人带着一 ... -
项目进度计划管理中五种时间
2011-03-03 00:15 2259在大多数复杂的建设项目进度计划管理中,一般都记录五种时间 ... -
PSP个人软件过程
2011-02-05 00:57 4226个人软件过程(Personal Software ... -
eclipse和UML工具EA的连接方法
2010-06-24 19:15 7386选择了好久UML工具,在rose、eclipseUML、EA等 ... -
领导者需要警惕的六大日常决策陷阱
2010-06-09 14:39 2099决策是每个经理人最重 ... -
净室软件工程及发展
2010-05-16 22:23 1720净室软件工程及发展 本文转载自软件工程专 ... -
Mylyn 2.0,集成任务和自动上下文管理
2009-09-26 18:51 3134虽然软件系统、框架和工具可以无限制地发展,但开发人员实际处 ... -
如何组织一个高效的开发团队?
2009-09-26 18:28 1746引言 俗语云:“ ... -
采用 XP 方法使软件项目获得更大成功
2009-09-26 18:08 1593使用面向对象编程变得 ... -
User Story 概览—承上启下的重要一环
2009-09-26 18:06 2642软件开发是一个从捕获客户需求到编码实现的过程。在我们传统的印象 ... -
顿悟测试驱动开发
2009-09-26 15:18 1592很早就听闻过测试驱动 ... -
User Story 在敏捷开发过程中的应用
2009-09-26 15:11 30531 ... -
用JIRA、CVS、XPlanner、WIKI来进行项目管理
2009-09-26 04:35 2154从版本管理的角度来 ... -
项目管理软件与IT项目经理人
2009-09-26 04:33 1924本文综合介绍了项目管理软件的特征,CA-SuperProjec ... -
信息系统建设项目风险评估方法
2009-02-22 20:52 1976评估这个词并不陌 ... -
svn备份策略
2009-01-12 13:56 9361(本文例子基于 ... -
subversion锁定解除、升级、备份与恢复
2009-01-12 13:39 2975subversion锁定解除、升级、备份与恢复 ...
相关推荐
敏捷开发Excel模板,sprint计划、任务可视化看板和燃尽图,根据任务进度和完成情况,动态更新燃尽图 项目实际使用分享,可以作为没有费用预算的项目使用,或者作为学习参考
用于您的个人项目和工作流程的虚拟脱机看板。 --- 个人看板是具有脱机功能的应用程序或...它是一种敏捷的项目管理工具,可帮助您可视化工作,限制进行中的工作以及制定和优化工作流程以获取最大的输出。 为此,它利
如今在敏捷软件开发中,项目的可视化(例如在墙壁上放置任务卡片就是常见的实践)往往被叫做“软件看板”,或者“任务看板”。我们甚至可以看到一些产品维护团队在类似瀑布过程模型中使用看板系统。那么,看板到底是...
可视化的任务管理支持列表、看板和甘特图等任务视图。可拖拽式的任务操作。支持多语言,内置英文和简体中文语言包。过滤搜索。可创建团队项目和个人项目。支持任务、子任务、附件和评论。动作自动触发。可视化的统计...
介绍什么是OKR ? 怎么设定OKR?怎么利用高效的工具管理OKR
★进度条:通过卡片和列表上不显眼的背景进度条,即时可视化您的Sprint进度。 ★标题分隔符:使用标题分隔符对列表中的卡片进行分组。 ★视觉辅助:具有更多故事点的卡片的字体大小略有增加,因此您可以一目了然地区...
Jitamin项目管理系统功能特性界面简洁、美观支持多主题可视化的任务管理项目支持列表、看板和甘特图任务可在看板间拖拽多语言,目前支持英文和简体中文过滤搜索可创建团队项目和个人项目支持任务、子任务、附件和...
支持列表、看板和甘特图等任务视图 可拖拽式的任务操作 支持多语言,内置英文和简体中文语言包 过滤搜索 可创建团队项目和个人项目 支持任务、子任务、附件和评论 动作自动触发 可视化的统计 第三方集成 支持插件 ...
ProjectPlus, 基于 Kanboard 应用程序的敏捷和看板方法的项目管理工具。 ProjectPlus是精益项目管理的工具,提供了一种看板方法来提高个人或团队的生产力。它基于Kanboard,它增加了协作并加快了实施速度,并且可以...
另一个项目管理系统 目的: 通过构建面向开源的真实应用程序学习软件开发的完整生命周期 后端: 我还开发了 Task Master 的后端部分,这里是 想要功能列表: 使用 JWT 进行身份验证 ...Nivo(可视化和图表) Reac
语言:English (United States) CoSchedule可帮助您创建,发布真棒内容并将其分享到社交媒体。...创建自定义状态以描述团队工作流程的独特阶段,并在看板中可视化整个过程。 社交组织者可以在一个地方可视化整个社
测试管理为用户提供敏捷化的持续测试工具,包括测试用例管理、测试循环、测试分析等,可以有效地提高软件测试的效率和质量,提高测试的灵活性和可视化水平,最终减少测试时间,让用户将主要精力放到软件功能构建上。...