首页>参考读物>计算机科学与技术>软件与程序设计

程序员度量:改善软件团队的分析学
作者 : (美)Jonathan Alexander 著
译者 : 张燎原 周峰 张刚 宋励奋 译
出版日期 : 2013-03-12
ISBN : 978-7-111-40140-7
定价 : 59.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 235
开本 : 16
原书名 : Codermetrics Analytics for Improving Software Teams
原出版社: O'Reilly Media, Inc.
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书的最大的不同在于将度量应用到软件开发中的方式。本书提出的概念和技术,旨在帮助你从不同的角度思考构建软件开发团队以及开始新的旅程——在软件开发过程中采用更新、更好的度量方法。本书分为三部分。第一部分提供对程序员度量背后思想的详细介绍,以及多种关于可以从度量获得的分析和那些可用于测量程序员和开发团队的数据。第二部分作为一种度量使用的参考指南。每种度量都包含了一些例子和注释。第三部分覆盖了将度量引入团队并将它们用于开发流程中的一些技术,以及使用度量来构建和改善软件开发团队的方法。本书适合程序员、软件小组的负责人、项目经理等人士阅读。

图书特色

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

有没有一套可量化的科学方法和准则来帮助改善我们的软件开发团队,从而让我们的团队变得更好,最终走向成功?本书提供了一套行之有效的方法——程序员度量,这种方法不仅能通过衡量程序员的技能水平及其在团队中的贡献来提升他的综合能力,而且还能使团队变得更高效和更有凝聚力,让软件团队的成功变得可以衡量。
本书主要内容:
■ 对程序员的工作进行度量的目的,以及有效度量数据的收集 方法;
■ 程序员各项技术技能的度量方法以及帮助他们提高这些技能的方法;
■ 通过对已发布软件的用户反馈进行度量来判断软件团队是否达到目标或取得成功;
■ 度量团队成员为团队所做的贡献(团队成员的价值度量),充分发挥每个团队成员的作用;
■ 将度量整合到你的软件团队实践中,花少量时间和精力就能让你的软件团队获得改善;
■ 通过度量来帮助团队做出人事决策、改善团队建设方法,从而建立更好的软件团队;
■ 通过数据分析的方法来帮助团队分析自己的生产力、技能水平、优势、劣势、模式和发展趋势,从而使得团队的决策过程更加理性、客观。

“程序员度量方法对于软件开发团队的成功可谓点球成金。谁曾想到体育运动和软件开发具有如此多的共性?本书目标清晰且引人深思,对于任何软件开发团队和所有团队成员而言,本书都是不容错过的优秀著作。”
  ——Ben Wu, Zuora公司产品品牌专家


Jonathan Alexander是资深软件开发专家,毕业于加州大学洛杉矶分校计算机科学系,拥有超过25年的软件开发经验,对软件开发团队的管理有十分深入的研究,总结并提出了改善软件团队的分析学——程序员度量。他目前是Vocalocity公司(基于云技术的商用通信服务商中的领导者)的工程副总裁,在加入Vocalocity之前,曾经在vmSight、Epiphany和Radnet等多个企业负责软件开发团队的建设和管理。

图书前言

