业务架构这个词大家时常听到,但是能解释得清楚的却不多,撩撩度娘,你就会发现,不少人问及业务架构和应用架构的关系,聊天时,也常有人问起业务架构师和产品经理什么区别?业务架构分析和需求分析什么区别?其实为了写这篇文章,我把《软件工程》、《软件系统架构》、《系统分析与设计》都翻了,这些经典教材确实没讲过业务架构这件事;我把《聊聊架构》也翻了,发现其中的讨论有解释到业务、架构和技术的关系,但是也没有特别强调业务架构。

其实,业务架构这个词并不新,它隐藏在企业架构(EA)中。企业架构是上世纪 80 年代的产物,其标志就是 1987 年 Zachman 提出的企业架构模型,该模型按照“5W1H”,即 what(数据)、how(功能)、where(网络)、who(角色)、when(时间)、why(动机)六个维度,结合目标范围、业务模型、信息系统模型、技术模型、详细展现、功能系统六个层次,将企业架构分成 36 个组成部分,描述了一个完整的企业架构要考虑的内容,详图如下:

Zachman 模型虽然没有明确提出业务架构这个概念,但是已经包含了业务架构关注的一些主要内容:如流程模型、数据、角色组织等,既然没有提出业务架构概念,自然也就没有包含构建方法,所以,Zachman 模型应该算是业务架构的启蒙,同时,它也表明了这一工具或者技术的最佳使用场景——面向复杂系统构建企业架构。

1995 年,大名鼎鼎的 TOGAF 登场了,这个在企业架构市场中据说(2009 年统计)占了半壁江山的架构模型明确提出了业务架构的概念。TOGAF 将企业定义为有着共同目标集合的组织的聚集。例如,企业可能是政府部门、一个完整的公司、公司部门、单个处 / 科室,或通过共同拥有权连接在一起的地理上疏远的组织链。TOGAF 进一步认为企业架构分为两大部分:业务架构和 IT 架构,大部分企业架构方法都是从 IT 架构发展而来的。业务架构是把企业的业务战略转化为日常运作的渠道,业务战略决定业务架构,它包括业务的运营模式、流程体系、组织结构、地域分布等内容。TOGAF 强调基于业务导向和驱动的架构来理解、分析、设计、构建、集成、扩展、运行和管理信息系统,复杂系统集成的关键,是基于架构(或体系)的集成,而不是基于部件(或组件)的集成。TOGAF 还提供了一个详细的架构工件模型:

其中可以明确看到业务架构阶段的交付物。相信很多对架构有兴趣的朋友都认真学习过 TOGAF 模型,此处不再赘述。

TOGAF 之后,又先后诞生了 FEA(联邦企业架构)和 DODAF(美国国防部体系架构框架)。前者的体系由五个参考模型组成:绩效参考模型(PRM)、业务参考模型(BRM)、服务构件参考模型(FRM)、数据参考模型(DRM)、技术参考模型(TRM),该方法应用于美国电子政务领域,着眼于跨部门、跨机构提升业务效率,解决重复建设、信息孤岛等问题,很具有“企业级”理念,虽然没有明确的业务架构定义,但是很好地应用了业务架构的思维。后者体系挺复杂的,8 个视点 52 个模型,但是实用性不错,美国国防部和一些企业在用,详细内容如下:

其中能力视点和作战视点就是我们做企业时关注的业务部分。这两个模型网上有相关资料,感兴趣的话可以自行查阅。

通过寻根溯源,可以发现,即便从 TOGAF 算起,业务架构这个词也有 20 多年的历史了,但是在开发人员中,业务架构显然没有需求分析的概念明确,业务架构师也远不如产品经理常见。作者所在单位曾经实施了一个长达数年的企业级转型项目,其中有明确的业务架构组织,但是,每每与技术人员讨论,他们也常觉得业务架构有点儿“虚”。细究其原因,可能有如下几点:

  1. 用得少。原有的单体式或者竖井式开发依然是大家更经常采用的项目构建方法,而这种开发基本上没有横向视角,所以无需强调业务架构,通常的产品分析或者需求分析足以满足开发需要;

  2. 难设计。业务架构,特别是大型企业这种错综复杂的业务架构,说起来容易做起来难,业务架构对战略的分解、业务架构自身的整合与标准化、到 IT 设计的过渡都有不少坑,业务越复杂越宽泛就越难驾驭,因此,即便做过业务架构设计的企业,也有不少将业务架构设计保持在高阶状态,有点儿“虚”;

  3. 易跑偏。施工期间由于客观因素可能导致实施对业务架构的偏离,这种偏离如果没有及时纠正或者调整架构,累积久了会造成业务架构的失真,会变“虚”;

  4. 难维护。少数扛过了业务架构落地困难期的企业,也会由于感受到维护架构的难度而心生放弃,从而降低了对业务架构的评价。

其实,业务架构从诞生之初就很清楚地定义了自己的使命:面向复杂系统构建。也就是说,业务架构同其他架构一样,目的也是要降低复杂度,更好地规划系统,因此 TOGAF 是将业务架构归属于 IT 战略部分。但是从本人的实践经验看,业务架构不仅具有上述作用,其更突出的影响是对参加过业务架构设计工作的业务人员的影响,他们的逻辑思维能力、结构化能力、企业级观念和意识都有明显的改变,所以,应当将业务架构从 IT 战略中独立出来,更多面向业务人员,以充当业务与技术之间的桥梁。当然,业务架构真正要承担起这一职责,还需要改进、简化业务架构设计方法,对业务人员更友好,并且坚持使用业务架构方法做企业级需求管控,否则,熵增一定会将已经建好架构秩序回归混沌状态。

