敏捷软件开发绩效管理系列之如何考核敏捷团队

前段时间有位朋友问我如下2个问题:

  1. 如何衡量一个好的敏捷教练?
  2. 团队达到什么情况时,就是敏捷了,是否有标准?

这两个问题的本质是有关于绩效管理的,因此触发我想写两篇有关敏捷软件开发绩效管理的文章。本篇是系列一——如何考核敏捷团队,即团队敏捷转型前后能有什么变化,或者说团队敏捷的“标准”(这里特意用了引号)。

在开始讨论绩效管理之前,我们先来一起看看绩效管理的目标。

绩效管理的目标

  • 提高个人业绩表现
  • 改善组织结果
  • 决定加薪或升职

提高个人业绩表现

绩效管理的目标之一就是帮助个人提高,或者换个说法,个人在公司里工作的主要动力之一也是可以自我学习、提升个人价值。

反观大部分公司的绩效管理是如何做的呢?

多数公司都是等到了年底的时候,直接经理进行一次性的打分(针对这一年的表现),然后根据这样的打分来决定个人一年的总体表现。这样做,对于提高个人表现有多大的帮助呢?总之,我认为作用不会很大。

改善组织结果

很多组织会有一大堆考核组织(或者团队)的度量指标——多的甚至达到20+。这么多的指标究竟有哪些可以指导组织(或团队)的改进,有哪些有负面作用?

另外,这些考核组织(或者团队)的指标往往掌握在管理者手里(团队成员并不知道)。那么这样的绩效管理对于改善组织结果的作用有多大,是值得商榷的。

用于加薪或升职

正如绩效管理第一个目标(提高个人绩效)中提到的,多数公司是每年(好一点的是半年)做一次绩效评估,然后根据这次评估的结果来决定一个人的加薪或者升迁。这样的话就会导致评估结果不能真实反映实际情况,举个例子,某员工小明,在11月底的代码提交中引出一次线上事故,而在前10个月中小明表现都非常优秀。在这个情况下,小明这一年的绩效评估结果会怎么样?很不幸,估计不会太好。原因如下:1. 尽管小明之前表现非常优秀,但这次犯了错误。2. 尤为关键的是这个错误恰好在绩效评估之前,管理者记忆犹新。

前面我们列举了绩效管理的目标,以及传统按年进行绩效评估的缺陷。那么在敏捷软件开发中,如何进行绩效管理呢?

度量指标的分类

在谈及绩效管理度量指标之前,我先对度量指标做一个粗略的分类。度量指标可以分为:

  • 内部度量指标
  • 外部度量指标

内部度量指标

内部度量指标,指的是度量组织(或团队)内部的指标(从内部看)。举个例子,比如个人或者团队的代码行数,单元测试覆盖率,缺陷数等等。

内部度量指标主要用于提高组织(团队或个人)的效率。

外部度量指标

外部度量指标,指的是度量组织(或团队)外部表现的指标(从外部看)。举个例子,比如ROI,客户满意度,NPS等。

外部指标主要用于指导组织(团队或个人)的方向,从而组织盈利或获得成功。

敏捷软件开发的度量指标

选择度量指标的时候,有几个因素需要着重考虑:

  • 公司的目标是什么,这个度量指标和公司目标匹配吗?
  • 组织(或团队)的改进方向或重点是什么?
  • 这个目标的数据收集工作有多大?更新周期是多久?

另外,针对绩效管理度量,还有两个重要原则:

  1. 结果比过程重要
  2. 学习比失败重要

注意:在下一篇文章中,我会列出一些软件开发中常用的度量指标(经常也用于敏捷团队的),需要特别注意的是这只是一个度量指标清单,不要照本宣科全部采用(会累死的)。

待续