Scrum 指标是用来跟踪和提高效率和有效性的特定数据,Scrum 团队可以通过这些数据指标为决策提供信息,从而提高规划和执行的效率,以及对目标和计划进行改进。
著名管理思想家 Peter Drucker 曾说过:“如果你无法衡量它,你就无法改进它”。虽然这句话并不适用于生活各个方面,但它确实适用于实践敏捷团队。通过使用某些指标,Scrum可以适应、调整和提升团队效率。
一、什么是 Scrum
Scrum 是一种敏捷开发框架,可帮助团队解决复杂问题,同时围绕目标不断迭代研发解决方案。Scrum 最大的特点是以Sprint(迭代)进行工作,迭代是 Scrum 团队为完成一定数量的工作而设置的时间范围。
由于广泛的适应性,像 Scrum 这样的敏捷框架的使用范围已经超越了技术的团队,逐渐被支持,设计,营销等团队所引入。因此,Scrum 指标对于衡量团队绩效和效率也越来越重要。
二、什么是 Scrum 指标
Scrum 指标是用来跟踪和提高效率和有效性的特定数据指标,在定义、理解和实施这些数据指标后,它们会成为洞察项目的依据,帮助指导和改善团队的敏捷流程。
Scrum 指标还能为决策提供有效的信息支撑,从而提高团队规划和执行效率。除此以外,它们还可用于帮助建立基线用于判断团队当前的水平,进而对目标和规划进行改进。这样就可以避免拿行业的标准来衡量所有团队,毕竟每个团队都是独一无二的——他们的规模、使用的技术、所做的工作类型等各不相同。
每个团队都有责任就一组指标达成一致,以跟踪和定义如何使用它们。这不是某个人责任,也不是管理层可以进行定义和执行的事情。
三、为什么需要 Scrum 指标
Scrum 指标可以帮助团队建立基准并指导工作方向,并且有助于了解团队效率的各个方面,无论是团队的速度、能力、交付的可预测性还是产品的质量。无论是对老团队和新团队都有非常大的价值。
利用好 Scrum 关键指标可以培养团队对绩效的认知,激发他们自驱力。随着时间的推移,这些指标甚至可以帮助衡量团队的成就感和满意度。
通常情况下,许多敏捷团队仅依靠直觉来判定团队的绩效,但这样做并不准确,也很有可能错失激励和提升团队的机会。
四、Scrum 指标是否可以作为KPI ?
Scrum 指标可用于设置关键绩效指标 (KPI),但具体取决于工作的类型和范围。光靠 Scrum 指标无法衡量客户价值,也无法显示团队是否交付了正确的增量。对于敏捷团队而言,KPI 应该体现在企业收益层面,即衡量 Scrum 团队的绩效时,应考虑除 Scrum 之外的其他指标,包括:
- 业务的投资回报率(ROI):公司根据目标以多种方式衡量投资回报率,包括收入增长、月活跃用户 (MAU) 等。
- 客户满意度:净推荐值 (NPS) 和客户满意度评分 (CSAT) 等调查指标可以帮助跟踪项目的成功。每个发布的客户满意度指标对于向客户展示 Scrum 团队的价值非常重要。
- 团队满意度:只要向您的团队询问他们对项目的积极程度以及与团队的互动,您就可以发现人员变动、人员流失和人员不满意等问题。
五、关键的 Scrum 事件以及指标
虽然敏捷 Scrum 定义了几个重复的事件——迭代、迭代规划、每日站会、迭代审核、迭代回顾,但这些并不能保证进度或者项目的成功。所以团队需要通过其他方法检查和调整他们的工作方式,以提升项目成功率,比如 Scrum 指标。
1.迭代规划阶段
迭代规划会议在迭代开始时举行,团队需要将用户故事分解为详细的任务,这个过程中也将对迭代(Sprint)期间的任务进行工作量估算。估算数据的准确可以提高团队的迭代规划效率,这些数据包括迭代目标、当前团队速度、团队能力和工作项类型等等。所以团队可以建立自己的迭代规划会议模板来指导未来的迭代规划。
迭代目标
迭代目标可以帮助团队决定在接下来的迭代中要完成什么,为项目带来凝聚力,并指导任务的优先级。迭代目标通常是产品负责人希望在单次迭代期间要完成的目标的高级摘要,经常通过一组特定的产品待办事项项进行详细说明。一个真正有效的团队会定期审查迭代目标及其在产品规划中的优先级,以制定如何排序和拆分工作的目标策略。
团队速度
一个团队可以在迭代中实现的工作量本质上可以描述为“速度”,我们也可以理解成团队在给定时间内可以完成的工作量。而团队速度指标(如下图)揭示了团队在迭代期间交付的工作,这有助于我们预测团队在未来迭代中可执行的工作量。一支团队的速度只有在一起完成过几次迭代之后才能了解。随着时间的推移,在团队的共同努力下,工作速度将趋于稳定。这里的努力可能涉及增加使用的技术,了解团队中彼此的专业知识,学习如何与团队合作。下方是一个速度图示例,其中包含每个迭代的计划故事点、完成故事点和平均速率信息。
团队容量
团队在迭代中可以完成多少工作量取决于他们的能力和工作时间,这不足为奇。如果您的团队中有一半人休假,就不可能保持稳定的速度。规划团队容量的一种方法是收集每个团队成员几次迭代的工作时间,然后平均计算出单次迭代的容量总和、每个人的容量在总和中的百分比。由于每个人都可能在后期出现无法预测的紧急情况,因此最好在迭代承诺中留出 10% 的缓冲区,以避免团队过度投入和交付不足。
工作类型
当团队的迭代待办事项中加入了越来越多的需求功能、缺陷修复和技术债务时。这种情况下如果想知道团队在迭代中将时间花在哪里,将会变得很棘手。缺陷或技术债务很容易占用团队的迭代时间,尤其是在开发团队对代码质量追求极致的情况下。最终可能会导致团队没有按迭代目标来提供足够的客户价值。
通过在迭代计划阶段检查迭代中工作任务的类型划分,认真考虑团队正在从事的工作,即使你在待办事项列表中发现了大量技术债务和缺陷工作,也可以通过安排技术债务迭代或提高开发质量标准来战略性地解决这个问题。
2.每日站会阶段
每日站会是敏捷团队每天举行的简短会议,团队成员可以通过这个会议了解团队工作的进展。对于高效的 Scrum 团队来说,每日站会应该不仅仅是沟通待办事项列表上的消息。这是审查团队迭代进度并重新调整优先级,以做出可能对迭代结果产生重大影响的小型或大型决策的日常机会。
这时候,以下数据和指标可以派上用场:
迭代目标进度
虽然团队成员可能清楚自己工作的状态和进度,但很容易忽略集体迭代目标的总体进度。这就是为什么要在每日站会时提出对迭代目标进行审核的原因。
这是一个审查团队是否仍在正轨上的机会,如果没有正常运行,为什么,可以做些什么?如果是无法解决的问题,是否要将这个问题传达给关键的利益相关者?通过这种方式每个人都能保持同步。
迭代燃尽图
为了更好地了解团队的进度,应该使用迭代燃尽图快速查看迭代进展。它通过比较要完成工作的时间和数量(以故事点或小时数衡量)来跟踪整个迭代期间的工作完成情况。它有助于预测团队在指定时间内完成工作的能力、跟踪迭代进度。识别迭代中的问题,比如燃尽图急剧下降,则可能与工作估算不准确有关。
以下是 PingCode 中的迭代燃尽图,其中包含迭代中每日完成故事点、剩余故事点和理想值信息:
工作负载分配
团队应该清楚每个人正承担多少工作。尤其是在远程办公文化中,很难了解每个人手头有多少工作。如果不了解这一点,那可能意味着您的部分团队成员可能过度劳累。每日站会是团队成员互相寻求支持和帮助的机会,也可以是调整每个人的工作量以更好地实现迭代目标的方法。
但不要把它变成衡量KPI的标准。如果您用它来衡量个人的生产效率,最终可能会导致团队成员灰心丧气。相反,为团队所有人创造一个安全的环境,让他们公开谈论自己承担了多少工作以及哪里需要帮助会更有效。
洞察信息
一旦建立了稳定的 Scrum 开发节奏,就有必要持续使用指标来优化效能,效能度量团队做好该工作的绝佳工具。
3.迭代回顾阶段
即使是最优秀的团队也可以从迭代回顾中收获经验。这个时候您的团队可以通过庆祝进展顺利、哪些地方需要改进以及复盘迭代中发现的问题。当然,这也是您查看关键迭代指标(包括迭代目标完成度和迭代满意度)的最佳时间点。
以下是 PingCode 团队在回顾板的做法示例:
4.迭代目标完成
您的团队是如何跟踪迭代目标?如果您的团队完成了迭代需求列表上的所有内容,那就太好了!如果没有,哪里可以做的更好?
在评估您的团队的成功时,我们已经讨论过的 Scrum 指标可以派上用场。团队工作流程的任何改进都值得庆祝——即使您的团队速率因为迭代范围没有变更而变快了。对于实践 DevOps 的团队来说,也可以查看关键的 DevOps 指标,例如周期时间或部署频率,以讨论交付流程的改进,从而提高完成迭代目标的可能性。这样做将有助于您的团队解决问题并制定更明确的行动计划。
迭代满意度
向您的团队询问他们对迭代的满意度。有些团队使用数字量表、反馈表甚至表情符号来表达。您的团队可以反思成员的目标是否与团队目标一致。或与完成功能相比,花在技术债务上的时间是否过长?
在整个回顾中,鼓励团队成员踊跃发言,并在需要时点名发言。最好的回顾有多种视角和各种观点。重要的是,在会议结束时,团队在主要问题、负责人以及跟进关键事务的计划方面基本达成了共识。
小结
Scrum 的目的是帮助团队更好地工作,而 Scrum 指标的目的是确保 Scrum 帮助团队工作。在应用 Scrum 指标时,团队不应该感到有负担,而应该感到有所启发。
您不需要使用本文中提到的所有指标,而是从一两个指标开始,看看它们是否有助于改善团队。另外,您的 Scrum 团队可能有成熟的 Scrum 实践,而没有使用 Scrum 指标体现更大的价值。所以这真的非常值得一试!利用好指标帮助团队建立的良好工作习惯,还有别忘了偶尔重温指标把控团队迭代的健康状态。