《规范敏捷交付:企业级敏捷软件交付的方法与实践》——1.6 混合型过程框架-阿里云开发者社区

开发者社区> 华章出版社> 正文

《规范敏捷交付:企业级敏捷软件交付的方法与实践》——1.6 混合型过程框架

简介: 本节书摘来自华章计算机《规范敏捷交付:企业级敏捷软件交付的方法与实践》一书中的第1章,第1.6节,作者:(加)安布勒(Ambler, S. W.),(加)莱恩斯(Lines, M.)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.6 混合型过程框架

DAD所包含的许多策略和实践方法都来自于主流敏捷方法以及其他方法。DAD过程框架把Scrum的构造生命周期扩展为完整的交付生命周期,其采用的策略来自于多种敏捷方法和精益方法。DAD所建议的许多实践,例如,持续集成(CI)、每日协调会议以及重构,通常都在敏捷社区中进行过广泛的讨论。另外,还有些“高级”实践已广泛应用,但由于某种原因,它们在人们中间并没有被经常讨论。这些“高级”实践包括需求预想、架构预想以及生命周期结束时的测试等。
DAD过程框架是一个混合体,这意味着,它采用并裁剪了来源不同的各种方法、实践和策略。我们在组织中一再看到这么一种常见的模式,即在采用Scrum流程框架的同时,团队会做大量的工作来定制和融合其他各种来源的各种想法。这听起来像是一种很好的做法。然而,鉴于我们一再观察到的情况,即新的组织总是重蹈他人覆辙,经常以同样的方式来剪裁Scrum。那么,为什么不在一开始就采用一种健壮的、具有通用定制能力的过程框架呢?DAD过程框架正是为此而生。下面用于描述DAD策略的各种方法。
Scrum。Scrum为复杂项目提供了一种敏捷管理框架。DAD采用的许多想法都来自于Scrum,但对其进行了裁剪,例如,开发时按优先顺序从工作项栈中提取项目,把产品负责人角色设置为利益相关者的代表,以及在每次迭代中生产出潜在可利用的解决方案。
极限编程。极限编程(XP)是DAD开发实践的重要来源,包括但不限于持续集成(CI)、重构、测试驱动开发(TDD)以及集体负责制等。
敏捷建模。顾名思义,敏捷建模(AM)为DAD建模和文档编写工作提供了实用的方法。它包括需求预想、架构预想、迭代建模、持续文档和即时(JIT)模型风暴(model storming)。
统一过程。DAD中的许多治理策略都来自于对统一过程(Unified Process,UP),包括OpenUP和敏捷统一过程(Agile Unified Process,AUP)的敏捷实例化。特别是,这些策略包括轻量级的里程碑和明确的阶段。我们也吸取了统一过程所认识到的两个重要方面:第一,在早期的迭代中保证架构的正确性;第二,在项目生命周期早期,处理尽可能多的高风险业务。
敏捷数据。顾名思义,敏捷数据(Agile Data,AD)是敏捷数据库实践的来源,这些实践包括数据库重构、数据库测试和敏捷数据建模等。同时,敏捷数据还是敏捷企业策略的另一个重要来源,例如,敏捷团队与企业架构师和企业数据管理员如何有效协作。
看板。DAD采用了精益框架中看板(Kanban)方法的两个关键概念:限制正在进行的工作量(work in progress),以及使工作内容可视化。这些概念超出了精益软件开发七原则,会在第2章中进行讨论。
DAD的概念是几个现有敏捷方法的混合体,更详细的内容,请参见第3章。
我们的歉意
本书通篇会使用敏捷方法中的一些粗话,如阶段、顺序式甚至“G词”:治理(Governance)。许多主流敏捷开发人员不喜欢这些词儿,并不遗余力地为它们找些委婉的替代用语。例如,在Scrum中,他们把项目开始称作“Sprint 0”(DAD的先启阶段),接着开始“Sprint构造”(DAD的构造阶段),最后进行一次或多次“Sprint发布”(DAD移交阶段)。在这里,尽管这些Sprint是一个接一个地进行的,但显然并不是按顺序式开发,并且Scrum项目团队显然也不是按阶段前进的。所以就把它们当做一些术语而已,唉,谁不喜欢平直明白的语言。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

华章出版社

官方博客
官网链接