演进式架构设计在敏捷开发中的使用

开发 架构
在敏捷开发过程中,我们还需要对系统架构进行设计吗?事实上,Martin Fowler在《Is Design Dead?》一文中已经给出了答案,那就是我们同样不能忽略对系统架构的设计。与计划性的设计(Planned Design)不同,我们需要演进式的设计(Evolutionary Design)。

在敏捷开发过程中,我们还需要对系统架构进行设计吗?事实上,Martin Fowler在《Is Design Dead?》一文中已经给出了答案,那就是我们同样不能忽略对系统架构的设计。与计划性的设计(Planned Design)不同,我们需要演进式的设计(Evolutionary Design)。

IBM's Methods Group的敏捷专家Scott W. Ambler提出了“架构预测(Architectural Envisioning)”的方法,以应对敏捷开发中逐步演进的架构设计过程。

Scott指出,敏捷模型驱动开发(Agile Model Driven Development,AMDD)明确地包括了初始需求分析与架构建模,这个过程发生在敏捷项目开发的第0次迭代中。

 

通过对架构的预测,可以在项目早期进行一些高层次的架构建模,以助于团队与关键利益相关人商讨系统采取的技术策略。这一行为的关键目标是识别出架构策略,而不是撰写如山一般堆积的文档,从而使得你能够快速完成架构建模。

架构建模是贯穿于整个项目周期的,因此这些图表(技术图表,用户交互流程图,领域图,变更情形)就是在项目结束时形成的整体文档的基础。由于你事先明确架构是演进的,因此就不必承担架构设计在项目早期必须“正确无误”的压力,而只需要在当前形势下保证足够好就可以了。

Scott指出,所谓的“架构预测”能够提供如下价值:

◆提高生产力

◆降低技术风险

◆减少开发时间

◆增强沟通

◆可伸缩的敏捷软件开发。

需要明确的是,这样的一种架构预测方式,正好符合敏捷开发迭代的需要。在项目开发早期,对系统整体进行一次高层次的概览,并对关键业务需求进行甄别与分析,划分合理的系统模块,有助于在迭代开发中为团队成员建立一个统一的标准与目标。而在每次迭代过程中,团队就可以对本次迭代期间的功能进行深入的架构建模,然后通过TDD充分理解需求,对模块的细节进行设计与实现。这是敏捷架构设计的核心操作原理,它与敏捷开发原则是一脉相承的。

原文链接:http://www.cnblogs.com/bluedoctor/archive/2012/06/26/2563434.html

责任编辑:林师授 来源: 博客园
相关推荐

2009-06-12 16:07:05

演进式架构设计敏捷开发

2009-07-06 10:36:41

敏捷开发

2009-09-15 18:19:13

敏捷开发

2017-05-17 14:51:31

DNS架构负载均衡

2011-04-08 17:03:19

Java架构

2021-06-11 13:56:27

大数据DataWorks数据开发

2021-07-07 10:00:03

深度学习系统机构

2010-09-17 08:24:59

敏捷开发

2010-01-15 10:15:34

分布式交换技术

2022-06-02 10:35:20

架构驱动

2009-08-25 13:25:00

Java企业级应用架构分布式结构

2018-04-03 09:27:42

分布式架构系统

2009-07-30 15:18:11

2023-08-27 16:11:35

数据库分布式事务数据库

2013-05-27 10:58:28

Tumblr架构设计雅虎收购

2021-07-30 13:46:59

前端架构插件

2022-02-22 10:29:24

分布式架构高可用

2023-05-12 08:06:46

Kubernetes多云架构

2015-08-18 13:58:07

2015-01-27 15:25:53

MVVM
点赞
收藏

51CTO技术栈公众号