是否存在一种合理的方法来衡量程序员的技能与贡献,并且也同样适用于团队所有的人?是否可以通过度量来帮助个人提高程序员的自我意识,以及促进团队工作、出谋划策和目标设定?能否通过详尽的数据帮助你做出更好的聘用决策,或者更公平地进行绩效考核,从而让你的软件开发团队变得更成功?
  无论你是程序员、团队负责人,还是项目经理,如果你对这些主题中的任何一个感兴趣,或者你对如何采用不同工作方式将度量应用到软件开发团队中感兴趣,那么本书很适合你。本书的思路和过去在软件开发中使用度量的方式有很大不同。本书中提出的概念和技术,旨在帮助你从不同的角度思考构建软件开发团队以及开始你们的新旅程——在软件开发过程中采用更新、更好的度量方法。
  作为软件开发团队的经理,我本人亲身实践了这些方法。本书中所提出的技术已帮助一些身处麻烦中的团队走出困境,并且帮助一些本来已经不错的团队锦上添花。固然,本书提出的度量方法并非成功的唯一途径,但它对我来说极具价值,我相信对你也会同样有效。
  也许你会通过使用软件的人数、交付版本的效率或者软件中错误的数量来衡量软件的成功。通过使用度量方法可否将这种成功提高5%、10%或者15%?自己测试一下这些想法就知道了。虽然本书描述的方法相当有效,但即使仅仅有5%的改善,也意味着很大的价值。如果度量可以简单地帮助开发者在一个团队里变得更自觉,并继而成长为更好的团队成员,那么这有多大的价值?最起码,我相信潜在的收益足以抵得上你收集和使用书中描述的各种度量指标所花费的时间和精力。即使最终你决定不再收集这些度量,但是我相信通过阅读本书,你仍然能够从中学到很多有用的概念并应用到你的团队中。 
本书结构
  本书按阅读的顺序分为三部分,虽然在以后将度量方法应用到实践时,可能其中某些章节对你而言更有价值。第一部分对程序员度量背后的思想进行详细介绍,并介绍了多种关于可以从度量获得的分析和那些可用于测量程序员和软件开发团队的数据。第二部分可以作为各种度量方式的参考指南。每种度量方法都包含一些例子和注释。第三部分介绍将度量引入团队并将它们用于开发流程中的一些技术,以及使用度量来构建和改善软件开发团队的方法。
  第一部分由以下章节组成。
  第1章详细解释了本书的构思、动机和目标。
  第2章讨论了度量、程序员度量以及团队协作和团队绩效分析背后的基本概念。
  第3章讨论有用数据的组成,怎样获取它,以及在程序员度量方法中使用的详细数据元素。
  第二部分由以下章节组成。
  第4章覆盖各种关于程序员技能和贡献的度量方法。
  第5章包括对软件的各种正面、负面用户反馈的度量方法。
  第6章包含度量程序员为团队带来价值的方法。
  第三部分由以下章节组成。
  第7章给出一个多步骤的方案,用于检验和把度量引入一个组织中,并提供了在开发过程和绩效评审中使用度量的方法。
  第8章描述怎样使用度量来确定团队的需要,以及如何把它们应用于个人计划、招聘以及培养现有团队成员。 
  最后给出了关于度量价值的结论,如何处理那些很难量化的关键度量,以及如何在未来改善和扩展度量方法。
联系我们
  有关本书的任何建议和疑问,可以通过下列方式与我们取得联系:
  美国:
  O'eilly Media, Inc.
  1005 Gravenstein Highway North
  Sebastopol, CA 95472
  中国:
  北京市西城区西直门南大街2号成铭大厦C座807室(100035)
  奥莱利技术咨询(北京)有限公司
  我们会在本书的网页中列出勘误表、示例和其他信息。可以通过http://oreilly.com/catalog/9781449305154访问该页面。
  要评论或询问本书的技术问题,请发送邮件到:
  bookquestions@oreilly.com
  有关我们的书籍、会议、资源中心以及O扲eilly网络,可以访问我们的网站:
  http://www.oreilly.com
  http://www.oreilly.com.cn
  在Facebook上联系我们:http://facebook.com/oreilly
  在Twitter上联系我们:http://twitter.com/oreillymedia
  在You Tube上联系我们:http://youtube.com/oreillymedia
