写在前面:
在决定要衡量什么时,首先要有一个目标。其次是用什么来衡量这个目标的完成情况,这里就要谈到「指标」。
就敏捷开发而言,客户和团队内部对敏捷开发的「可预测性」尤为重视。因为没有稳定的可预测性的团队就不可能有可预测的项目,特别是当团队之间存在多种依赖关系时。
在每个冲刺 (sprint) 结束时能够遵守承诺,如期交付,这是我们的团队和客户都乐于见到的。从「可预测性的敏捷指标」着手,本文着重介绍了保证团队稳定输出和制定可达成目标的5个方向。这里,我们将其称为5个敏捷指标。
来看下我们的团队是否:
- 冲刺 (sprint)开始前提供了预期交付的功能?
- 交付的代码都经过严格的测试和修复?
- 希望使用冲刺来安排工作?
- 有信心提供预期发布的功能?
- 形成了稳定的迭代周期?
我们用以下敏捷指标来回答这些问题:
指标1>> 故事和点数的完成率
- 实际交付的故事数 / 承诺的故事数
- 实际交付的点数 / 承诺的点数
此指标有助于团队评估和制定冲刺计划。
「故事」小,「冲刺」前准备工作尽可能详尽,这是我们希望的。如果不能,这个误差应该在10%以内。
指标2>> 速度和产量变化
- 近期速度/平均速度
- 近期产量/平均产量
此指标有助于团队更好的衡量自己的产出。借助此指标能够帮助团队在冲刺前管理风险和依赖性,避免过度承诺,误差应控制在20%以内,速度的偏差最好能随时间推移越来越小。
指标3>> 交付周期
- WIP(在制品)与产出量之比
在制品越多,随着投入成本的增加,产出反而会变少,对开发者来说也变成了一项挑战。我们的目标是从“准备就绪”到“交付”不应超过4周,最好是两周甚至更少的时间。
指标4>> 团队成员可用率
- 实际可用人数/预期人数
稳定性对一个敏捷小组至关重要,当小组成员被拉到多个团队中或者无法按计划工作,团队也不太可能「按原计划进行」。敏捷小组需要对此做出提示,并将这种变动控制在计划的10%以内。
指标5>> 释放信心
- 通过团队内部视角和记录来评估团队对达成目标的信心
我们可以使用共识投票的方式来评估团队信心:「1」表示没有信心,「5」表示非常有信心。最后的分值可以记录下当下团队内部对实现该目标的信心。
如果一个团队依赖严重,可以由敏捷项目经理来投票;如果缺少某项技能或者某个角色,团队应该考虑该情况对成功发布的影响,最好使用燃尽图来跟踪项目进度。
除了上述5个主要指标外,敏捷小组也可使用「质量指标」:构建频率、破坏构建、代码覆盖率、缺陷率或技术债务等;或者「产品指标」:剩余功能、发布功能大小等;或者「价值指标」:价值实现时间等。负责任地使用敏捷指标,可以让整个团队掌握达到预期的能力,并实时改进工作。
了解更多敏捷开发、项目管理、行业动态等消息,关注我们的团队博客或点击LigaAI-智能研发协作平台,在线申请体验我们的产品。