在敏捷软件开发的课程和会议中经常听到的一个问题是:“但是,它是可伸缩的吗?”新出现的一些故事和案例研究表明,在合适的环境中,采用了健全的方法,敏捷开发就是可伸缩的。一本新出的叫《可伸缩的软件敏捷:大型企业最佳实践(Scaling Software Agility: Best Practices for Large Enterprises)》的书收集了在可伸缩敏捷方面的实践智慧,作者是 Dean Leffingwell,他是一个方法论者,以在 IBM Rational 和 Rally Software 关于方法论方面的工作而著称。“什么是敏捷,以及为什么甚至大型企业级应用也考虑到它?”Leffingwell 在他的书中以对这个问题的审视作为开始,解释了敏捷方法提供的仍不确定的好处。InfoQ 为您提供了书中以下两章的 PDF 格式文档——“敏捷方法介绍”和“为什么瀑布模型无效”。
在第一章中,Leffingwell 回顾了敏捷开发方法增长背后的驱动力:在快速开发软件市场上取得竞争优势的需要,概括了敏捷开发如何满足“对速度的需要”,并简单介绍了几个有名的开发方法:XP、Scrum 和 RUP 等。在第二章中,他回顾了我们是怎么走到这一步的:“为什么瀑布模型会失效?”,这个模型成立的假设基础,以及敏捷方法如何解决这些问题。
在接下来的几章里,Leffingwell 为我们展示了关于企业级规模的敏捷方法的 7 个基本实践方法,他说:
“这 7 个实践方法在企业级、大型或者小型软件开发中都能很好地工作,这为那些 CIO 们、开发经理以及其他要求采用这些方法提高大型企业级软件生产率的相关执行人员提供了些许安慰。”
Jim Highsmith 是 Agile Practice for the Cutter Consortium 的主管兼期刊编辑,他这样评价这本书:
尽管有许多公司实施大型敏捷项目已经很多年了,但是“敏捷方法仅适用于小型项目”这样的话依然不绝于耳,这样的“污名”也继续不断地阻碍着新手的进入。关于敏捷开发的文字有许多,缺少的是一本在用敏捷方式开发大型软件项目细节方面的坚实且实用的书。Dean Leffingwell 的这本书填补了这方面的空白。它为大型项目开发中的一些问题,如系统架构、需求开发、多层发布计划以及团队组织等,提供了实践指导。对于大型项目以及决定转向敏捷开发的大型组织,Leffingwell 在这本书里也为他们提供了必要的指导。
以下是此书的目录,对那些想进一步自行研究的人,每一章的最后都为他们提供了一个阅读清单。 - 第一部分 软件敏捷开发综述——一些最常用的和最有效的敏捷方法的介绍
- 第 1 章 敏捷方法介绍
- 第 2 章 为什么瀑布模型会失效
- 第 3 章 XP 本质
- 第 4 章 Scrum 本质
- 第 5 章 RUP 本质
- 第 6 章 精益软件、DSDM 和 FDD
- 第 7 章 敏捷本质
- 第 8 章 可伸缩性敏捷开发的挑战——伸缩至企业级规模的敏捷开发实践
- 第二部分 关于伸缩性的 7 个敏捷开发小组实践
- 第 9 章 定义 / 构建 / 测试模块小组
- 第 10 章 计划和追踪的两级
- 第 11 章 掌握迭代
- 第 12 章 更小、更频繁的发布
- 第 13 章 并行测试
- 第 14 章 持续集成
- 第 15 章 经常反思和调整
- 第三部分 创建企业级敏捷开发 ——7 个组织化能力,掌握后就能在企业级规模的开发中获的敏捷方法的全部好处
- 第 16 章 有意识的架构
- 第 17 章 伸缩时的精益需求:愿景、路线图、适时的精益化
- 第 18 章 系统的系统以及敏捷发布培训
- 第 19 章 管理高度分布式开发团队
- 第 20 章 对客户和合作的影响
- 第 21 章 改变组织
- 第 22 章 测量业务性能
- 结论:可伸缩的敏捷开发
这些章节来自新书《可伸缩的软件敏捷:大型企业最佳实践(Scaling Software Agility: Best Practices for Large Enterprises)》,作者是 Dean Leffingwell。此书作为 Addison-Wesley 出版社的 Professional Agile Software Development 系列丛书的一部分出版。更多的信息请访问: http://www.awprofessional.com 。查看英文原文: Book Excerpt: Scaling Software Agility
关于作者:Dean Leffingwell 是一位知名的软件开发方法论者和作者,也是一个软件团队教练,他用自己的经历帮助软件开发团队实现他们的目标。他是 Requisite 公司的创始人和前 CEO,RequisitePro 的创造者,Rational 公司的前副总裁并在 Rational 公司负责 RUP 商业化。在过去的五年里,他的工作角色是一个独立顾问以及 Rally 软件公司的顾问兼方法论者。Leffingwell 先生致力于将敏捷方法应用于跨国公司分布式大型开发团队,以此过程中获得的经验为基础,他写成了此书。 译者简介:吴磊是 InfoQ 中文站的志愿者翻译。他有多年软件开发经验,从 1999 年开始使用 C++,2002 年转入 Java 领域,具备 J2ME 和 J2EE 方面的开发经验。在多个项目开发过程中先后使用过 Webwork、Spring、Hibernate 等开源项目。目前正在进行基于 Spring 轻量级 J2EE 开发,对敏捷方法有一些尝试。另外对 Erlang 很有兴趣,正在学习中。加入 InfoQ 中文站志愿者翻译队伍,请邮件至 china-editorial@infoq.com 。
评论