敏捷指标为软件开发生命周期中的不同阶段提供对生产力的洞察,这有助于评估产品质量并跟踪、优化团队绩效。本文将为大家分享一些主流的敏捷指标,比如燃尽图、史诗特性完成趋势等,以及如何善用这些敏捷指标。
敏捷指标为软件开发生命周期中的不同阶段提供对生产力的洞察。这有助于评估产品质量并跟踪、优化团队绩效。
如何有效采用数据指标指导研发工作是很多团队面临的问题。有些团队在研发中没有使用数据指标跟踪项目,难以了解项目进度是否正常,工作效率是否提升。而有些团队把数据指标当做项目管理判断的唯一标准,导致不同团队因为数据指标立场不同而产生摩擦,或者导致大家为了达成数据指标而强制加班。因此,很多团队犹豫是否应该使用数据指标,希望通过指标有效管理项目,但又怕对团队造成负面影响。
其实,合理跟踪使用敏捷指标能让团队的工作更有方向性、帮助团队在整个研发过程中暴露问题并促使团队及时改进。
一、理解业务
需求的交付目标不能只是”完成“,而应该是”在正确的时间,为正确的市场,交付正确的产品“。在整个项目中保持追踪意味着在整个过程中收集和分析相关业务数据。在任何敏捷计划中,跟踪业务指标和敏捷指标都很重要。业务指标侧重于解决方案是否满足市场需求,而敏捷指标则衡量开发过程的各个方面。跟踪业务指标和敏捷指标都很重要。业务指标关注解决方案是否满足市场需求,而敏捷指标则衡量研发过程的各个方面。
业务指标体现在:产品路线图上的每项工作——项目目标实现的关键结果 OKR);以及每个产品需求的交付标准, 如用户的使用率或自动化测试覆盖的代码百分比等,团队应该多学习和应用这些业务指标帮助更好地理解业务。
二、敏捷指标有哪些?如何利用这些指标优化产品交付?
常见的敏捷指标有四个:1、迭代燃尽图;2、史诗和特性完成度趋势;3、团队速率;4、累积流图。除以上四个以外,还有一些常见指标我们也将介绍。
1、迭代燃尽图
Scrum 团队的研发工作通过固定周期的迭代开展。在迭代开始时,团队预估他们在迭代期间可以完成多少工作,并在迭代中使用迭代燃尽图来反映整个迭代工作的完成情况。x 轴表示时间,y 轴表示需要完成的工作量,根据故事点或工时来衡量。团队的目标是在迭代结束时完成所有预估工作。
需要避免的情况:
团队过早完成迭代,因为没有规划足够的工作。
团队多次未完成迭代,因为规划的工作过量。
燃尽图存在陡峭的下降线而不是缓慢平滑的线,因为工作没有被更好地分解。
产品经理在迭代中期随意增加或更改需求。
2、史诗和特性完成趋势
史诗和特性的完成情况可以更宏观地反映项目进度。在 Scrum 团队中,迭代包含了多个史诗和特性拆分出来的用户故事,因此除了跟踪单个迭代之外,史诗和特性的进度管理也非常重要。
“史诗和特性的范围扩大”指的是将更多额外需求加入到已规划好的项目中。比如,某团队正在进行一个官网升级的项目,在规划好初始的功能需求之后又加入了新的功能。团队在迭代中会尽量避免迭代范围的扩大,但史诗和特性中的范围变化是敏捷开发的正常业务现象,不会影响团队的迭代进度。随着项目的进行,产品经理会根据需求随时调整工作,而史诗和特性的进度可以让成员了解整体的项目进度。
需要避免的情况:
- 多次迭代后,相关史诗或特性没有进展。
- 工作范围在缓慢增加,可能因为产品经理没有完全理解产品规划首要目标。
- 工作范围的增长速度超过了团队可以解决的速度。
3、团队速率
速度是 Scrum 团队在迭代期间完成全部工作的平均速度,以故事点或工时来衡量,对于团队评估工作量非常有用。产品经理可以根据这个指标来估算团队完成待办工作的速度,因为速度指标是通过每次迭代中预估和实际完成的工作进行分析计算的,迭代次数越多,速度指标就越准确。
假设完成产品经理的产品规划中所有工作需要 500 个故事点,而开发团队在每次迭代可以完成 50 个故事点,产品经理就可以合理规划团队需要 10 次迭代来完成工作。
监控团队速度的变化非常重要。随着团队组织架构和工作流程的优化,团队也期望速度有所提高。通过团队速度指标,团队可以不断跟踪速度,确保速率趋向健康发展;同时还可以判断工作流程优化的有效性。平均速度下降通常表明团队在开发过程中存在效率低下的环节,建议在下一次迭代回顾分析问题并改进。
当团队速度长期不稳定时,应对团队速度重新估算。以下几个方面可供参考:
- 在估算工作时是否没有考虑更全面的细节?如何才能更好地分解工作来发现其中的问题?
- 是否有外部业务需求加入使得团队工作容量超额?敏捷开发实践是否会因此受到影响?
- 作为一个团队,是否过于追求工作估算的准确性?
另外,如果团队 A 的速度为 50,团队 B 的速度为 75,这并不意味着团队 B 的吞吐量更高。由于每个团队都有自己的估算方式,因此团队有自己的速度。我们不能比较团队间的速度,而是应该根据每个团队各自对故事点的评估来衡量工作量和产出。
4、累积流图
累积流图从左到右看起来应该是比较平滑的。当任何一种颜色出现过大或过小的间隙,则表明工作遇到瓶颈或出现短缺。因此当出现异常时,需要关注并寻找造成该现象的原因。
需要避免的情况:
- 阻塞状态会导致工作在该状态大量积压,影响其他状态的流动。
- 随着时间的推移,未开始的工作越来越多。可能是因为产品负责人没有及时关闭已完成的工作,或者安排了过多的低优先级工作。
三、其他指标
对团队有用的指标还有很多。例如,交付物质量也是敏捷团队的重要指标,传统研发中的一些指标同样可以应用于敏捷开发:
- 缺陷统计(开发过程中的、发布上线之后的、客户提交的等等)
- 需求与缺陷的响应时长
- 客户的需求采纳率
- 自动化测试覆盖率的百分比统计
敏捷团队还应该关注发布频率和交付速度。在每个迭代结束时,团队应该将迭代内容发布到生产环境中。发布版本的频率是多少?发布版本是否正常上线?同样,团队需要多长时间才能将紧急修复发布到生产环境中等,这些都是项目研发过程中的重要指标。
在 PingCode 中使用更多的指标
项目报表是团队查看指标的必要功能:在迭代计划期间、在每日站会或回顾期间。都可以在 PingCode 的组件中进入项目报表查看数据指标。
项目报表提供更多的指标:
- 迭代进度
- 需求分析
- 缺陷分析
- 工作完成趋势
- 成员负荷等
团队可以使用这些数据指标不断优化团队效率。
总结
指标可以给团队效率监测提供定量方向,并为团队提供可衡量的目标。指标虽然重要,但团队不应该过度依赖指标。我们还应该在迭代回顾中听取团队成员的反馈,这对于增强整个团队的信心、产品交付质量和产品发布速度同样重要。团队应该合理利用指标分析和收集成员反馈来不断进步发展。
以上就是关于敏捷指标的全部内容,希望通过对敏捷指标作用、类型等讲解,能够给大家带来一定启发。