“品牌”敏捷方法的流行导致了业界充斥着令人眼花缭乱的专有行话,这些方法被分为一个个相互独立的派别,而这些派别又由一些不相协作的狂热分子组成。——《SDLC 3.0:Beyond a Tacit Understanding of Agile》的作者Mark Kennaley规范敏捷交付(DAD)是一个混合型的过程框架,它建立在许多核心敏捷方法坚实的根基之上,包括许多先进的敏捷方法,如Scrum、极限编程(XP)和敏捷建模等。本章综述这些根基的具体内容。表3.1简单描述了DAD过程框架所包含的核心敏捷方法以及相应的IBM实践,而每一条都会在本章一一详细阐述。为了分析各种方法的优点,我们需要检查它们具体可以提供什么样的指导方案,并辨别出DAD过程框架所采纳的关键的IBM实践。虽然没有一种主流敏捷方法可以提供自始至终的全面指导方案,但是它们各自都有一定的优势。DAD则吸收了这些主流敏捷方法的优点,并将它们整合到统一的混合型过程框架之中。表3.1列出了DAD所包含的关键敏捷方法及各自相应的优势,但是没有涉及其他影响因素,如动态系统开发方法(DSDM)、扩展敏捷框架、由外到内的开发方法(OID)和看板方法等。
幸运的是,主流敏捷的许多方面在所有敏捷方法里都是一致的。然而,在许多情况下,他们对这些常见的实践又有不同的术语描述。很多时候,只要现有的术语说得通,DAD仍会沿用其原有的用法,而在某些情况下,DAD则会选择使用更加笼统的概念。本章开篇会先阐述这个专业术语的问题,后续会概述每种敏捷方法并详细介绍其所对应的核心实践。我们致力于为读者提供一个所有可使用的敏捷实践的预览,你的团队可能不会采用所有这些实践;其中某些实践可能还会相互排斥,而且可能只能在一些特定的情形下才会采用某些实践,但是你最终还是会想采用其中的大部分实践的。在要实际采用这些敏捷实践时,可以在后续的章节里找到相应的参考建议。图3.1以思维导图的形式显示了这一章的组织结构。我们将从右上角开始,按顺时针方向对其中每个主题逐一进行描述。
本章要点不同的主流敏捷方法关注敏捷交付生命周期的不同阶段,彼此会有一些重叠和差距。尽管不同的敏捷方法论中某些专业术语用法稍有区别,但它们对应的实践不仅相辅相成,还容易组合在一起。根据项目团队所处的具体阶段和情形,你可以采用并剪裁本章所描述的敏捷实践的子集。DAD将不同敏捷方法中常用的敏捷实践整合成单个自始至终端到端的软件交付过程。
相关资源:[软件交付] 规范敏捷交付 企业级敏捷软件交付的方法与实践 (英文版)