推 荐 序 一
仅仅还在几年前,XP还被认为是方法异教,FDD属于黑客程序方法。如今,敏捷俨然已经成为主流学说,敏捷方法成为人们学习和讨论的热点。敏捷方法的应用也更加广泛,以至于不少外包项目都要求采用某种敏捷方法。它不仅仅是小团队和小项目在使用,甚至连微软都开始使用Scrum。
敏捷已经成为一种炙手可热的新时尚。
因为火热,各种不同的说法就多起来;因为时尚,原本有些不认同敏捷的人也开始追捧起来。人们反复地讨论敏捷方法,涉及从哲学思想到实现细节的各个层面。人们不断地推出各种不同版本的敏捷方法,甚至有些方法显得如此矛盾、如此不同。
同时,一些误解也一直在坊间流行。一般误认为敏捷就是快,越快就是越敏捷——字典上的名词解释是其依据。岂不知它本来要以“lightweight processes”(轻量级过程)命名,只不过有些参会者不喜欢被看做是在拳台上跳来跳去的轻量级拳手,所以才用了“敏捷”这个词。还有其他一些误解是,敏捷就是只写代码不写文档;敏捷需要重构而无需设计;敏捷迭代就是尽量做到最小,以至于一个小时就好几次;敏捷需要天才的程序员才能应用,其他人都会水土不服;如此这般。
可以看到,市面上以敏捷为题目的图书俯拾皆是,似乎软件开发的书不加上敏捷这个词就是落伍一样。敏捷体系下存在多种方法,介绍每种方法的图书就有一大堆。再加上每种方法采用不同的技术,每本书采用不同的组织形式,存在这么多书也不奇怪,就更不用提那些仅仅为了跟风而敏捷的作品了。
面对如此百花齐放、百家争鸣的现象,你该从什么地方开始呢?有没有一本图书可以作为入门的第一读物呢?
这本书就可以胜任这样的角色!
这是一本很容易理解并掌握,不需要太多基础就可以阅读的书。不管你是开发人员,还是管理人员、财务等后勤人员、学生、编程爱好者,只要你对敏捷有兴趣,就可以读懂这本书。你不会被众多的概念和曲折的逻辑所迷惑,不会被高难度技巧所困扰。这本书为你打开了了解和学习敏捷方法的一扇大门,并指出继续前进的道路。
你会很悠闲自在地读完这本小书,然后说:“原来敏捷就是这么一回事啊!”
自由软件顾问 刘新生
推 荐 序 二
我很喜欢本书的中文书名——高效程序员的45个习惯,比直译成“敏捷开发者实践”含蓄多了。敏捷不是目的,只是手段。只要某个手段适合某个场景,有助于提升质量,提高交付能力,提高开发者水平……总而言之,有好处的事情,我们尽管做就是了,何必冠以敏捷之名?
记得第一次读本书还是两年前。这时又细细读来,越来越觉得“习惯”一词比“实践”更有味道。所谓“流水不腐,户枢不蠹”,厨房脏了就擦一下,总比满墙都是油烟以后再去清理的代价小得多。有价值的东西——比如回顾、测试、重构,一切有利于团队建设、提高生产力的实践都应该频繁且持续做,然后日积月累就养成了习惯。
有些习惯很容易养成,有些则很难。我们大都常常许愿,做计划,比如要做一个至少100人同时在线的成熟应用,参加义工活动,每周至少一篇博客……然后在计划落空的时候,用各种理由来安慰自己。
李笑来老师在《把时间当作朋友》一书中提到:“所有学习上的成功,都只靠两件事:策略和坚持,而坚持本身就应该是最重要的策略之一。”那么,为什么我们会在某些事情上坚持不下去?或者换个角度来看,哪些事情是容易坚持下去的?
以前我是标准的宅男,CS、网络小说、魔兽世界几乎是休闲的全部,等到后来得了腰肌劳损,又得了颈椎病,这才痛定思痛,开始游泳锻炼身体。每天游两千米,一个月以后,游泳就成了习惯。再举个例子,我老婆生完孩子以后体型变化很大,立志想要减肥。为了坚持下去,她把怀孕前的照片放在电脑桌面上,时时督促自己。后来,减肥也就变成了一种生活方式。
从我的个人体验来看,难以坚持下去的事情,基本都是因为没有迫切的欲望和激情。单说锻炼身体,无论是为了减肥、祛病,还是塑形美体等,做这些事情至少都有明确的目的,这样才能驱使着人们一直坚持下去。没有动机,没有欲望,哪里来的毅力呢?
那么,当我们决定做一件事情的时候,首先就要多问问自己:为什么要做这件事情?它所带来的好处是什么?如果不做它又会有哪些坏处?有了清晰的目的和思路后再去做事,遇到变化时就知道孰轻孰重,该怎么调整计划,同时也不至于被重复和乏味消磨了一时的意气。翻开本书之后,你同样也该对自己提问:“为什么要有自动验收测试,有了足够的单元测试是不是就能保证质量了?”“写自动验收测试有哪些成本,会带来哪些收益?”只有明白了“为什么做”,才能够解决“如何做”的问题。
.本书的两名译者与我都是故交。钱安川是我的同事,是ThoughtWorks资深咨询师,有丰富的敏捷实施经验。郑柯与我同是InfoQ中文站敏捷社区的编辑,一起翻译过数十篇稿件。他翻译的《项目管理修炼之道》也即将由图灵公司出版。这次二人联手的作品,定会给读者以赏心悦目的阅读体验。我有幸已经从样章中感受到了这一点。
希望你能够带着问题,踏上愉快的阅读之旅。
希望你能够养成好习惯。
李 剑
ThoughtWorks咨询师
2009.10.10