可重复的成功
虽然度量可以提升我们的理解力,并且我们可以在许多方面因此而受益。但我们追寻的第一要务是可重复的成功模式。如果找到,这些模式可以指出哪些是我们团队所需要的,以帮助我们最大化成功的概率和最小化失败的概率。
常言说“人算不如天算”,就眼前来说,这或许是对的。但是,幸运并不是保持稳定绩效的内因(虽然很多赌徒渴望它是)。高度熟练的个体或团队看起来是幸运的,但是他们始终如一的成功缘于他们的努力工作和计划。某些人或许得到了“机遇”或有个“好运气”。但是随着时间的流逝,这种运气总会用完。也就是说,再经过很长的一段时间,个体或团队(在任何涉及技能和团队工作的领域)一般只会取得他们应得的成功。
在体育运动中,我们可以看到很多球员或球队取得一次或短期成功的例子,但是这些成功并不能长期持续下去。很多球队可能只有短期的炽热表现,取得一两周的连胜。但是,经过整个赛季,如果这些球队不具备真正始终如一地取得胜利的要素,那么炽热的表现就不能持续,并且经常被低迷表现所抵消。我们同样可以看到一些从某些情形中受益的球员。在棒球比赛中,如果球队获得很多跑垒得分,那么虽然投手在比赛中有太多糟糕的投球,但还是可能赢得比赛。投手应该因为赢得了比赛而得到积分吗?在棒球比赛中,在这种情况下投手确实会得到积分,这就是为什么胜负不应该是投手技能或球队价值的好的度量,并且也不是可重复成功的一个好的指标。
我们需要认真地思考软件行业定义和测量成功的方式。比如,有时虽然生意失败了,但软件开发团队获得了成功,或者恰好相反。生意上的成败并不一定反映软件开发团队的成败。关于这一点,我会在后面讨论更多的细节。
一旦我们定义了成功,就可以分析软件开发团队取得始终如一的成功的模型。我们同样可以分析在那个时期里取得成功但不能维持那一水准的那些团队。最后,我们也需要考虑那些一直都没有取得成功的团队。检验我们可以接触的所有案例,可以帮助我们开始确定那些成功的因素和模式,帮助我们更好地了解那些有助于团队取得成功的技能和贡献。
从越多的项目收集越多的数据,就越能有助于我们确定可重复成功的模式。发现那些分别与成功失败相互关联的度量,并且增加我们的学问。我们的数据或许没有说服力,但是可以给我们的进步提供足够的洞察力。
一个简单的例子是,在很多成功的项目中,我们可以发现团队拥有很多相互帮助的程序员,但是在那些失败的项目里,程序员之间的互动很少。如果这是真的,为了提高未来项目的成功,让团队里的每个成员都了解这一点是非常有帮助作用的。度量帮助我们确定这样的模式,并且有助于与他人交流我们的发现。