注册 | 帮助 | 更新 | 排行
站长介绍 友情链接 客户评价 我的程序人生
读书首页 图书排行榜 书讯 书评 读书笔记 专业杂志
架构首页 OOA OOD 重构技术 AJAX 架构测试 Java .NET JavaScript Ruby & RoR XML
Hibernate Spring Struts Eclipse NetBeans
VB.NET C# ASP.NET ADO.NET
咨询服务简介 敏捷 OO 个人辅导计划 所有问答 客户评价
培训服务简介 敏捷 OO 个人辅导计划 OOAD*UML 统一用例方法 UUCM 敏捷迭代开发 客户评价 所有课程
评论首页 新闻与综合评论 书评 所有评论消息
用例首页 用例新闻 用例资源 用例问答 统一用例方法 UUCM 用例模版 UUCMTool
UML 首页 UML 新闻 UML 中文 FAQ UML 问答 UML 文章 UML 图书 UML 资源 UML 工具 UML 与 OOAD UML 业务建模 SysML MDA
敏捷首页 敏捷 FAQ 敏捷新闻 敏捷资源 敏捷问答 敏捷工具 CMM/CMMI Lean MSF Scrum UDD UP/RUP/AUP 家族 XP
模式首页 业务/领域/分析模式 软件需求/用例模式 软件架构/设计模式 张恂编写的设计模式 模式资源 模式图书
登录 | 登录 |
登录 0 人

评点《极限编程实施》

张恂 2005 年 12 月 (未完待续)

Extreme Programming Installed
288 pages
By Ron Jeffries, Ann Anderson, Chet Hendrickson
Forward by Kent Beck
Addison Wesley Pearson Education, 2001

中文版:《极限编程实施》,袁国忠译,北京SPIN审校,人民邮电出版社,2002 年 7 月第 1 版

国内外有很多人声称他们在用 XP,他们因 XP 而成功,或者因 XP 而失败,而事实往往并非如此——人们对 XP 误解、误用的程度之高恐怕超出了许多人的想象。追本溯源最好从学习、研读 XP 的经典书籍和样板项目开始。

C3 之谜

为什么要研究 C3?C3 (Chrysler Consolidated Compensation) 是 XP 方法的样板项目和发源地。这个项目的名称还有另一个叫法,Martin Fowler 在《重构》中称其为 Chrysler Comprhensive Compensation 系统。中文大概可以叫做“克莱斯勒高级薪资/工资系统”。C3 项目具有许多指标性的意义。

首先,认识一下 C3 的项目目标。Craig Larman 在《敏捷与迭代式开发:管理者指南》一书中写道:In the mid-1990s, Beck was retained by Chrysler to help with a new Smalltalk-based payroll system, the C3 project. One aim of the project was the education of the staff in object-technology skills; a successful payroll system was desirable, but not the only goal. (该书曾请当事人 Ron Jeffries 审阅过,所以具有一定的可信度)请注意 C3 项目的其中一个目标是培养客户开发人员的对象技能,这说明该项目或多或少具有试验、示范的性质,这也决定了 Kent Beck 可以在 C3 项目中进行大胆试验,尝试新的开发方法。

再让我们考察一下 C3 的团队结构。Chet Hendrickson 在“致谢”部分列出了 C3 团队成员的名单:

Ann Anderson, Ed Anderi, Ralph Beattie, Kent Beck, David Bryant, Bob Coe, Marie DeArment, Martin Fowler, Margaret Fronczak, Rich Garzaniti, Dennis Gore, Brian Hacker, Chet Hendrickson, Ron Jeffries, Doug Joppie, David Kim, Paul Kowalsky, Debbie Mueller, Tom Murasky, Richard Nutter, Adrian Pantea, Matt Saigeon, Susan Smythe, Ciro Vitale, Don Thomas, Don Wells 以及 Tom Hadfield

Chet 写道:“本书的大部分内容都是我们在完成 C3 项目时获得的经验和教训的写照。正是由于 Tom Hadfield 将一批聪明、敬业、经验丰富的人员召集在一起,C3 项目才得以完成。谢谢 Tom 邀请我参与他的项目。”Tom Hadfield 大概就是 C3 项目的发起人(sponsor)。所以,我把这两位也加入名单。数了一下,C3 团队实际上是 27 个人。

