前 言
是否存在一种合理的方法来衡量程序员的技能与贡献,并且也同样适用于团队所有的人?是否可以通过度量来帮助个人提高程序员的自我意识,以及促进团队工作、出谋划策和目标设定?能否通过详尽的数据帮助你做出更好的聘用决策,或者更公平地进行绩效考核,从而让你的软件开发团队变得更成功?
无论你是程序员、团队负责人,还是项目经理,如果你对这些主题中的任何一个感兴趣,或者你对如何采用不同工作方式将度量应用到软件开发团队中感兴趣,那么本书很适合你。本书的思路和过去在软件开发中使用度量的方式有很大不同。本书中提出的概念和技术,旨在帮助你从不同的角度思考构建软件开发团队以及开始你们的新旅程——在软件开发过程中采用更新、更好的度量方法。
作为软件开发团队的经理,我本人亲身实践了这些方法。本书中所提出的技术已帮助一些身处麻烦中的团队走出困境,并且帮助一些本来已经不错的团队锦上添花。固然,本书提出的度量方法并非成功的唯一途径,但它对我来说极具价值,我相信对你也会同样有效。
也许你会通过使用软件的人数、交付版本的效率或者软件中错误的数量来衡量软件的成功。通过使用度量方法可否将这种成功提高5%、10%或者15%?自己测试一下这些想法就知道了。虽然本书描述的方法相当有效,但即使仅仅有5%的改善,也意味着很大的价值。如果度量可以简单地帮助开发者在一个团队里变得更自觉,并继而成长为更好的团队成员,那么这有多大的价值?最起码,我相信潜在的收益足以抵得上你收集和使用书中描述的各种度量指标所花费的时间和精力。即使最终你决定不再收集这些度量,但是我相信通过阅读本书,你仍然能够从中学到很多有用的概念并应用到你的团队中。
目 录
第一部分 概念
第1章
第2章
度量的目的
度量不是评级
团队动态
连接活动与目标
好的度量像探照灯
假设检验
案例分享:局部地揭露魔力三角
模式、异常点和离群点
峰值和谷值
涟漪效应
可重复的成功
理解度量的限制
案例分享:意料之外的成功因素
有价值的数据
数据选择
数据获取
项目跟踪系统
观测员和统计表
公平和一致性
案例分享:度量和怀疑论者
第3章
度量可以帮助回答哪些问题
程序员在其核心职责方面做得如何
程序员在其核心职责之外的贡献如何
程序员和他人的互动如何
软件团队是成功还是失败
案例分享:赛季的最有价值球员
度量数据
生产力
关于软件采用、问题以及竞争的数据
案例分享:双队记
第4章 技能度量
输入数据
进攻度量
防守度量
精度度量
技能度量计分板
如何度量各种程序员类型
第5章 响应度量
输入数据
获胜度量
输场度量
动量度量
响应度量记分卡
基于项目类型的观察
第6章 价值度量
输入数据
贡献度量
评价度量
价值度量记分卡
关于团队在不同阶段的一些观察
第三部分 过程
第7章 使用度量
着手开始
案例分享:7%规则
在开发过程中使用度量
案例分享:转机
在绩效评估时使用度量
进一步采用度量
案例分享:相同与不同
第8章 打造软件团队
目标和描述信息
角色
案例分享:两次通宵
人事
案例分享:没有完美团队这回事
第9章 结论
附录 本书中的度量方法汇总