速率是一种非常简单但强大的方式,可以准确衡量 Scrum 开发团队随时间推移交付业务价值的速度。它提供了团队在每个迭代中平均完成工作量的指示。产品待办事项清单在每个冲刺由一个Scrum 团队,开发团队使用追踪。因此,要计算敏捷团队的速率,只需将迭代期间成功交付的功能、用户故事、需求或待办事项的估算值相加即可。团队应:
- 预测在特定日期可以交付的范围。
- 预测固定数量的范围将在何时交付。
- 了解在定义冲刺中承诺交付的范围时我们的限制。
Scrum 速率示例
在完成几个迭代之前,有一些简单的指导原则可用于估算 Scrum 团队的初始速率,但之后,团队可以使用经过验证的历史速率估算方法来进行冲刺规划。基于一系列过去的冲刺,速率估算通常趋于稳定,并为提高 Scrum 项目的短期和长期规划准确性提供更可靠的依据。
注意:
速率衡量团队在一个冲刺中能够完成的工作量,是 Scrum 中的关键指标。它通过在冲刺结束时将所有完全完成的用户故事的点数相加来计算。部分完成或未完成的故事的点数不应计入计算。
步骤 1 – 计算第一个迭代(冲刺)的速率
在每个迭代结束时,团队将该迭代期间完成的用户故事所关联的努力估算值相加。这个总和称为速率。
一个敏捷团队已开始一个迭代,计划完成故事 A 和故事 B(分别估算为 2 点),以及故事 C(估算为 3 点)。在迭代结束时,故事 A 和故事 B 已 100% 完成,但故事 C 仅完成 80%。敏捷团队通常只认可两种完成程度:0% 或 100%。因此,故事 C 不计入速率,此迭代的速率为 4 点。
步骤 2 – 使用速率估算所需迭代次数
在理解步骤 1 中的速率后,团队可以根据剩余用户故事的估算值,计算(或修订)完成项目所需的时间,前提是未来迭代中的速率大致保持不变。这通常是一个准确的预测,尽管很少能完全精确。
假设剩余的用户故事总计为 40 点;团队对剩余工作的预测为 10 次迭代。
Scrum 中速率与用户故事点数之间的关系
用户故事点数用于衡量规模和复杂性——本质上是完成一项任务所需的时间。用户故事点数是完成用户故事所需时间的相对度量。这一概念源自 XP。它们用于评估故事的难度,而不是承诺完成所需的时间。这使得你可以根据团队规模或任务类型使用用户故事点数。
如何將速度與故事點數連結?
- 團隊經常使用「速度」作為生產力指標,向外界精確說明一個Scrum團隊的速度。
- 如果故事點數的估計在整個專案中保持一致,那麼使用故事點數來代表「速度」是合理的。
- 如果不僅在團隊內部,還在各團隊之間,甚至整個公司範圍內都保持一致性,就能夠衡量生產力並比較團隊表現。
- 如果故事點數的值保持穩定,就可以作為發行規劃的參考。稍後您可以評估可能的時間表。
如何為使用者故事分配故事點數?
故事點是一種相對的衡量單位。團隊應採取的第一步是定義一個故事作為基準,以便根據這個基準來估算其他故事。根據文獻建議,團隊應找出待辦事項清單中最簡單的故事,並分配1個故事點,然後以此故事作為基準來估算其他故事。
用於產生故事點數估算的兩種尺度:
- 線性尺度 (1, 2, 3, 4, 5, 6, 7, …)
- 費波那契數列 (0.5, 1, 2, 3, 5, 8, 13, …)
建議先估算團隊熟悉且知道完成時間的第一個使用者故事。接著估算下一個使用者故事。如果團隊認為所需時間少於基準故事,就將其放在基準的左側。再估算另一個使用者故事。如果團隊認為所需時間少於基準但多於第二個故事,就將其放在基準與第二個故事之間。在此範例中,我們使用費波那契數列進行故事估算:

使用者故事 故事點數
如何更準確地估算速度?
在Scrum中,速度有助於了解團隊完成產品待辦事項清單所需時間。然而,通常需要經過幾個Sprint後,團隊才能找到更穩定的速度。為了更準確地估算團隊的速度,可以參考團隊過去的追蹤紀錄。這將更準確地預測團隊在一個Sprint中能完成多少故事。用於預測時,應使用最近三到四個Sprint速度的平均值。
假設一個新的Scrum團隊計劃在第一個Sprint中完成41個故事點。結果只完成了38個故事點,並將6個故事點帶入下一個Sprint。因此他們的速度為38,如下所示:

Scrum速度
基於過去Sprint追蹤的平均速度
如前所述,團隊不應將任何部分完成的工作納入速度計算。只有標記為「完成」的使用者故事才計入,即使僅剩一小部分任務尚未完成。
基於單一Sprint的速度並非一個非常可靠的預測指標。(但它確實有助於團隊了解在單一Sprint中能承諾多少工作。)讓我們追蹤他們在更多Sprint中的進展。
現在,新團隊從Sprint 1持續開發到Sprint 4。每個Sprint完成的故事點數分別為:38、29、38和39。四個Sprint後的平均速度為36,如下所示:

Sprint間的Scrum速度
基於四個Sprint的這個平均值,遠比單一Sprint的瞬間快照更有用。可以很容易想像,如果待辦事項清單中已有使用者故事的估計,我們就可以使用此速度進行預測。我們可以預測團隊完成所有工作的速度,也能對未來發行版本中可交付的功能做出有根據的猜測。
速度圖表
如果Scrum團隊已完成多個Sprint,團隊可以使用速度報告來預測發行和產品完成日期,並更好地規劃未來專案。根據報告中顯示的先前Sprint的速度,您可以達成以下目標:
- 追蹤團隊在每個Sprint中完成的工作量。
- 如果團隊組成和Sprint時長保持不變,估算團隊在未來Sprint中能處理多少待辦事項工作。
根據上述範例,速度圖表顯示Scrum團隊在四個Sprint中完成的工作量:

Scrum速度圖表