敏捷开发评审

敏捷项目的仪表板

“Scrum就是为了取悦客户和给股东带来最大的价值。”

自从我在2007年第一次参与到Scrum团队中起,我就一直能听到类似的话。而且,我还有幸加入一个完全朝着这个目标前进的团队中,而这样的团队常常能够给予自己足够的自我激励。这不但是一个听起来不错的概念,而且它能够帮助团队和管理层应用和支持像Scrum这样的敏捷实践。

在我的经验中,当Scrum团队需要和商业紧密结合的时候,尽管团队理解并且承诺执行我上面所引用的话,而且承诺要完全遵照敏捷宣言的原则来工作,但是实施起来总会有团队违背了这个原则。

敏捷宣言中清晰地说到敏捷的主要价值在于人、交互和协作。当Scrum团队真正重视这些价值的时候,团队的目标很有可能就会朝着产生价值和实现商业目标而前进。但是除了PO以外,与你们的商业客户能够真正理解或者和参与这些价值吗?他们能够清楚地知道你们团队的进度和项目的状态吗?最重要的是,你们的团队能够提供足够的关于项目进展的信息吗?这些问题都需要认真考虑。

如果你是个称职的Scrum Master,我想你大概会将燃尽图和速率曲线展现给PO。如果你已经能够掌握Scrum的流程,你将会幸运地能够以在每个Sprint交付具有潜在可交付价值的增量产品。这个消息挺起来不错,不是吗?但是你有没有想过PO是不是拥有足够和相关的信息来完成他的任务呢?

我们再来看看PO的职责。很多公司都会任命之前的项目经理来担任PO这个角色。这种情况下,PO很有可能会负责成本控制,项目进度追踪,沟通等等。在很多情况下,这些数据都不需要展现出来。在Sprint回顾会议上不会,在Sprint计划会议上也不会。这样的话,当PO去找团队收集这些数据的时候,实际上是对团队工作的一种干扰。

这里需要提出的问题是:团队能够提供足够的信息来帮助PO找到需要的数据吗?团队除了能够交付增量的产品以外,还能够提供别的商业价值吗?我们能不能在使用Scrum的时候来收集需要的数据,然后放到图表里面清晰地展现出来呢?

当然可以!

这篇文章的目的就是要介绍如何将Scrum中可以收集到数据组织起来形成各种有用的图表,让PO可以方便地每天更新来告诉给股东和管理层当前的项目进展,从而获得他们更多的关注和支持。

在这里我所建议使用的图表基本上我在项目里面使用的一样,能够展示给各种观众观看。尽管有时候客户未必能够知道速率和故事点数这些概念,但是通过这些图表,他们仍然能够从整体上了解项目的情况,当他们觉得需要了解细节的时候他们也可以提出相关的问题。

准备图表

那么我们需要一些什么样的信息,它们又是从哪来的呢?

如果PO是项目进度的沟通的负责人的话,他自己就可以直接从团队的反馈得到当中的一部份数据。那么什么时候才是团队提供数据和建议的最佳时机呢?我们将会在后面的篇幅中探讨这个问题。

图表中应该包含以下这些数据(这些只是我在项目中所用的图表,你可以根据自己的需要来做调整):

项目进度时间表:用于表示到某个特定日期为止,所花费的时间占总时间的百分比。这个数据从时间上反映了项目的实际进度。如果你有预计的产品待办事列表和计划好的Sprint,这项数据可以替换成已经完成的Sprint占总Sprint的比例。

已交付的商业价值:如果团队已经估算了产品待办事列表中每个用户故事的商业价值,也就是商业价值点数,这项数据就是已经完成的商业价值点数的总和所占整个产品待办事列表的所有商业价值点数总和的比例。这项数据从商业价值的层面反映出项目已达成的商业价值的实际进度。已交付的商业价值点数的总量,需要在每个Sprint的演示中进行验证。

产品发布燃尽图(burn up chart):这是一个给股东展示的非常重要的效能指标。这里所说的燃尽图指的是记录已经达成的用户故事点数的图表。当然你可以展示传统的燃尽图,但是在我看来,使用burn up能够更好地展现我们到底还有多少路要走,也能更好地反映出项目进行中可能的产品范围变更。Sprint演示是为PO提供反馈和根据上个Sprint用户故事的完成情况更新产品待办事列表图表的好时机。所有的范围变更都应该在Sprint计划会议上进行。

团队效率:这项数据是对团队实际速率的反映,根据已完成的用户故事点数来计算。

已交付故事点数:这是一个将承诺的故事点数和实际完成的用户点数做对比的柱状图。这个图表能够方便且清晰地反映出估算的准确性,也能够折射出隐藏的潜在风险。

亮点:所谓亮点,就是将过去的一个Sprint中所发生的最重要的一些事件列出来。这些事件不一定是要和商业价值有关的,只要和这份报告的观看者有关的事件都可以列出来。团队可以在演示或者回顾会议的时候向PO指出当中有趣的一些元素。

风险:团队的每个成员都必须对风险保持警惕并能够提出有可能的风险,或者至少要能够引起足够的重视。Sprint计划会议是提出疑虑的非常好的时机,同时也可以一起来确定哪些是真正的风险。团队和PO一起制作一份关于风险的表格也是非常容易的。

下一步:下一步的计划要展示的是紧接下来要采取的行动。这些数据可以从Sprint机会会议或者回顾会议上得到。

时间轴和发布计划:时间轴至少要能够反映出各个Sprint的开始日期。如果你在项目中有计划好的里程碑或者版本发布,这将会是展示这些信息的绝佳时机。你能够轻易地追踪已经完成的里程碑,然后在相应的日期上做标注。

项目状态概要(红-绿-黄):这项内容应该由PO,或者有能力根据各种变数、项目目标和风险来评估项目的状态的人来总结。这些内容应该可以很容易地在Sprint计划会议、评审会议和回顾会议中从团队的反馈中得到。这项内容如果放在报告的最后一项,会是一个非常明智的选择。

根据敏捷宣言的精神,我们应该牢记,仅仅在这些数据对公司能产生积极作用的情况下,PO才需要花费精力在以上的这些数据上。就算是这些数据真的有价值,也必须要根据自己的需要来增减内容。通过展现这些数据和图表,你可以很容易地传达需要表达的信息给相关的人员,也能够让他们在你需要的地方引起关注和重视。如果你现在还没有做这些图表,我强烈建议你马上就开始行动,你会发现通过创建这些图表,你能够增强和股东以及团队之间的沟通。如果你有什么建议或者体会的话,请允许我和整个敏捷社区一起分享你的经验。

 

作者:Leopoldo Simini

原文地址:http://www.scrumalliance.org/articles/362-agile-project-dashboards