燃尽图(burn down chart)是在项目完成之前,对需要完成的工作的一种可视化表示。燃尽图有一个Y轴(工作)和X轴(时间)。理想情况下,该图表是一个向下的曲线,随着剩余工作的完成,“烧尽”至零。燃尽图向项目组成员和企业主提供工作进展的一个公共视图。(引自百度百科)
一般燃尽图的样式如图所示。(图片来源《硝烟中的Scrum和XP》)
由于燃尽图也在传达开发速度的信息,所以也有人称为速度图或速度曲线。但恰恰就是这个速度一词,触动了管理者的神经,把一个图当成了神,不仅必须要有,而且一定要准,要拿图说话。动辄就把“可视化管理”、“绩效管理”的大帽子扣到这张小小的燃尽图上。于是,一个团队日常的视图就这样成了管理者的控制生杀的工具。
燃尽图可以用于表示开发速度,这没错。但是在分析燃尽图时还是要认识到这张图背后的一些事情。
燃尽图描述的是随着时间的推移而剩余的工作数量。每个迭代都有很多待开发的Story,在敏捷开发中,工作量的评估是以Story为单位的,一个迭代Story的数量会影响到燃尽图的Y轴。如果Story的数量过少,绘制出来的燃尽图就会呈明显的折线形状,也会对速度和风险的判断带来影响。所以,曲线未必能真的代表剩余的工作数量。
另外,Story的拆分粒度对燃尽图的影响很大。Story的拆分粒度越小则越能反映真实的状况。但也不是越小越好,如果将Story拆分到可以以人时为单位的工作量上,那么就会对团队的工作量估算准确度提出更高的要求,也会带来更多的角色交流成本。
还有,多个迭代的燃尽图进行比较,并非一定能表明迭代间的变化。影响比较结果的因素有很多,比如Story拆分的粒度是否同一,团队成员是否有变化,时间周期是否一致等等,所以进行这种比较时要综合各种因素来得出结论。
团队成员也会影响到燃尽图的描绘。当他们发现这张图还在用于绩效考核时,就会倾向于让曲线更漂亮而隐瞒真实的完成结果,或者对“完成”的标准打上折扣。也就是说,虽然燃尽图曲线到达了X轴,但实际上还有很多工作没有做,此时这种误导性就是一个陷阱了。
所以个人认为,一个迭代的燃尽图没什么意义,持续迭代的燃尽图可以用于一些分析或数据积累,但它不是用于承载绩效考核等管理手段的工具。对于迭代周期较短、每个迭代内Story数不多、Story的粒度较大的敏捷团队,或者成员时常变化的团队,其实可以适当尝试放弃燃尽图。
——欢迎转载,请注明出处 http://blog.csdn.NET/caowenbin ——