传播敏捷知识,帮助个人成长、帮助企业成功! 联系电话:021-36314591  
ScrumCN Scrum
 
首页 资讯 电子书 书评 Scrum培训 资源下载 讨论区 人才招聘 会员中心
 
敏捷起源以及敏捷创始人的传记-第二部分
Scrum中文网   2009-11-09 01:25:08 作者:Gary Pollice 来源:ScrumCN 文字大小:[][][]

 

上接:敏捷起源以及敏捷创始人的传记-第一部分 

 

关于敏捷的书籍和方法学

 

在文章的后半部分我将简要的介绍一些关于敏捷的书籍,这些书籍我认为很重要。我会向您解释为什么说我给您提供的每一本书都很重要。我会站在很高的视角列出这些书籍——它们的内容主要都是关于敏捷的价值和原则。之后我会详细的列出方法学和实践的内容。

 

关于敏捷价值和原则的书籍

 

Agile Software DevelopmentCooperative Game2ed.Alistair CockburnAddison-Wesley Professional2006ISBN 0321482751

 

作者是 Alistair Cockburn。这本书是从敏捷思想的原创者之一的视角,给了我们一个关于敏捷的最好的描述。文章写得非常清晰和均衡。Cockburn 描述了敏捷并把它放在了光谱值的其他位置。他老练的指出了 sweet spot 作为敏捷方法,以及为什么使用它以及您能从中获得的好处。

 

Cockburn 的处理方法并不是一种技术上的方法。他并没有涉及代码的编写以及更多的细节问题,而是给您了充足的材料让您理解敏捷。Cockburn 是由于他致力于人与人之间关系在软件开发领域的研究,并花费了大量的时间讨论了敏捷受人的影响等问题而被人所熟知。如果您对于敏捷软件开发一无所知,那么这本书非常的适合您。

 

Agile & Iterative Software Development A Manager's GuideCraig LarmanAddison-Wesley2004ISBN 0131111558

 

Craig Larman 是一名软件开发领域的大师,尤其在面向对象的实践领域。他精通不同的方法学,并且知道怎样以及何时需要使用它们。在这本书中,Larman 涉及到了迭代方法,ScrumXPRUP Evo. Scrum 以及敏捷部分涉及的 XP,还有更多偏重于传统的(计划驱动的)迭代方法 RUP EvoLarman 比较和对比了不同的方法学,帮助读者评价它们之间的好坏,以及哪种类型的过程最适合特定类型的项目和组织。

 

方法学之间的对照出现在本书的后半部分。开始的六个章节是本卷书的精华所在。在这些章节中,Larman 以批判的眼光谈论了软件开发,敏捷度,迭代开发,并给读者提供了使用迭代开发和敏捷方法的证据。这些证据来自于研究,实践经历或者其他资源。Larman 在这本书中表现的非常的敬业。

 

Balancing Agility and Discipline A Guide for the PerplexedBarry Boehm Richard TurnerAddison-Wesley2004ISBN 0321186125

 

这本书适合那些来自于大组织和项目的经理,或者在软件工程(不是软件开发)领域有很坚实知识背景的人员阅读。 7 Boehm Turner 是拥有大型项目经验(其中大部分是国防部的项目)的理论家。他们通过介绍每一种方法学最适合应用的领域类型来切入主题—— sweet spotsBoehm 最为人所知的成就是项目评估中的 COCOMO 模型的开发,并且发表过很多有启发作用的软件工程领域的论文,其中包括介绍迭代开发的文章。 8

 

我最担心的关于这本书的问题,就是我不确定 Boehm Turner 是否在我经常研究类型的项目中有工作经验。其中一人只写过不到 100K 行的代码。他们主要的研究方向是那些使用传统软件工程学方法的超大型项目。但是这并不妨碍您阅读这本书,因为它从一个不同于我所列出的其他书籍的视角,谈论了敏捷的应用。

 

关于敏捷方法学的书籍

 

Agile Software Development with ScrumKen Schwaber Mike BeedlePrentice Hall2001ISBN 0130676349

 

Scrum 在过去的几年中获得了广泛的关注。它是项目管理的一种简单的方法,并且和软件开发有松弛连接关系。对于大部分情况来说,Scrum 由一些成熟的实践构成,但是执行起来非常严格。Scrum 的支持者声称它适用于所有规模的软件开发项目。这里没有任何我可以参考的技术实践来证明这个方法学。它们都是关于项目的管理。

 

