出版时间:2010-3 出版社:机械工业出版社 作者:埃尔森马迪瑟 页数:241
Tag标签:无
前言
2009年我有幸参加了“敏捷中国”大会。看着几百人的会场,回想起四年前自己抱着书尝试给团队使用结对编程的经历,实施的过程中的酸甜苦辣等各种滋味一起涌上心头。如果当时读过Amr的这本书,那会让自己的团队少走多少弯路啊! 2009年的“敏捷中国”盛况空前,不仅人数超过以往,而且与会者也有幸目睹Kent Beck和Dave Thomas等大师的风采。国内众多知名企业开始拥抱敏捷方法,并且越来越多的国人在关注敏捷,这一切都说明采用敏捷方法是不可阻挡的趋势。然而实施敏捷就真的会100%成功吗?请记住,敏捷不是银弹,采纳敏捷失败的企业比成功的多得多!以我自身的经历来说,在加入思特沃克之前就经历过敏捷的失败,而现在我是思特沃克公司Mingle团队里的一员。Mingle是一个代码库年龄超过四年的项目,但我们依然能够大胆地加入新功能和重构代码。可以说Mingle就是一个鲜活的自组织团队,生产率要比传统开发团队高出许多。 为什么存在这样的不同呢?这是因为当初我没有完全理解什么是敏捷,也没考虑那些敏捷实践是否合适就采用了,而Mingle团队却为自己量身定制了一批最佳敏捷实践,这同时也说明了不是敏捷自身的问题,而是使用方法上的问题。 如果你还在犹豫是否应当采纳敏捷方法,或者想让团队的开发能力更上一层楼,那么你就好好读读本书,其恰恰能在这个过程中起到传道、授业、解惑的作用。最后我坚信中国的开发团队里不乏有识之士,敏捷之花最终会在祖国大地上绽放。 借此机会感谢我的父母和一直支持我的朋友们,你们是我生活与工作的动力和源泉,我会好好珍惜你们。
内容概要
本书介绍单个敏捷实践与其他敏捷实践之间的联系,同时讲解制定实施策略的技巧。本书涉及的敏捷模式,不只是作者的个人意见,也不是从未试过的新方法,而是若干真实项目案例的经验总结。本书内容主要分为四部分。第一部分阐述软件开发的基本问题,是其他部分的基础。第二部分是本书的核心——为你的组织选择敏捷实践。第三部分包括反馈实践模式、技术实践模式、辅助实践模式、组合模式四个内容。第四部分分析两个组织实施情况的报告,展示组织如何一步步实施敏捷实践。 本书适合想要学习敏捷或想转向敏捷开发的管理者、开发者、架构师等。对于想要深入全面探讨敏捷实践的人来说,本书也是很好的指南。
作者简介
Amr Elssamadisy(网站:www?elssamadisy?com)一个软件开发实践者,他与客户一起致力于开发出更好的、更有价值的软件。在Gemba Systems中,他和同事们帮助小型或大型开发团队学习新的技术,实施和适应敏捷开发实践,专注于为组织带来最大化的价值。
在技术方面,Amr具有C/C
书籍目录
本书的赞誉 译者序 译者简介 Linda Rising的序言 Joe Rainsberger的序言 前言 致谢 作者简介 第一部分 对于软件开发的感想 第1章 学习是瓶颈 第2章 个体敏捷性 第二部分 实施敏捷的艺术 第3章 业务价值 第4章 异味 第5章 敏捷实施策略 第三部分 敏捷实践模式 第6章 敏捷实践实施模式 第7章 目标 第8章 周期 第三部分 (a)反馈实践模式 第9章 迭代 第10章 启动会 第11章 待办工作项 第12章 规划“扑克” 第13章 站立会议 第14章 完成状态 第15章 演示 第16章 回顾 第17章 频繁发布 第18章 “联合驻扎”团队 第19章 自组织团队 第20章 跨职能团队 第21章 客户作为团队成员 第22章 唤醒式文档 第23章 用户故事 第24章 用例 第25章 信息辐射器 第三部分 (b)技术实践模式 第26章 自动化测试 第27章 测试后行开发 第28章 测试先行开发 第29章 重构 第30章 持续集成 第31章 简单设计 第32章 功能测试 第33章 集体代码所有权 第34章 结对编程 第三部分 (c)辅助实践模式 第35章 教练 第36章 融入敏捷社区 第37章 读书会 第38章 研讨会 第39章 课堂培训 第三部分 (d)组合模式 第40章 敏捷迭代 第41章 沟通组合 第42章 演进式设计 第43章 测试驱动开发 第44章 测试驱动需求 第四部分 案例研究 第45章 BabyCenter 第46章 X公司 第五部分 附录 附录A 敏捷模式与业务价值的映射 附录B 敏捷模式与异味的映射 附录C 充分利用敏捷模式 附录D 更多阅读资源 参考文献
章节摘录
插图:资深的培训人员和教练常见到这样一种现象,那就是太多的敏捷团队仅仅止步于平庸的“规范期”.无法成为令人激动的高效团队。考虑到在所有软件开发项目中,可能存在某种共同的因素,当其趋向最大化时,团队生产力将突飞猛进。实际上,许多成功的团队(包括敏捷的和传统的)已经找到了软件开发中简单且显著但却经常被遗忘的“秘密武器”:经常花时间进行学习和反思。学什么?彼此的长处、未知的技术、领域知识、客户知识等一切相关的东西。能够快速学习的团队最终将取得胜利。学习瓶颈是无形的,限制了团队的绩效。继续阅读本章可以了解更多这方面的信息。1.1 一个假定的实验如何更好地开发软件?什么是软件开发的瓶颈?是否有什么共性?利用一个实际生活中的软件项目来进行实验,这样的日子即使曾存在过,但已经一去不复返了。除去其他难题,进行一个真实的实验,你要有能力去运作同一个项目两次。遗憾的是,在如今的商业环境中,它的代价高得离谱。因此,想要通过实验找出软件开发中的通病在哪里,这种方式在今天看来是不现实的。与此同时,作为从业者,我们都有软件开发的经验。因此,下面有一个假定的实验,我曾经给许多学生都介绍过该实验:假设我是你的客户,要求你的团队为我开发一个软件系统。于是你的团队着手工作。该系统花掉了整整一年来进行开发和测试。接着我答谢了你的团队,拿到了软件并丢掉了它。然后,我要求你的团队重新构建该系统。你拥有相同的队员、需求、开发软件和工具。基本上,什么也没有改变——同一个环境。你的团队这次要花多长时间来开发这个系统呢?
媒体关注与评论
“在该书中,Amr Elssamadisy提出了一系列清晰准确的模式,它们能帮你找出组织在软件开发流程中的阻碍。在你进行持续过程改进时,这些模式还能帮助你做出重大改进,让你对达到最佳流程充满信心。” ——Bob Bogetti,Baxter健康护理公司项目经理 “该书主题浅显易懂。正如书中所说,敏捷并不适合所有情况。该书提供了一些实践方法,供读者自助式地选择和应用。该书对于那些很有经验的敏捷实践者来说也很有帮助,尽管作者在前言中提到说可能不太适合。如果有人觉得自己知道书中的所有方法,而且认为是小菜一碟,那么就有些骄傲自大了。该书唤起了我对一些关键理念的记忆,而它们恰恰是我自己的团队所忽视的。这些理念并不容易表达出来,但Amr却很出色地完成了这个任务。书中的实例都是经过深思熟虑的,并且主题的次序看起来也非常自然。我会将该书推荐给所有对敏捷感兴趣的人。” ——David Chia,BabyCenter首席工程师 “在'走向敏捷'过程中,最困难的是如何将那些相互联系的敏捷实践拆分成可以一次消化的多个小块,并找出哪个适合首先尝试。很多书都在说敏捷团队是什么样的,但是从自己当前的状况迁移到那个阶段,其过程却充满荆棘!Amr拥有丰富的敏捷团队培训经验。他将给出指导原则,帮助你根据具体情况制定自己的实施策略,这是其经验的充分体现。Amr并不仅仅解释敏捷实践方法,他还告诉你如何用敏捷的方式进行思考,这样你就可以避免常见的陷阱,并创建合适的实施计划。这是一本让我期盼已久的书,我要在培训新敏捷团队的时候带着它!” ——Ryan Cooper,敏捷教练/开发者 “明显的是,Amr在很多一团糟的软件项目上钻研了很多时间,从中总结出了这些经验。在本书中,他描述了一种聪明的敏捷实施策略,关注客户,提供业务价值。Amr的风格简单且直接,为开发团队中的成员提供了实用、有效的观点和见解。如果你也像我一样,正在考虑是否在组织中采纳敏捷方法,那么Amr在这个问题上的观点就能助你进行建设性思考,并找出一条更好的路。” ——Emily Bache,软件开发者 “本书中的一系列模式本身就是一些非常实用的索引,但我最欣赏的还是第5章。该章建议应该把敏捷方法看做一个系统,并提供了具体的模型,展示各实践之间如何相互联系和依赖。该章还建议人们应该首先找出需要提高的业务价值和要解决的问题,然后确定一个合适的顺序采纳这些实践方法。” ——Laurent Bossavit,咨询师,2006年获得Gordon Pask奖 “本书填补了许多人甚至还没有意识到的一块空白。流程的出现不是为了理论上的完整性,而是为了满足业务目标。Amr将会告诉你如何让组织里的开发流程也向目标看齐。” ——Ken DeLong,Baby Center首席架构师 “我很喜欢这本书里的想法。恨不得在两年前就买到这本书,那时我所在的团队在采纳敏捷实践,并且正经历一个非常困难的时期。该书是实施敏捷实践的实用(且敏捷的)指南。针对不同的项目环境,该书提供了不同的实施策略,帮助你选择敏捷实践及实施次序,以便获取最大化的业务价值。” ——Dmitri Dolguikh,敏捷软件开发者 “Amr的这本关于敏捷模式的书太出色了。如果你的项目需要敏捷开发方法,但不确定从哪里着手,以及如何克服文化和技术上的障碍,那么该书会对你有所帮助。如果你不知道怎样向同事和高级管理者解释敏捷方法的基本好处,Amr将告诉你如何直接从业务层次角度描述其对软件开发过程的促进作用。如果你想在组织中引入测试驱动实践,那么就该阅读本书:它提供了所有可用方法的全景,每种方法能解决什么问题(不能解决什么问题),以及一步步向更高级别进阶的路线图。Amr在阐述模式时所使用的那些小故事,很容易让人联系到实际情况。借此你能很快地意识到某个具体的模式是否适合于你自己的情况。” ——Hakan Erdogmus,《IEEE软件》主编 “本书是非常好的资源,它能帮你找到某个敏捷实践应用及调整的技巧,帮助你的项目获得成功。” ——Dave Hendrickson,架构师 “Amr的这本好书带来了一种独特、实用的方法,它可以帮助你找到适合自己环境的敏捷组件。Amr同样详细描述了一些其他敏捷书籍所欠缺的部分:当尝试给管理者和客户灌输新的概念时,每个组件所需的关键弹药──清晰定义的业务价值。” ——Jim Holmes,Quick Solutions公司,微软MVP “这本书描述了敏捷实施的步骤和过程。我以前所看过的资料中,从未像这本书一样如此全面、透彻。从为什么要实施敏捷到实施敏捷的成功标准,你都能从该书中找到答案。我愿意向敏捷实施者推荐这本书。” ——Yasser Helmi,思特沃克软件公司,高级开发者 “在真正的敏捷这方面,Amr是一个真正的研究者。我与Amr一起工作了很多年,有过很多讨论。我们争辩过,欢笑过,振臂高呼过。什么才是真正的敏捷?如何将真正的敏捷传播给每一个软件开发参与者?他心中一直有着强烈的愿望,希望找到答案。在该书中,你既能找到一些针对当前问题的解决方法,又能找到如何才能做得更好的改进方案。我已经等不及拿到这本书的最终版本好好品味一番了!” ——Derek Lane,Semantra公司技术总监和开发副主席 “如何在一个组织中实施敏捷,本书做了一个非常简洁、实用的阐述。他知道'通用良方'这种东西并不存在,因而向读者展示了启发式的模式(和异味),以便让他们能联系到各自的具体情况。为了让读者找到一个合适的实施策略,他并不是直接告诉大家如何去做,而是坚持通过回答问题和完成测试来启发、引领读者。” ——Don McGreal,Learning Solutions,Improving Enterprises公司主管 “我知道哪里让人痛苦 ——我就是不知道怎么解决它。在向我的开发团队引入精益和敏捷方法时,这是我常会遇到的抱怨。有那么多的敏捷实践可以选择,我该从哪些下手,哪些才能最有效地解决我们面临的问题?本书将精益和敏捷社区中最好的想法结合在了一起,展示了敏捷实践的全景,各实践之间的相互关系,以及其在提升业务价值,消除'令人讨厌'的异味方面的相对重要性。本书通过将每个敏捷实践化解为一个标准的实施模式,提供一个简单清晰的路线图帮你分析应该把时间投入到什么样的敏捷实践上。并不是所有的敏捷实践都同等重要,因此很有必要了解什么样的敏捷实践才能真正解决团队的问题。阅读本书可以节省你许多时间。你将庆幸自己曾读过这本书。” ——Perry Reid,E&P系统定制开发组,Chesapeake Energy,IT管理者 “对于想要学习敏捷或想更进一层的团队,本书都是一本很好的参考读物。从经常忽视的软技能,如学习和交流,到测试和结对编程这些核心开发技能,Amr阐述了许多模式。该书蕴含了许多实际经验和智慧。强烈推荐大家阅读。” ——Rob Sanheim,Relevance公司,主席 “在大型组织中向敏捷软件开发转型是很艰难的,并且有时候很难取得回报,尤其是你不得不在此过程中'说服'许多人的时候。但是,如果能够在开始注意人们对敏捷的反应模式,你就能够着手把他们的反对意见转变成组织的转型策略了。这本书通过关注组织的需求和目标,可以帮助我们快速克服这些困难。让管理团队积极主导,帮助他们创建实施策略,然后描述要达到目标需要采纳哪些实践。Amr通过清晰地描述该过程中每个步骤的好处和可能的陷阱,让我们从本书描述的组合中选取最合适的实践模式,从而使得我们能够随时应对业务变化。感谢Amr,如此的旅途可能是孤独的,但我们误入歧途的可能性因此却少了一些。” ——Sean Sheehan,Lean SW组织转型管理者 “如何帮助敏捷新手理解应该先采纳什么实践,如何在自己独特的开发环境中调整实践,在这些方面Amr所做的工作非常出色。该书真实地阐述了敏捷实施的实际问题,并提供了详尽的真实案例。” ——Scott Weber,高级软件工程师 “对于所有想要实施敏捷实践方法,又需要时刻记得自己的组织结构、团队文化及客户的人们来说, Amr的书是一盏指路明灯。该书指导读者找出自己组织中最紧要的瓶颈,推荐最好的改进措施,并阐述了其背后的原因。本书并没有给出什么操作规范让读者按部就班,而是指导读者在面对敏捷实施时做一个更好的思考者。” ——Niraj Khanna,GreenBar咨询公司联合创始人
编辑推荐
《软件开发成功路线图:敏捷模式》作者系统调查了敏捷实施过程中最常见的障碍,将敏捷方法提炼成30个成熟的敏捷实践模式,运用这些模式可以解决组织在实施敏捷方法过程中遇到的许多困难。《软件开发成功路线图:敏捷模式》阐述了已有的敏捷实践模式:实现既定策略所需要的全部信息。通过经典的模式,作者清晰指出在各种情景下适宜实施的敏捷解决方案。这些实施模式可以帮助你:了解敏捷成功的核心动力、准则和价值。重点关注提交的业务价值,识别项目中的“异味”。获得快速有效回馈的实践:迭代、启动会、站立会议、演示和回顾等。培养团队开发:联合驻扎、自组织、跨职能角色以及如何让客户参与。增强技术工作和流程:测试、重构、持续集成、简单设计、集体代码所有权和结对编程。成为一个高效的教练,学会到敏捷社区中学习。集成敏捷实践组合,使工作效果更显著。无论你是在计划实施自己的第一个敏捷项目,还是尝试在下一个项目中进行强化,《软件开发成功路线图:敏捷模式》都能起到积极帮助作用。这种为敏捷方法设计的观点能让你在敏捷项目中胜任诸如管理者、开发者、架构师或客户中的任一角色。在组织中成功实施敏捷的成熟模式和技术
图书封面
图书标签Tags
无
评论、评分、阅读与下载