请注意以上带下划线的几位关键人物。Ron、Ann 和 Chet 是本书的三位作者。Kent Beck, Martin Fowler, Ron Jeffries,自然不消说了,他们的著作是必读的。这三位大概是项目的乙方代表、主要负责人。Martin Fowler 好像是作为特邀的顾问,而根据封底介绍,Ron Jeffries、Ann Anderson 也都是独立的咨询顾问,我估计 C3 中的独立顾问还不只这三位,写到这里不得不钦佩 Kent Beck 作为精神领袖的号召力。

关于三位大师的分工合作,Craig Larman 是这么介绍的:Beck introduced the majority of practices that became XP, and brought in Ron Jeffries to daily lead and coach the team. Martin Fowler was also invited for some consulting. Primarily led by the vision of Beck, the XP practices coalesced on this project. 看了这段话,您应该知道我为什么说 Ron Jeffries 写的这本书《极限编程实施》这么重要了。

Marie DeArment 是负责该项目的客户(代表),我猜可能是克莱斯勒的一位高级 IT 主管,代表甲方。Chet 在封底写道,他在加入 ThoughtWorks 之前是“一家一流汽车制造商的资深软件系统专家,从事一个大型金融系统的开发,该系统是极限编程的试验台。”这说明 C3 项目团队中也有甲方派出的工程师和技术专家。

如果不考虑开发者的功力,大师级独立顾问的支持,这样的团队结构、人员安排其实并没有什么特别之处。国内的各个信息化工地上类似结构的团队也是比较常见的,我想如果用友、金蝶要给客户上财务系统、ERP 系统大概也会作做出相似的安排。这样的团队无疑具备了成功的关键要素,有客户的积极配合、主动参与,包括高层的支持,还有高凝聚的“公共”团队和充分的技术保障。这么强的团队,失败才怪呢。

关于 C3 的成功和失败,好像众说纷纭。我曾经在一篇文章中引用了认为 C3 失败的报道。现在看来,要做出客观的判断,并非这么简单。关键在于,“成功”的定义是什么?我现在的观点是,从技术的观点看 C3 项目是非常成功的,毕竟系统上线了,并曾经为上万人所使用。

那为什么又有人说她失败了呢?

逐章评点

内容提要

XP系列丛书

如果您希望彻底弄清楚什么是 XP,我认为打 * 号的这几本书是必读的,尤其前三本。

*《解析极限编程—拥抱变化》,Kent Beck
*《规划极限编程》,Kent Beck and Martin Fowler
*《极限编程实施》,Ron Jeffries、Ann Anderson 和 Chet Hendrickson
《极限编程研究》,Giancarlo Succi 和 Michele Marchesi
*《极限编程实践》,James Newkirk 和 Robert C. Martin
《探索极限编程》,William C. Wake
《应用极限编程—积极求胜》,Ken Auer 和 Roy Miller


中文版丛书序言

原书序

前言

致谢

第1章 极限编程

第2章 生命周期

第3章 现场客户

第4章 用户故事

第5章 验收测试

验收测试示例

第6章 故事估算

插曲:成就感

第7章 小型发布

第8章 客户定义发布

第9章 迭代规划

第10章 快速设计会议

第11章 编程

代码质量

第12章 结对编程

第13章 单元测试

XUnit

第14章 测试先行、表达意图

第15章 发布变更

第16章 做或不做

第17章 经验改善估算

第18章 资源、范围、质量、时间

第19章 指导

第20章 指导迭代

第21章 指导发布

第22章 处理缺陷

高级主题:缺陷数据库

高级准则:作为数据库测试

第23章 结束语

附加内容

第24章 我们将尽力

第25章 如何估算任何东西

第26章 基础设施

第27章 这是Chet的错

第28章 在希望和恐惧间取得平衡

第29章 测试完善代码

第30章 XP成员尝试Java

第31章 从Java语言

第32章 一个真实故事

第33章 估算和承诺

第34章 每个地方都可能出错

编后记

参考文献


更新日期 05.10.2006 ,支持 IE 1024 * 768 以上
使用指南 | 站点地图 | 版权声明 | 联系方法 | © 2005-2008 张恂 版权所有. 沪ICP备05023401号