活动推荐


12 月 7 日北京 ArchSummit 全球架构师峰会上,来自 Google、Netflix、BAT、滴滴、美团 等公司技术讲师齐聚一堂,共同分享“微服务、金融技术、前端黑科技、智能运维等相关经验与实践。详情点击 https://bj2018.archsummit.com/schedule

到底什么才是业务架构?相关推荐

  1. 支付业务与技术架构学习总结(2)——到底什么才是银行业务架构?

    业务架构大家常听到也常见到(如下图就是某银行的业务架构图),那么这个图就是业务架构的全部吗?那么到底什么是业务架构?为什么会有业务架构?业务架构应该面向哪些人,包含什么内容?本文集合作者经验和查阅相关 ...

  2. php java 架构_JAVA和PHP到底谁才是老大?

    原标题:JAVA和PHP到底谁才是老大? 大家还记得PHP和JAVA的那些梗吗?有一天JAVA说我是世界上最好的语言!!!啦啦啦啦!我是老大,所有的编程语言都给我靠边站,激动!学习了JAVA的孩子们心 ...

  3. 「业务架构」业务服务:它们到底是什么?

    TOGAF 9.1元模型在图的中心有一个称为"业务服务"的框.经常有人问我:我们所说的"业务服务"是什么意思?查看规范和定义,我们发现以下定义:"通过 ...

  4. 中台之上(十一):企业级业务架构设计的“五难”

    我们简单回顾一下,以业务架构的发展过程和对业务模型基本介绍作为开始,结合笔者的工作经验和自身一些不成熟的理解,在业务架构设计方面陆续讲到了企业战略解读.企业组织结构的影响.如何划分业务领域和流程.与流 ...

  5. 什么是中台业务架构?

    [导读]在当下互联网圈子里要问什么最火莫过于中台这一概念了,各大公司都开始了一轮跑马圈地似的中台建设,那么到底中台是什么呢?本文我们就来谈谈这个话题. 文|三爷 3530字 1 什么是前台,后台 在以 ...

  6. 一图说清:做数据分析,到底要懂多少业务知识?

    小伙们经常听到这样一句话:"数据分析师一定要懂业务!"那到底啥玩意才是业务?懂多少才算懂业务?今天跟大家分享一下. 一.什么是业务? 业务是相对于技术和行政来说的,是企业里一种通俗 ...

  7. 什么是云原生中台业务架构?

    什么是云原生中台业务架构? 最近公司说要做中台架构,业务中台,技术中台,数据中台,很谦虚的请教一下,什么是业务中台?业务中台是什么样子的,它是一个什么样的产品,是一个个的业务系统吗,业务中台还有没有后 ...

  8. CTO也糊涂的常用术语:功能模块、业务架构、用户需求、文档

    能模块.业务架构.需求分析.用户需求.系统分析.功能设计.详细设计.文档.业务.技术--很多被随口使用的名词,其实是含糊甚至错误的. 到底含糊在哪里,错误在哪里,不仅仅是新手软件开发人员糊涂,许多入行 ...

  9. 中台之上(三):战略和组织结构,业务架构设计中不应被忽视的关键因素

    业务架构的起点:解读企业战略 \n 业务架构最大的特点就是要从企业整体视角出发思考问题,要有居高临下的俯视视角,时刻有一张企业整体的业务能力地图印在脑子里,而企业的业务能力是服务于业务目标的,业务目标 ...

最新文章

  1. CloudCompare二次开发编译篇(内附交流群更新通知)
  2. 表弟高考650多,程序员不建议学计算机,亲戚:你不希望别人好
  3. mongodb 安装部署说明
  4. Android中进程与线程
  5. 【bzoj3033】太鼓达人 DFS欧拉图
  6. Python之队列和数据库
  7. 【SpringCloud】was unable to refresh its cache! status = Cannot execute request on any known server
  8. linux 22 口令自动传马,近期用到的linux命令
  9. VS2015 设置结构成员对齐
  10. Linux 录屏及制作GIF
  11. c语言题库打不开软件,编写题库程序_想把一个老师编的做题练习的软件里面的题库弄出来貌似是用VB60编写的要怎么做啊_淘题吧...
  12. java电子小词典课程设计,java课程设计---英汉电子词典
  13. 物联网通信协议-modbus
  14. AWS中国EC2 80端口无法访问
  15. swing的几种布局
  16. JS 获取指定日期所在(周或月)第一天和最后一天
  17. 通过PS制作逼真的车窗玻璃雨滴效果
  18. M3U8视频AES解密播放
  19. Exploring the Regularity of Sparse Structure in Convolutional Neural Networks(在卷积神经网络中探索稀疏结构的规律性)
  20. WFU校赛题解 B、C、F

热门文章

  1. ggplot绘图之标签设置
  2. manjaro gnome 中文和藏文输入法切换时一直卡机、求救、、、
  3. C语言实现万年历记事本,万年历记事本.doc
  4. 种菜、除虫、相牛,他们让AI生长在田间地头
  5. oracle savepoint 存在,rollback to savepoint 的问题。
  6. java 界面编程_JAVA图形界面编程
  7. 地图 两直线交点坐标_【技术】道路中线测量中的交点和转点的测设方法详解,值得收藏!...
  8. c#语言模拟键盘输入,C#如何模拟真实的键盘输入
  9. pip不是内部 pycharm_Pycharm中pip的升级
  10. Lego神搭建-智能物流系统:堆垛机-机械收、出入库、升降机……