词汇注释∶我会对XP和Perl社群中使用的术语做注解,但是我总是把它们展开使用所以你们也不用记住。
致谢
这本书是一个合作性的项目。很多人努力使这本书更好。任何错误和疏忽都是我的,而更正则来自于跟随的人。如果我在这里忘记了你的名子,请接受我的道歉。
给Joanne,谢谢你因为你用爱来支持我,也谢谢你的知识和积极的参与,以及编辑技巧。没你这本书就没辙。
给Ben和Aidan,谢谢你们因为你们如此快速的熟习XP。你们制作了上千张故事卡,还在生活中教我做人的道理。带孩子和学习XP总有些类似的地方。
给PaulMoeller,谢谢你因为你是一个如此卓越的商务伙伴,朋友和程序员。谢谢你教我为何编程不是一个体力活,还谢谢你对这本书的评价和保留在心里的感受。
给IonYadigaroglu,谢谢你的千言万语,你的支持和信任。还要谢谢你的勇气,是你把编程的活留给程序员来做.
给MartinLinchtin,谢谢你逐字逐句的解释为何indirection会带来新的软件问题,也感谢你这些年帮助我解决堆积如山的软件问题。
谢谢以下的人∶DannyAce,AnnalieseBeery,GregCompestine,EricDobbs,EricSchell,DavidFarber,JustinSchell和TomVilot。你们参与了我那疯狂的实验,耐心地听我的演讲和漫长的讨论,还有你教我关于编程,团队合作和兴趣培养的事。
谢谢JohannesRukkers,因为你教我在大机构里面如何编程,还有你在JamesJoyce那里的启发性的谈话,还有别处的谈话。
谢谢你RobWard,你优雅的放弃了在O&A使用真名的机会,还有你多年的耐心教导和支持我,另外你还严肃的指出本书草稿里面非理性和不成英语的部分。
谢谢StasBekman,JustinSchell和AledViggio,你们在最后一章和我结对编程。你们让我总是很快进入工作状态,还帮助我减少复杂性。
谢谢其他的很多审阅者,你们贡献了足够的反馈信息,这让我能写出更容易读懂也更加正确的代码。你们的名子按照字母顺序是∶JimBaker,KentBeck,TomBrown,DavidBruhweiler,SeanBurke,chromatic,PhilCooper,WardCunningham,BryanDollery,JeffHaemer,GedHaywood,JoeJohnston,WalterPienciak,ChrisPrather,LweisRowett,MichealSchwern,JeremySiegel和MikeStok。
我还得谢谢这些年来我的导师,他们是∶JonBondy,PeteBonham,DavidCheriton,TomLyon,JimMadden,RichardOlsen,AndrewSchofield和RogerSumner。你们的智慧都星星点点的散布在这本书里面,希望我都正确的掌握了它们。
最后,我还要对PeteBonham的家庭表示最深切的同情。你们让我在如此困难的时候走进你们的生活。Pete的离去是我写这本书的推动力,他一生的工作仍在引导我前进。
生命和工作是一系列的成功。它们每时每刻都在发生,XP只是让它更加易与显现,而你得选择去庆祝它们。
第一章
不管客户告诉你什么,那里基本上都是一个问题。—GeraldWeinberg
软件是一种稀有资源,供大于求。我们总是听说要满足需要得增加巨大数量的IT人才。有些人相信通过廉价开发外包可以提高产出。然而这只是把软件开发的问题转嫁给他人,而且这样做只不过增加了和客户无法沟通的程序员的数量,使得问题进一步恶化。
程序员的任务是准确的获得任务的细节。这不像在物质生产过程中,开销主要在于对流水线上每一个产品的复制上。外包对于生产来说很有效,因为细节都在设计阶段已经决定下来。生产过程主要是对已经决定的设计的重复。对于软件来说,拷贝的代价几乎没有,主要是设计阶段决定了产品的代价。便宜和充足的劳动力虽然提高了生产过程的效率,却无法用规模化生产给软件开发过程带来效率。
编程的代价是和网络效应相关的。在你给项目增加程序员数量的过程中,沟通的代价也随之以平方比率增长。因为项目中的细节必须在更多的渠道传播。而且随着客户和程序员之间的距离加大,重要渠道的数目也随着增加。减少客户和程序员之间的沟通代价是使细节得到有效实施的关键。这中间的等待时间会增加成本。为了提高效率,客户需要和程序员及时沟通,而程序员也需要得到客户的及时回应。
这一章区分软件开发和物质生产的不同之处。我们试图解释为什么传统的计划驱动的开发方法会增加项目的风险,为什么直面失败会减少风险。这一章以一个比喻来结束,它展示了需求和实现阶段的风险是如何通过让客户更接近开发过程来得到降低的。
一些统计数据
根据商业软件联盟的报道,软件产业正在以迅速的增长来满足看上去无限增长的需求。从1990年到1998年,美国的软件产业以每年13的速度增长。
如果您对本文有任何疑问或者建议,请到讨论区发表您的意见:
>>
论坛入口 <<
上一篇:
Perl简单模块指南 下一篇:
PerlCookbook2介绍
【文章评论】
【收藏本文】
【推荐好友】
【打印本文】
【我要投稿】 【论坛讨论】