这本书使用 Scrum 方法创造人 Schwaber Beedle 的话描述了 Scrum 的方法学。使用 Scrum 非常愉快的一件事就是它的实践可以和大部分其他实践相结合。如果您想要了解敏捷项目如何处理项目管理方面的问题,那么这本书很适合您阅读。

 

Extreme Programming ExplainedEmbrace Change2ed.Kent Beck Cynthia AndresAddison-Wesley Professional2004ISBN 0321278658

 

在这本书的第一版中,包含更多关于进行敏捷活动的效果。实际上,很多从业人员开始将 Extreme Programming (XP) 和敏捷放在同等重要的地位。对于软件开发人员来说,XP 这种方法学能够更多的吸引他们的注意力。Beck 以及她的助手 Andres 合著的第二版书中,描述了他在软件开发者之间使用最多的敏捷方法学的基础实践。我提到它是最多被使用的,因为只有很少的组织真正实际的将实践应用到他们的环境中,但是他们往往自称使用 XP

 

这本书的第二版要比第一版厚了很多,其中添加了很多我认为有用处的内容。第二版中加入了很多关于基本 XP 方法学的策略和更改材料。如果您对于敏捷方法很陌生,那么我建议您最好先看第一版的书籍,对 XP 有一个大体的了解。

 

Extreme Programming InstalledRon JeffriesAnn Anderson Chet HendricksonAddison-Wesley Professional2000ISBN 0201708426

 

这是我推荐的众多与 XP 相关的书籍中的第二卷,它的出版方是 Addison-Wesley。这本书很值得我们去读,因为它描述了 XP 实践以及它是如何被最初众多的 XP 项目小组使用的。 9 这本书的可读性非常强,您会从中感觉到在项目中使用 XP 是一件非常愉快的事情。这本书所有介绍的 XP 实践应用程序,都不是我会选择从事的项目类型。这本书帮助我确定了有一些很好的实践我应该去学习。即使 XP 不断的在进化,但是这本书还是非常适合那些没有经验,从未进行过 XP 开发的小组人员去阅读。

 

关于实践细节的书籍

 

Test Driven DevelopmentA Practical GuideDavid AstelsPrentice Hall Ptr2003ISBN 0131016490

 

我相信测试驱动的开发 (TDD) 是敏捷活动中最为重要的一种实践。它关心的重点是开发人员的质量以及责任的质量。它需要我们在开发的整个周期中都关注产品的质量,而忽略我们所使用的方法学。这是一本介绍 TDD 的好书。它使我领略到了简单的测试所带来的强大效果。

 

Pragmatic Unit Testing in Java with JUnitAndrew Hunt David ThomasThe Pragmatic ProgrammersLLC2003ISBN 0974514012

 

这本书介绍了大量的实践,补充了之前那本书关于如何真正执行 TDD 实践。Pragmatic Programmers 出版了一系列很好的书籍,它们针对软件开发人员讲解最新的技术。这本书是他们的早期作品之一,它是每一个想要很好的编写单元测试用例的 Java 程序员的必读书籍。它用 TDD 的替换掉了单元测试的内容,并给了读者所有需要编写,管理和自动操作单元测试的工具。

 

User Stories AppliedMike CohnAddison-Wesley Professional2004ISBN 0321205685

 

用户的经历往往是很多敏捷项目的需求规范的传达手段;虽然还存在很多其它方法,例如用例等。用户的经历只是功能性需求的一小部分,它被客户写在一张索引卡片上面。这仅仅是 XP 和其他敏捷方法中的一小部分。像编写用例,编写用户经历都是一种需要学习和实践的能力。Mike Cohn 为我们提供了我所见过的编写用户经历的最好的介绍。他的书偏重于用户经历,而 Alistair Cockburn 的书更偏重于用例。 10 如果您经常使用用例,但是还没有阅读过 Cockburn 的书,那么 Cohn 将会给您关于如何在您的项目中编写和应用用户经历的完整的教学指南。他为您提供了很多例子,并且他在真实项目中的经验也会给您提供很大的帮助。如果您是一个对用户经历有兴趣的分析员,那么这本书再适合您不过了。

 

