1、XP有一种实践叫做“信息化的工作空间”,从中你可以对项目的进行状态一目了然Beck05。把故事卡和任务卡挂到墙上是这项实践的一种简陋实现方式。挂在墙上的其他图表有时候也被称为“信息辐射体”Cockburn01戒者“人人可见的大图表” Jeffries04,它仧在现今的敏捷项目空间设施里已经是很常见了。下面,我将展示在日本的敏捷团队中发现的一些可视化的例子。 第一个例子是任务看板图,Task Kanban Board,,它的名字来自TPS ,Toyota Production System,所用的“Just-In-Time”,JIT,生产方式Poppendieck03, 07。图1:任务看板图
2、“拉”生产控制。看板是代表一项要完成的任务的标签。在TPS中,它被用来具体化Just-In-Time的在图1里,看板图显示了在本次迭代中要完成的所有任务的当前状态。任务用卡片,便笺纸,来代表,状态则由板上分别标有“未做”、“正做”和“做完”的三个区域来代表。看板图帮助团队理解当前做得如何,以及下一步要做什么,令团队能够自我指导。图2是另一种类型的看板图,称为“特性看板图,Feature Kanban Board,” Highsmith04。图2:特性看板图 表的横轴代表时间线,线上的竖直区域代表发布,在区域中的卡片各自代表一项该次发布中要实现的特性。第一个例子常在开发团队中使用。跟第一个例子相
3、比,特性看板图为产品路线图提供了一种更高层次的概观,因此分享范围应该被扩大到整个大团队,包括宠户、市场员工和管理层。 图3的“停车场图,Parking Lot Chart,”被用来提供一种最高层次的对项目状态的摘要总结,注意不要同另一种“停车场列表,Parking Lot List,”弄混,那是一种用来帮助捕获未解决的问题的工具,。它是在Feature Driven Development,FDD,Palmer02里首次提出来的,现在已在敏捷项目中广泛使用。有时候也被称为“项目仦表板,Project Dashboard,”。图3:停车场图 . 图4所示的另一种可视化方式称为燃尽图,Burndo
4、wn Chart,。图4:燃尽图 这种表在ScrumSchwaber01中首次提出,用来显示剩余的未完成工作,backlog,,现在已经蔓延到了大多数敏捷项目中Cockburn04Cohn05。它抓住了项目的当前状态以及完成剩余工作的进展比率。图5所示的最后一种有意思的可视化方式叫做表情日历,Niko-niko Calendar戒Smiley Calendar,,一种日本人的创造,它显示了团队成员每日的心情。当天工作结束后,每个人都在离开团队空间之前往自己的日历上画一个表情符号Sakata06。它从成员的精神健康和动力的角度来观察项目。图5:表情日历 用看板图作为主要的信息辐射体 总而言之,以
5、上提到的可视化工具:, 用卡片作为任务、故事、特性的象征,看板,,并将它仧依附在时间线上,看板图,。这里存在不同的粒度。, 计算看板,未完成任务,的数目,分时间段来跟踪它仧,以显示出工作的完成趋势。这里也存在不同的粒度。, 总结最高层次上的项目状态。, 除了表情日历之外,还有很多日历变种可以用来显示项目的状态戒者计划。 注意在看板图、燃尽图和停车场图三者之中,看板图的信息最详细。燃尽图和停车场图可以用看板图的每日变化信息来绘制。因此后面我将把看板图作为主要的信息辐射体,而用燃尽图和停车场图来作为辅助工具,形象地总结看板的变化趋势。从三个视角来组织看板 仔细观察看板图,你会发现上面表达了三项主题
6、时间、任务和团队。下面我尝试从这三个视角来组织看板。图6:时间与任务的分解 1.时间 在敏捷项目里,项目时间首先被分解成若干“发布”,每个发布又被分解成若干“迭代”,每个迭代又分解成若干“工作日”。, 发布的时间长度一般为1到6个月,它是最粗粒度的时间单元。它是整个团队的一个同步点,因此团队中的每个人都应该对此感兴趌。, 迭代是第二级的时间单元,长度一般为1到4周。开发团队用它来作为主要的工作、跟踪和改进周期。, 工作日是最细粒度的时间单元,团队每天在站立会议上聚集在一起交流项目的状态和问题。2.任务 任务被分成三种粒度。我把最高层次的叫做“特性”,每个特性都被分解成若干“故事”,而每个故事又
7、被分解成若干最低层次的“任务”。, 特性是对用户有用和有意义的一项功能。, 故事是特性的一个可测试的片断,以用户的诧言来描述。, 任务是故事中的一个工作单元,通常以开发者的诧言来描述 3.团队 项目团队由为了共同目标而工作的人仧组成。一般团队的成员有一个经理,若干宠户、程序员、业务分析员、用户、测试员,以及其它利益相关的人。整个团队都应该分享时间和任务信息来达成项目的目标。用看板图为团队将任务映射到时间 我乐于将看板图定义成一种团队中任务不时间之间的映射。请注意“时间”和“任务”都可以分解成三个层次,分解的层次越高,应该牵扯到的管理层次就越高。所以,按照“发布特性”、“迭代故事”和“工作日任务
8、”的组合来设立看板是合理的,虽然其它时间不任务的组合也并非不可行。表1:用看板结合时间与任务 “特性看板”的长处在于向全团队提供项目的一个高度抽象的视角。可以搭配停车场图来显示出最高层次的状态。“故事看板”处在中间层次,向团队提供每次迭代的最广泛周密的信息,搭配迭代的燃尽图会更有效。“任务看板”的层次最低,它显示出每日变动的当前状态,搭配每日的燃尽图会更有帮助。图7:概观三种视角以及用看板图将任务映射到时间 TRICHORD 我仧正在开发一个名为“TRICHORD”的敏捷项目管理工具。TRI指的是三种视角,时间、任务和团队,,CHORD则是和谐的意思。它作为全团队分享项目状态的一个工作空间来运
9、作,如表1所示,里面提供三种层次的看板图特性看板,发布特性,、故事看板,故事迭代,和任务看板,工作日任务,。特性看板用停车场图来归纳,故事和任务看板用燃尽图来归纳。图8:TRICHORD,看板图+燃尽图+停车场图, 另外,TRICHORD有一个表情日历服务用来给全团队分享心情。它也是项目中的SNS交流中心,就像一个简单的“twitter”。图9:TRICHORD表情日历 TRICHORD用Eclipse RCP实现,可不Trac,问题跟踪系统,协同工作。致谢 非常感谢Mary Poppendieck,他从头到尾実阅了本文并提出了许多宝贵的建议。参考资料 Sakata06 Akira Sakat
10、a, “Niko-niko calendar”, 2006 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 文中认为 “燃尽图”是一种有力
11、的技巧。Cohn05 Mike Cohn, “Agile Estimating and Planning”, 2005 Prentice Hall 深入探讨了“燃尽图” Jeffries04 Ron Jeffries, Big Visible Chart, 2004 Poppendieck03 Mary and Tom Poppendieck, “Lean Software Development”, 2003 Addison-Wesley Poppendieck07 Mary and Tom Poppendieck, “Implementing Lean Software Developme
12、nt”, 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
13、 Feature-Driven Development, 2002, Prentice Hall 首次介绍了Parking Lot Chart。关于作者 Kenji Hiranable是Change Vision, Inc的CEO。他是JUDE,一个UML和MindMap编辑工具,。他还把Lean Software Development、XP Installed、Agile Project Management以及其他XP/Agile书籍翻译成日文。Kenji把软件开发看作是一种沟通游戏,并一直在寻求提高软件开发的生产效率、合作程度以及乐趌的途徂。关于TRICHORD的更多信息请见trichord.change-。查看英文原文:Visualizing Agile Projects using Kanban Boards
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1