写点什么

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:051185
用户头像

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

关注

评论

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

一举拿下贪心算法

Simon郎

Java 大数据 算法 LeetCode 数据结构与算法

TDH8.0 使用必读 :为什么你需要存算解耦的多模型数据管理平台

星环科技

程序员的基础技能

风翱

程序员 5月日更 基础技能

5分钟速读之Rust权威指南(一)

wzx

rust

背靠背,脸对脸

zhoo299

随笔杂谈 5月日更

Python 分支结构详解

若尘

分支 Python编程 5月日更

Dubbo 事件通知

青年IT男

dubbo

区块链将开启新一轮颠覆式创新

CECBC

区块链

百分点数据科学实验室:基于数据驱动的销量预测模型建构

百分点大数据团队

百分点科技联合市场研究协会(CMRA)发布《2021五一出行消费体验报告》

百分点大数据团队

路上,小胖问我:Redis 主从复制原理是怎样的?

一个优秀的废人

redis redis集群 主从复制

学习笔记:03 | 判断与循环:给你的程序加上处理逻辑

Nydia

学习

Stacking集成学习算法

容光

“智慧丽江 数说未来” 百分点科技助力“智慧丽江”城市大脑上线

百分点大数据团队

自动化下载文件(IE浏览器)

IT蜗壳-Tango

5月日更

Crontab 的特殊字符

耳东@Erdong

Linux crontab linux运维 5月日更

PaaS容器化部署思考

lenka

5月日更

浅谈实时语音质量监控系统

攻城先森

音视频 nlp 实时语音 引航计划

【案例】星环科技原厂数据备份恢复软件,让大数据与AI应用有备无患

星环科技

【案例】星环智能分析工具 Sophon,助力上海农商行搭建决策型人工智能平台

星环科技

生态十年,禾之三变

脑极体

谈谈“鸡娃”现象

石云升

教育 5月日更

网络攻防学习笔记 Day13

穿过生命散发芬芳

5月日更 网络攻防

Hive改表结构的两个坑|避坑指南

数据社

大数据 hive 面试 5月日更

数据

顿晓

数据 5月日更

Git命令: add、cherry pick

程序员架构进阶

git 自我提升 28天写作 5月日更 工作流程

职场中低调的老实人,该如何表现自己的亮点

小天同学

成长 职场成长 工作体会 5月日更

成长

ES_her0

5月日更

《2021中国开源发展蓝皮书》发布——中国开源接近世界先进水平

禅道项目管理

开源 开发 报告

ARST- 日常打卡 4

pjw

灵隐寺也没能拯救的“爱情”

徐说科技

爱情 情感 初恋

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