基本信息
- 原书名:Extreme Programming Explained:embrace change
- 原出版社: Pearson Education
内容简介
计算机书籍
[a href="http://www.china-pub.com/computers/common/info.asp?id=13836" target="_blank"][font color="#ff6600"]查看《解析极限编程:拥抱变化(影印版)》[/font][/a]
极限编程(xp)是一种经历过实践考验的轻量级软件开发方法学,本书是xp宣言,也是第一本有关xp的图书。 本书共分三部分,第1部分包括第1章至第9章,通过讨论创建新的软件开发规范中要解决的问题的不同层面来设定极限编程的前提。第2部分包括第10章至第18章,内容着重于如何将第一部分中的抽象概念转化为具体方法论的实践,这部分不会确切地说明如何执行这些实践,而是要讨论它们的大体结构,同时提供了一套指导性的准则和策略。第3部分包括第19章至第27章,该部分讨论了如何将上一部分中的策略确切地付诸实践。 本书语言轻松活泼,实用性与可读性较强,适合于软件开发人员、软件项目管理人员,以及所有想要了解xp背后思想的各界人士参考。
目录
第1章 风险:基本的问题 3
软件开发不能按时交付,也就不能创造价值。这不仅会造成经济损失,而且对当事人本身也有很大的影响。我们需要找到一种新的方法来开发软件。
第2章 开发情节 7
日复一日的编程从与客户要求的特性明确相关的任务开始,然后测试、实现、设计,最后到集成。软件开发中每个活动的细节都包含在各个情节中。
第3章 软件开发的经济学 11
从经济上考虑,为了使软件开发更有价值,我们需要减缓开销,加快收益并增加项目的可能的高效生产期。但最重要的是我们需要增加用于业务决策的选项。
第4章 四个变量 15
我们将控制项目中的四个变量-成本、时间、质量和范围。其中,范围的控制最有价值的。
第5章 变化的成本 21
在某些情况下,更改软件引起的成本以指数方式上升的趋势会随时间的推移而趋于缓和。如果可以使曲线变得平滑,那么以前对有关开发软件的最佳方式的假定将不再成立。
第6章 学会开车 27
我们需要通过做许多小的调整(而不是几次大的调整)来控制软件的开发,这有点象开车。也就是说我们需要反馈来知道我们何时出现了错误,我们需要很多机会来纠正这些错误,而且,我们必须能够以比较合理的成本完成这样的纠正。
第7章 四个准则 29
当我们形成一种风格,能够体现出“沟通”、“简单”、“反馈”和“勇气”这样一整套协调的既能为人们所用,又能满足商业需要的准则的时候,我们就成功了。
第8章 基本原则 37
我们可以从这四个准则衍生出许多基本原则来规范我们的新风格。我们将检查提出的开发实践以查看它们是否符合这些原则。
第9章 回到基本问题 45
我们希望能够竭尽全力做到稳定、可预测的软件开发。但是我们没有时间去做任何额外的事情。开发软件的四项基本工作是:编码,测试,倾听和设计。
第二部分 53
前言
对某些人来说,XP 看来就像是普通的常识。那么为何在名称中有“极限”二字呢?因为 XP 将常识性的原理和实践用到了极至。
* 如果代码评审是好的,那么我们会始终评审代码(成对编程)。
* 如果测试是好的,那么所有人都应该始终进行测试(单元测试),甚至包括客户(功能测试)。[0}
* 如果设计是好的,那么我们将把它当作每个人的日常事务的一部分(重构)。
* 如果简单是好的,那么我们将始终把系统保持为支持其当前功能的最简单的设计(可能有效的最简单的东西)。
* 如果体系结构重要,那么所有人都将不断进行定义和完善体系结构的工作(隐喻)。
* 如果集成测试重要,那么我们将在一天内多次集成并测试(持续集成)。
* 如果迭代周期短些好,那么我们将使迭代时间非常非常短--秒、分或小时,而不是周、月或年(“计划游戏”)。
当我第一次构建出 XP 时,我想到了控制板上的旋钮。
每个旋钮都是一种(经验告诉我的)有效的实践。我将所有的旋钮都调到10,然后等着看会出现什么情况。我有点惊讶地发现整套实践是稳定、可预测的和柔性的。
XP 做出了两套承诺。
* 对程序员,XP 做出的承诺是他们每天能够处理真正重要的工作。他们不必单独面对令人担忧的状况。他们将能够集中全力来使他们的系统获得成功。他们将做出最适合由他们来做的决策,而且他们将不必做自己做不了的决策。
* 对于客户和管理人员,XP 的承诺是他们将从每个编程周中获得最多的利益。每隔几周他们都会看到在他们所关心的目标上有具体的进步。他们将能够在开发的中途更改项目的方向而不用承担太高的成本。
总之,XP 承诺降低项目风险,改善对业务变化的反应能力,在系统的整个生命周期内提高生产力,并且为团队的软件开发过程增加乐趣--所有这一切都在同时发生。我说的是真的,不要笑了。现在你必须读本书的其余部分来弄清楚我是不是疯了。
这本书
这本书讲的是 XP 背后的思想-它的根源、哲学、情节以及神话。它旨在帮助你在选择是否在项目中使用 XP 时做出明智的决策。如果你读了本书后正确地决定不把 XP 用于你的项目,或者你正确地决定使用它,我同样达到了我的目的。本书的第二个目的是帮助那些已经在使用 XP 的读者更好地理解它。
这不是一本关于如何精确地进行“极限编程”的书。你不会在本书中见到大量检查清单或看到许多示例,也不会看到大量编程理论。要获得那些内容,你必须上网,与这里提到的一些教练进行谈话,等待那些主题性和指导书性质的书出版,或者你也可以做出自己的版本来。[0}
现在,接受 XP 的下一个场合掌握在一群对软件开发的现状不满意的人手中(你可能就是其中一个)。你需要更好的软件开发方法,你需要更好地处理与客户的关系,你需要更快乐、更可靠、更多产的程序员。简而言之,你在寻求巨大的回报,而且为了获得它们你不惧怕尝试新的理念。而且,如果你准备冒险的话,你希望能确信不是因为愚蠢才这么做的。
XP 让你以不同的方式工作。有时 XP 的建议与公认的明智做法完全相反。这里我希望那些选择使用 XP 的人在得到令人信服的理由以后再以不同方式工作,不过要是已经有了理由的话,就不要再犹豫了。我写这本书就是为了向你说明这些理由。