QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

Zapthink:敏捷和企业架构并不矛盾

  • 2009-05-26
  • 本文字数:1262 字

    阅读完需:约 4 分钟

最近, ZapThink 发表了一篇讨论敏捷和 SOA 的文章:敏捷企业架构并非矛盾修饰法!。其独特之处在于从 SOA 的角度对敏捷宣言(Agile Manifesto)进行了重新诠释,提出了应用于 SOA 领域的 4 项原则。

在回顾了敏捷宣言的 4 项核心原则(作者这里所指的 4 项原则,实际是指敏捷宣言中的 4 项价值观)之后,作者 Jason Bloomberg 认为,部分原则是适合 EA/SOA 层面的,但并非全部,而且必须进行新的解释。接着,Jason 对这 4 项核心原则进行改造,给出了 SOA 环境下的敏捷原则:

  • 业务驱动的应用优于服务抽象:在 SOA 核心,业务服务抽象的一项基本作用就是能够以业务流程为中心来组合增强业务和实现业务机动性的服务。这项原则重新解释了敏捷宣言中的客户合作部分,强调了业务交互优于服务抽象。
  • 架构驱动的迭代方法:采用迭代方法来处理不明确或持续变化的业务需求是一项久负盛名的技术。毫无疑问,所有敏捷方法论都具有迭代特性。同样,组织采用迭代方法来进行他们的 SOA 项目也是至关重要的。
  • 治理驱动的重用:对 SOA 来说,服务重用业务驱动力本质就是一项敏捷原则,因为它关注利用软件去满足相异的、持续变化的需求。治理在这里有一个特殊的作用,因为经过适当治理的重用可以给业务带来积极影响,可以使组织从 IT 资产获得的价值最大化。
  • 元数据驱动的开发:文档和服务元数据是有关联的,因为它们都代表了在服务生命周期内发挥重要作用的制品。但是它们之间有一个重要的区别——软件是给人消费的,而元数据基本上是给机器消费的。换句话说,聚焦元数据就是聚焦驱动开发出可以工作的软件。象元数据这样的文档越多,你就越符合敏捷原则中的“可用软件重于完备的文档”。

在他看来:

……SOA 是一种 EA 风格,而且把 EA 框架、SOA 最佳实践和一种理论联系实际的方法论结合起来是实现 SOA 项目成功的所有要素。正如象 TOGAF 这样的 EA 框架兼容 SOA、象 SOA 这样的 EA 风格兼容敏捷方法论一样,没有理由认为 EA 框架一定和敏捷方法不和谐。

在文章的末尾,Jason 强调了“多解决些问题,少谈些主义”的观点,并给出了一种解决“分析瘫痪(analysis paralysis)”的建议。

比起搞清楚实践技术属于哪个阵营,应用合适的实践去解决实际问题要更重要。因此,你正在从事的到底叫敏捷、TOGAF,还是 SOA,真的不重要。只要你做的是解决手头问题的最佳实践,那么你的路子就走对了。

过于架构教条主义的一个常见风险是“分析瘫痪”。太早就把大把时间花在治理之上,几乎无任何意义可言,例如在你还没有任何东西要治理的时候。也就是说,你在每个迭代中需要少许治理。这里的核心最佳实践是采用一种迭代方法,对其他大多数任何事物,对治理,都一样。这是避免分析瘫痪的关键,并且通常用于处理不明确、定义不完整或不断变化的业务需求。这就是为什么迭代方法明确地在敏捷和 TOGAF 中都出现的原因,并且它也是 SOA 的一个核心部分。

InfoQ 上已经报道了不少讨论 SOA 和敏捷之间关系的新闻和文章,如早期的 Agile: The SOA Hangover Cure SOA 和敏捷:是朋友? 还是敌人? 访谈:用敏捷方法实现SOA ,以及较新的 Martin Fowler:SOA 的敏捷之路

2009-05-26 21:051312
用户头像

发布了 255 篇内容, 共 60.4 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

开源一夏 | 单片机系统中实用的按键驱动(STM32、51都适用)

矜辰所致

开源 8月月更 按键驱动

有了这 14 个技巧,让你玩转 Spring MVC

TimeFriends

8月月更

上手体验TailwindCSS

小鑫同学

8月月更

介绍16个让你的代码变漂亮的属性

小鑫同学

8月月更

强烈推荐一款超好用的开源电商系统!!!

CRMEB

望繁信科技受邀参加中国智慧财务国际峰会

望繁信科技

时序数据无处不在

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

【Vite】配置HTTPS&自签名证书

小鑫同学

8月月更

秋招大厂字节上午 10:00 面试,10:09 就出来了 ,问的实在是太...

退休的汤姆

Java、 面经 社招 Java工程师 秋招

数据,不能只讲大道理

水滴

数据中台 数据规范 数据化转型

一个 SAP 开发工程师在 SAP 德国总部出差的见闻系列 1:出差 ≠ 公费旅游

汪子熙

SAP abap 8月月更 开发工程师 思爱普

【全干】从零搞定微信SDK授权

小鑫同学

8月月更

开源一夏 | 在 STM32L051 上使用 RT-Thread (五、无线温湿度传感器 之 完结篇)(附源码)

矜辰所致

开源 RT-Thread 8月月更 STM32L051

教你从创建数据表到实现最基础增删改查的实现全过程,小白也能轻松学会【带附件】

CRMEB

兆骑科创高层次人才引进服务平台,双创服务,投融资对接

兆骑科创凤阁

带你体验一次类型编程实践

小鑫同学

8月月更

小程序|炎炎夏日、清爽一夏、头像大换装

小鑫同学

8月月更

兆骑科创创新创业高层次人才引进,以赛引才,线上直播路演

兆骑科创凤阁

了解布隆过滤器

自然

Java core 8月月更

SAP 电商云 Spartacus UI 里的 ASM 模块启用的前置条件

汪子熙

angular SAP SAP UI5 Spartacus 8月月更

flex 布局(弹性布局 / 弹性盒子)一直没学明白,看完这篇文章我彻底懂了

CRMEB

阿里最新468页Spring Boot企业级项目开发实战手册好强啊,Github获星30000+

Java面试那些事儿

Java 编程 程序员 面试 架构师

大数据训练营1期 毕业总结

张大彪

腾讯 X 广东省计算机学会,推动数据库产学研发展

科技热闻

阿里大佬耗时一年整理的Java面试常考题,GitHub点赞33K+

Java面试那些事儿

Java 编程 程序员 面试 架构师

你必须知道的Java泛型

自然

Java core 8月月更

基于STM32F103设计的智能门锁(支持多种开锁解锁方式)

DS小龙哥

8月月更

京东8年资深架构师为你解析:Kafka源码解析实战。为你解忧

Java编程日记

Java 编程 程序员 架构师 面经

惊艳!阿里巴巴最新发布Java系统架构师+开发应用面试突击宝典

Java编程日记

Java 编程 程序员 面试 架构师

Go-Excelize API源码阅读(十五)——SetSheetViewOptions

Regan Yue

Go 开源 源码 8月日更 8月月更

95后阿里P7晒出工资单:狠补了这个,真香...

退休的汤姆

Java、 面经 社招 秋招 阿里、

Zapthink:敏捷和企业架构并不矛盾_SOA_胡键_InfoQ精选文章