Planning Extreme ProgrammingKent Beck and Martin FowlerAddison-Wesley Professional2000ISBN 0210710919

 

XP 项目另一个关键实践就是 planning game。这是一系列非常简单的活动,它能帮助客户和小组人员决定在每一个迭代过程中应该做什么,如何评估效果,以及如何追踪结果,好让您更好的做评估。Beck Fowler 描述实践的方法能够很好的吸引开发人员,经历和所有 XP 小组的成员。

 

其它相关书籍

 

虽然下面的两本书不属于上面所列书籍的种类,但是我认为这两本书都很有用处。我用下面的第二本书作为我一年两次的软件工程课程的教科书。

 

Agile Software Development PrinciplesPatterns,和 PracticesRobert C. MartinPrentice Hall2002ISBN 0135974445

 

这是开发人员的开发人员写的一本开发人员的书籍。Bob Martin 是一名高级开发人员,他在面向对象和敏捷原则领域有很深的造诣。在这本书中,Uncle Bob 给我们介绍了这两个概念,并且带我们了解面向对象设计原则,以及如何在敏捷项目中使用它们。这是每一个开发人员都应该了解的内容。

 

Extreme Software EngineeringA Hands-On ApproachDaniel H. Steinberg Daniel W. PalmerPrentice Hall2003ISBN 013047812

 

这是一本小册的书籍,它公正的谈论了敏捷项目,尤其是 XP。它并不是教条的方法,这本书中介绍了敏捷既不是偶然出现的软件开发方法,也不是按照任何旧方式执行的方法。我认为这本书很适合我的学生去读,让我有更多的时间强调我认为重要的软件开发方面。这本书很适合您在周末去阅读它。

 

结论

 

敏捷无处不在。如果您忽视它,那么您会失去很多现今热门的技术话题。学习它,您将会在今后的工作中更加智慧的作出决定。同时您还可以理解很多其他的实践和方法学。如果您是某个层级技术的经理,那么学习它是您的职责,也是您赖以生存的必需品。

 

我强烈建议您开始阅读我上面所列的书籍,还有一些其它书籍,例如 Mary Poppendieck (瘦开发),Scott Ambler (数据库),Jim Highsmith (管理实践),以及其他直接投身于敏捷活动或者已经开发出,并且被敏捷小组和项目"运行良好"的原则和实践。我希望您能够通过学习获得一些对于您的团队,项目和组织有用的信息。毋庸置疑,您会发现很多可能误导您的书籍——并不是因为它们的内容是错误的,而只是它们不是您所需要的。成为一名见多识广的客户,会增加您在团队中的价值。

 

注释:

 

1我会使用大写字母来分辨这个词和普通词汇。这是敏捷团体的习惯用法。

 

2出自于 Merriam-Webster OnLine 字典(http://www.merriam-webster.com)。

 

3查看 “敏捷宣言的历史”(History: The Agile Manifesto)。

 

4 《敏捷软件开发宣言》(Manifesto for Agile Software Development)。

 

5 Jeff Foxworthy 是一名喜剧演员,他经常使用:“如果您……您就是一个乡下人” (美国南部的乡下劳动力,通常被当作笨蛋的原型)的句式来引人发笑。

 

6 “敏捷开发原则”(Principles behind the Agile Manifesto)。

 

7察看我在 2006 2 月发表的专栏文章,该文讲述了他们之间的区别。“教学软件开发与软件工程”。

 

8Barry Boehm"A Spiral Model of Software Development and Enhancement"ACM SIGSOFT Software Engineering NotesAugust 1986

 

9引起很多书关注的这个项目 :-) 这就是 Chrysler Comprehensive Compensation System,它开始于1995年。这是第一个将所有 XP 实践应用,记录和精炼到方法学中的项目,我们后来称其为 XP

 

10 Writing Effective Use CasesAlistair CockburnAddison-Wesley Professional2000ISBN 0201702258。如果您经常使用用例,那么建议您去阅读这本书。

 

 

 

最新评论
发表评论
 

关于我们 联系方式 全站搜索 友情链接 赞助我们 发布广告

Scrum中文网(ScrumCN.COM)
Copyright © 2008-2010  上海家翔信息技术有限公司 沪ICP备08102166号
本站文章与其它资源未经允许禁止抄袭或转载!