提到敏捷,很容易联想到众多的最佳实践或者方法论,篇幅关系这里不做列举,提供一张敏捷全景图供大家参考。图片是德勤发布的一张敏捷全景图(the agile landscape),大家可以很容易的在网上找到这张图。这张有点类似地铁路线图的图片,密密麻麻的描述的敏捷圈里的最佳实践或方法论。
作为个人而言看完这张图时产生了以下3个观点:
A.由敏捷制造的信息量、理论,已经远远超过个人所能吸收的
B.敏捷理论体系之间的相互依赖关系,也远远超过个人所能掌握的
C.敏捷能够实现的变化速度,远远超过任何个人所能跟进的
综上,可以肯定的是敏捷已经足够复杂、足够庞大。所以,本文的观点是实用主义,用到什么拿什么,这也与看板的拉动系统原则所契合,而不盲目追求全量知识的掌握。
本文要安利的工具是燃尽图,很普通的入门级工具,结合了一个非敏捷的项目给大家说明。
燃尽图(Burndown Chart)
燃尽图是以图表展示随着时间的减少工作量的剩余情况。工作量一般以竖轴展示,时间一般以横轴展示。燃尽图可以用于预测何时完成工作,也可以用于任何可测量的进度随着时间变化的项目。
每天都有人搬砖,然后砖头就会越来越少。也就是总工作量每天都会随着时间推移而减少,所以就会形成一个斜向右下延伸的直线(理想状态)。
下图是一个完整的燃尽图。一般来说,燃尽图可按照下列内容来理解:
我们通常会在在一个XY坐标轴的坐标系表示他们。高逼格一点的表示就是会有一个类似这个几何特征的图形:y=kx+b(k<0,b>0)。
横轴:表示工作天数
竖轴:表示剩余工作
计划剩余工作曲线:理想状态下,大家每天都按时搬砖,不打酱油。那么它将会是一条直线。
实际剩余工作曲线:但现实中,我们怎么可能不打酱油!所以就会变成了弯弯曲曲的折现,也就有了实际曲线这么一说。我们通常用实际曲线来标识实际每天完成的工作量。该曲线受团队实际工作效率的影响在计划曲线上下浮动。
项目背景
项目是携程内部一个非敏捷、数据库类型的项目,项目涉及各个业务线、框架部门、DBA部门,涉及团队、干系人众多。选择使用燃尽图作为工具反映项目完成情况,出于以下2点:
1、项目有明确的预期速率,抽象为15Point/周
2、项目范围在项目开始第一周就进行了确定,需要完成124Point的任务总量。这也意味着没有范围变更,燃尽图内不存在实际线上行的情况。
满足上述两个条件后,脑内自然而然进行了匹配,没有什么比燃尽图更合适了。
使用了Excle进行绘制,项目初始燃尽图如下:
第1-2周
和大多数燃尽图类似的是,项目初期实际值略高于预测值。项目团队磨合、熟悉技术方案是延迟的主要原因。2周的理论完成值是30Point,实际完成24Point。第2周结束时展示燃尽图时,团队成员能直观的看到项目当前的完成状况,充分理解项目经理想要展示的信息及目的。当时团队氛围良好,对项目预期的判断相对乐观。
第3-4周
团队成员经过磨合期,技术方案也趋于稳定,团队渐入佳境。虽然第4周结束时,实际线仍然高于计划线,但完成速率呈现加速态势,累计完成33Point,已经略高于初始计划速率。同时也通过燃尽图,验证了项目初始预估的速率15Point/周是相对靠谱的。
第5-6周
第4周结束时,团队受到燃尽图的鼓舞,在第5周时实际完成线低于预测线,当周完成22Point。详细了解信息后,发现团队成员为了让燃尽图更“好看”选择了一些容易完成的任务项,但这个操作严重影响项目整体健康水平,为之后的阻塞埋下伏笔(留下了最困难的问题放在最后解决)。在第6周时,实际完成线即刻出现反弹。累计两周完成量28Point,实际低于累计两周计划值30Point。
第7-8周
工具带来的反制仍然在影响项目,剩余存在难度的任务都被埋在了项目后期。双周累计完成23Point,仍低于计划速率。截至第8周结束,剩余工作量是16Point,还存在一定的可能性在下周内完成燃尽,毕竟剩余工作量只比计划速率多1个Point而已。
第9-11周
如果按照敏捷时间盒锁定的方法论,迭代的进度节点锁死,燃尽图应该在第9周锁定,那么你看到的燃尽图应该是这个样子。
是的,你没有看错,项目的实际情况是接下来是长达3周的长尾效应出现。团队并没有像计划那样顺利完成,反而出现了一次回滚,导致第9周进度为0Point,项目延期。随后是为期两周的圣诞发布冻结+元旦发布冻结,项目来到第11周,燃尽图上也出现了一段水平的线段。
第12-13周
项目出现长尾,这个长尾在燃尽图上也得到了直观的反应,可以从图中明显看到1个为期4周的长尾。团队在第12、13周分别完成8Point,延期4周最终完成项目,虽然客观因素是存在2周的发布冻结,但实际上把困难任务往后放的操作是导致延迟的重要原因之一。至此一副完整的项目燃尽图绘制如下:
见微知著,一叶知秋,燃尽图不仅仅只是一副图表,曲折的曲线下面,还有许多值得敏捷实践者思考的东西。燃尽图起到了什么样的作用?它提供的是实时客观的任务完成情况数据,根据它可以得到项目整体的客观进度。通过使用燃尽图,避免了口头汇报进度不准确的问题,可以使进度风险尽早、客观的展现出来,促进团队和整个组织尽早采取应对措施。用好燃尽图,可以实时提供准确的进度信息,提高了整个团队、项目和组织的透明度。
一句话,燃尽图带来透明性。
整理回顾本次项目过程带来的思考:
1、太多的敏捷最佳实践可能会让敏捷团队陷入困扰(包括今天安利的燃尽图),选择合适的敏捷元素对团队而言更重要。
2、燃尽图是一个可以反映和预测项目完成情况的工具,适合于测量的进度随着时间变化的项目。
3、燃尽图对团队有一定积极的心理暗示,当然反面也可能给团队施加了过大的压力。建议不要为了燃尽而燃尽,反而被工具所累。
最后,Excle中通过插入折线图的方式可以快速生成燃尽图,本文中使用的数据样例如下,希望对你有所帮助。
本文来自微信公众号“ 携程技术中心PMO”(ID:cso_pmo),作者水无常形(罗睿),携程PMO项目经理,敏捷总动员讲师,PMP、ACP、信息系统项目管理师,熟悉传统&敏捷项目交付过程,在软件工程项目管理的赛道上不断探索,寻找修炼法则。