致谢
  本书中的观点受到了Michael Lewis关于赛博计量学以及运动统计分析的启发,这些分析指引我了解了Bill James的著作。这些观点体现了作者知识渊博、见多识广和幽默风趣的特点。尽管他们没有理由来读这本书,但我还是要首先感谢他们。
  我还要感谢曾经在过去的许多年中一起工作过的卓越的程序员以及管理者。我非常幸运,很难想象从单一的职业生涯中我能学到如此多的东西。特别要感谢Vocalocity公司的CEO Wain Kellum以及整个团队,他们在我写作本书的过程中给予了我支持。
  感谢Andy Oram,O扲eilly的编辑,他在整个过程中给予我帮助,使得这本书在各方面都更上一层楼。与你共事非常愉快,谢谢你,Andy。同样也感谢O扲eilly的编辑Mike Hendrickson,是他最早支持和鼓舞了我的想法。同样感谢整个O扲eilly媒体制作团队。
  我要感谢Google的Brian Jackson、Taleo的Nagaraj Nadendla、Zuora的Ben Wu给予的反馈和评审。他们自身都是卓越的领导者和管理者。谢谢他们。
  感谢父亲,他培养了我对运动和统计的爱好。感谢母亲,她用爱鼓舞我写作本书。
  最重要的是感谢我的妻子Barbara。 她在写作本书期间大力支持我,不仅仅是用她出色的编辑技巧校对本书,发现缺陷并提出一些改进意见——虽然她是一名律师,并不会写一行代码(可能会)。谢谢她,亲爱的!同样感谢我两个漂亮的女儿,Naomi和Vivian,她们使得我的每一天都是特殊的。感谢她们!

上架指导

计算机\程序设计

封底文字

你该如何改善你的软件开发团队?这本精炼的书籍介绍了程序员度量,这样一种清晰客观的方式来确定、分析和讨论软件工程师的成败——不作为绩效考虑的一部分,但是可以帮助团队变成更有凝聚力的生产单元。

富有经验的团队建设者Jonathan Alexander解释了程序员度量是如何帮助团队准确地理解在项目过程中发生的事情,让每一位程序员可以关注于特定的改善。Alexander呈现了各种简单而又复杂的程序员度量,向你传授如何建立你的团队。

-- 学习如何通过程序员度量改变长期以来的假设,并且改善团队动态。
-- 获得将程序员度集成到现有流程的建议。
-- 提出正确的问题来确定你需要收集的数据类型。
-- 使用度量来测量一段之间之后程序员个体的技能和团队效率。
-- 确定每个程序员对团队所作的贡献。
-- 分析对软件及其特性的响应,并且验证程序员正朝着团队和组织目标而努力。
-- 建设更好的团队,通过使用程序员度量来进行人员调整和补充。

作者简介

(美)Jonathan Alexander 著:Jonathan Alexander拥有超过25年的软件开发经验。他现在是Vocalocity公司的工程副总裁。Vocalocity公司是基于云技术的商用通信服务商中的佼佼者。在加入Vocalocity之前,他曾经在多个公司建设和管理软件团队,包括vmSight、Epiphany和Radnet。他毕业于加州大学洛杉矶分校计算机科学系,其职业生涯的早期曾经为作家Michael Crichton(迈克尔?克莱顿)编写软件。

译者简介

张燎原 周峰 张刚 宋励奋 译:暂无简介

译者序

