一名热爱体感技术的
业余专业开发人员

[转载]程序员度量:改善软件团队的分析学

blog.csdn.net/hzbooks/article/details/8659975

 

《程序员度量:改善软件团队的分析学》前言

让我们不要太确信,我们没有错过一些重要的东西。

——比尔·詹姆斯(棒球统计学家和作者),摘自“Underestimating the Fog”

《程序员度量:改善软件团队的分析学》是一本关于程序员、软件开发团队的度量和模式的书。本书的一些想法源于我在多年前开始的对软件开发团队构成的思考:无论好坏,所有细微贡献以及无名英雄的辛勤汗水都是项目成功的关键组成部分。近二十年里,我一直在负责设计师、程序员和测试团队的组建与管理工作。这些年,我意识到一个软件开发团队就像一支球队一样,需要有各种角色的球员和不同的技能的专业人员才能成功。我同样认识到成功和失败的模式未必像我之前所设想的那样简单。

我见过一个简单的模式,或许你也看到过:我曾经所在的每个成功的软件开发团队中,总是至少有一位同事无怨无悔地去做一些琐事,比如创建安装程序,改善编译脚本,或者修改一些其他人的错误来帮助团队实现产品功能。如果团队里没人去做这些琐碎的事情,那些项目就总是无法完成,或者至少是做得不够好。

另一种模式是:我见过很多经验丰富的软件开发团队,其中一般都有一到两位程序员在充当明确的技术领导和关键人物,虽然他们未必拥有与之对应的头衔。这些关键的程序员不仅解决问题,而且他们对其他人产生了强大的影响力,比如其他的程序员技能飞速发展,越来越接近技术领导者的水平。其最终结果就是,一到两个牛人提高了整个团队的水平。

这里还有我在曾经亲身参与的一个长期项目中观察到的一个模式,这种模式尤其常在处在创业阶段的小团队中发现:当项目进展到80%的时候,项目团队往往就“撞墙”了。像马拉松运动员跑到20英里标志点一样,项目团队经过几个月的努力奋斗,每一个人都身心俱疲。有时候当团队遇到困难时,我们就停滞下来,并且无法重获生机。这样项目剩下的20%工作量似乎永远也完不成,