软件开发是一种团队作用特别明显的活动,一直以来,软件开发团队的建设就是一个很热门的话题。从数据分析的角度解析软件开发团队建设和改善的实践并不多,之前广为流传的TPE(Team Performance Evaluation)做法,虽然给出了具体KPI,但是如果操作不当,也容易使团队建设成为一种得分游戏。
  拿到本书英文版时,我们曾经很犹豫是否有必要将英文版翻译成中文并介绍给国内的中文读者,毕竟从书名上来看,很容易将其与程序员的绩效考核和评级联系起来,这是我们不期望的。但是细读之后,发现并非如此,遂打消顾虑。本书更多是从程序员度量的角度谈团队的建设,作者相信成功的团队是拥有一定的模型的,将模型量化,由合适的程序员与团队匹配,必将打造成功团队,对于软件开发行业具有点石成金的作用。作为集体性特别强的活动,长久以来认为对于软件开发缺少好的度量方法。有时候人们会采用代码行数、开发中的bug数等作为度量,但这些数据往往掺杂着许多干扰因素,很难将其与团队或者个人的改善结合起来。而本书的作者Johnathan是个棒球迷,通过体育运动与软件开发活动的类比(二者都是强调团队协作的集体活动),将技术统计的概念延伸到程序员度量领域,为软件团队的改善打开了一个全新的视角。方法的实践细致入微,配合作者亲历的案例,很自然地让读者产生试一试的想法。
  本书详细解释了如何通过程序员度量来帮助团队更加准确地理解在项目过程中的事件,让团队中的每位程序员可以关注于特定的改善。
  本书主要内容如下所示:
  学习如何通过程序员度量改变长期以来的假设,并且改善团队动态。
  获得将程序员度量集成到现有流程的建议。
  提出正确的问题来确定软件开发管理者需要收集的数据类型。
  使用度量来测量一段时间之后程序员个体的技能和团队效率。
  确定每个程序员对团队所作的贡献。
  分析对所开发的软件及其特性的响应,并且验证是否正朝着团队和组织目标而努力。
  建设更好的团队,通过使用程序员度量来进行人员调整和补充。
  从译者的实践来说,本书中的方式不太可能全部直接套用,不过作者所提到的各种度量对软件开发管理者来说,至少起到了拓展视野、全面了解团队的作用。
  在本书中,作者引用大量的棒球和橄榄球术语,译者在这一方面的翻译也主要寻求互联网的帮助,难免会有错译或漏译之处,请读者批评指正。
  最后,我要感谢尹哲的引荐,让我们接触到本书,同时非常感谢机械工业出版社的编辑,感谢他们耐心细致的指导,以及在交稿时间上一次又一次地宽限。参加本书翻译的有周峰、张刚、宋励奋,及我还在上大学的妹妹张育萍。对于他们的辛勤工作,在此一并感谢。
  本书的几位译者都已为人父,为人夫,谢谢家人对我们工作的默默支持,在家中构造了一个安静而温馨的环境,以便完成本书的翻译工作。在此,一并致谢对应的家人,他们分别是夏菁华、王雪娟、刘艳卉、吴俊4位女士,及张舒涵、周沫宁、张云桐、宋宇轩4位小朋友。
张燎原

图书目录

前言 1
第一部分 概念
第1章 概述 7
第2章 测量程序员的工作 15
度量的目的 15
案例分享:局部地揭露魔力三角 21
模式、异常点和离群点 23
理解度量的限制 28
案例分享:意料之外的成功因素 29
有价值的数据 30
案例分享:度量和怀疑论者 37
第3章 合适的数据 39
度量可以帮助回答哪些问题 39
案例分享:赛季的最有价值球员 45
度量数据 46
案例分享:双队记 61
第二部分 度量
第4章 技能度量 67
输入数据 67
进攻度量 68
防守度量 79
精度度量 85
技能度量计分板 91
如何度量各种程序员类型 94
第5章 响应度量 97
输入数据 97
获胜度量 98
输场度量 105
动量度量 112
响应度量记分卡 122
基于项目类型的观察 124
第6章 价值度量 128
输入数据 128
贡献度量 129
评价度量 138
价值度量记分卡 146
关于团队在不同阶段的一些观察 147
第三部分 过程
第7章 使用度量 153
着手开始 153
案例分享:7%规则 161
在开发过程中使用度量 163
案例分享:转机 170
在绩效评估时使用度量 174
进一步采用度量 179
案例分享:相同与不同 183
第8章 打造软件团队 189
目标和描述信息 189
角色 198
案例分享:两次通宵 206
人事 208
案例分享:没有完美团队这回事 214
第9章 结论 216
附录 本书中的度量方法汇总 221

教学资源推荐
作者: Bruce Eckel, Chuck Allison
作者: 曹青 邱李华 郭志强
作者: (美)Daniel M. Bikel, Imed Zitouni 编
参考读物推荐
作者: [意]达尼洛·波恰(Danilo Poccia) 著
作者: [美]埃里克·S. 罗伯茨 (Eric S. Roberts) 著
作者: Andrew Koenig,Barbara E. Moo
作者: 周志鹏 著