三大层次学习企业架构框架TOGAF

前言

对于一名架构师来讲,如果说编程语言是知识库层次中的入门石,那么企业架构框架则相当于知识库层次中的金字塔尖。如果想成长为企业级的架构师,企业架构框架是必须要攀登的高塔。

目前国内绝大多数企业采用TOGAF标准,因此我们的讨论主要围绕TOGAF展开,涉及主流版本9.1和9.2。在这个过程中,笔者还会广泛运用摩天轮学习法,以便更清晰地呈现相关内容。

在本文中,笔者将首先讨论企业架构框架TOGAF的学习方法。目前,关于TOGAF的学习材料主要以官方手册为主,网上的资料大多不成体系。然而,官方手册本身存在几个较大缺点可能影响学习质量,以下是笔者总结出来的几个主要缺点:

  1. 作为企业级的架构框架,与企业、企业战略、企业愿景、业务战略等都有很多关联。此外,还有一个重要概念叫做无边界信息流,它源自于无边界组织。这些作为与TOGAF密切相关的外部环境因素,在TOGAF官方手册中仅仅轻描淡写地提及或者根本不提,这会给理解TOGAF带来困惑。例如,如果不了解企业战略和愿景,就很难理解架构愿景;不理解无边界组织就很难理解无边界信息流,同时也难以领会企业基于能力的规划、业务能力、业务价值、业务功能,以及企业为什么要采用SOA、微服务等架构。总之,在TOGAF官方手册中省略了大量关键外部环境知识,而这些知识对于正确理解TOGAF却具有重要价值;

  2. TOGAF官方手册在内容组织上存在不够完善的地方,导致读者难以形成对TOGAF整体性的理解。实际上,在详细介绍TOGAF核心ADM方法之前,应该先对TOGAF进行一个相对全面的概述。尽管有些读者可能认为目前TOGAF标准结构中的六大部分已经提供了概述,但其实这仅仅是技术视角下的整合,并非从企业或架构视角出发进行的整合。因此,在阅读TOGAF手册时,会让人感觉内容比较零散,难以形成一个统一而完整的认知框架;

  3. TOGAF中的核心ADM方法本身是一个具体的指导流程,TOGAF中也花了很大的篇幅来进行介绍。但是,存在的最大问题是学完之后仍然不会用。这里面最主要的原因在于ADM中将太多东西糅杂在一起,没有按照不同场景进行分层或分类。举个简单的例子,在ADM中的业务架构阶段,其中建模可以包括价值流、结构化分析、用例分析、过程建模等方式,这些不同的方式实际上适用于不同的项目的规模或层次。因此,TOGAF在这方面存在问题是内容涵盖太广泛,反而让人难以聚焦;

  4. 初次接触TOGAF时,有人可能觉得它内容繁杂,文字也较为正式晦涩,因此很多人选择放弃学习或者干脆不去了解。然而真实情况是,TOGAF中蕴含着深邃博大的思想。比如说,对于架构而言,其本质在于解决现实世界或系统的复杂性问题。在TOGAF中就明确提到了一些应对复杂性的通用方法,比如分层、迭代、架构连续性、能力增量、模式、互操作性和分区等。总体来说,TOGAF实际上是一个蕴藏着许多重要架构思想的宝库。如果TOGAF手册能够更好地提炼和升华这些思想,将会给读者带来更大的价值。
    在这里插入图片描述
    那么,TOGAF到底应该如何学呢?接下来,首先整体介绍一下学习TOGAF的三个层次。然后,对每个层次的主要内容进行简要讲解。

掌握TOGAF的三个层次

上述TOGAF官方手册的四个缺点实际上可以归纳为三类问题。第一类是如何学习TOGAF,对应于前面提到的问题1和问题2。

第二类是如何应用TOGAF,对应于前面提到的问题3。第三类则是如何思考TOGAF,对应于前面提到的问题4。

实际上,这三大类问题恰好对应着学习TOGAF的三个主要层次,具体可参见下图所示。

第一层是“怎么学”?其主要目标是“知识为我所知”,即寻找到好的学习方法或途径,全面理解并掌握TOGAF体系的知识。

第二层是“怎么用”?其主要目标是是“知识为我所用”,即不仅能够掌握知识,并且能够根据不同的环境灵活地组合运用。

第三层是“怎么思”?其主要目标是“思想为我所用”。即不仅能将TOGAF知识活灵活用,并且能将其背后蕴含的思想提炼出来,应用于架构设计等其他场景中。
在这里插入图片描述

如上所述,这三个层次是一个逐步递进的关系。著名数学家华罗庚曾说过:“先把书读厚,再把书读薄”,这恰好对应着三个层次的递进过程。

首先,第一个层次“怎么学”类似于“先把书读厚”的过程。在这一阶段,不仅需要学习TOGAF理论本身的内容,还需要通过大量外部环境知识的学习来全面理解和掌握TOGAF。

其次,第二个层次“怎么用”和第三个层次“怎么思”则都类似于“再把书读薄”的过程。

只是相较而言,“怎么用”要求能够在已经掌握知识的基础上提炼出一些通用规则或模式,并在特定环境中灵活组合运用。

而“怎么思”则要求更高一些,要求在“会用”的基础之上,再抽象出一些通用的思维方式出来,并扩展到更广泛的应用场景。

在本篇文章的下面部分,将简要介绍一下三个层次的内容结构框架。

层次1:怎么学?
关于目前TOGAF官方手册的组织方式和问题,在本篇中将略过不提,笔者将在后续系列文章中进行具体介绍。

在“怎么学”部分,大致的内容框架如下图所示,类似于“剥洋葱”的过程,从企业的外部环境开始逐层剥开,最终再深入讲解TOGAF。

在这里插入图片描述

从上图中可以发现,企业架构框架TOGAF的直接外部环境就是企业。因此,可以将学习企业架构框架TOGAF的过程分成两大部分:企业和企业架构框架TOGAF。

第一部分先讲企业,这部分又分成三块内容来进行阐述。

(1)企业外部环境:将企业视为一个黑盒,并以企业的“有边界组织”到“无边界组织”的演变为轴,探讨无边界组织的含义,最后延伸介绍无边界信息流。

(2)企业边界:从某种意义上来讲,企业战略的本质可以理解为是将外部环境与企业内部能力进行匹配的过程。因此,这一部分主要讲解企业战略,包括企业战略的十大学派、三大层次,以及与愿景、使命、文化的关系等。

(3)企业内部:即企业通常为了实施战略,内部是如何组织的。在此过程中,会逐步介绍价值系统、价值链、核心流程、组织结构等内容。

第二部分开始讲企业架构框架TOGAF,这部分也大致分为三块内容来进行阐述。

(1)TOGAF的整体性概述:在这部分内容中,会首先介绍TOGAF官方手册的内容组织方式及存在的主要问题。

针对已有问题,通过构建一个“双飞轮模型”来重新组织内容,如下图所示。

这里需要提醒一下,上图中的组织和工具,其涵盖的范围比TOGAF官方手册中提到的概念要大。

大致来讲,TOGAF官方手册中第二部分(架构开发方法)属于上图中的方法部分;官方手册中的第三(ADM指南和技术)、第四(架构内容框架)和第五部分(企业连续统一体和工具)大体划分到上图中的工具部分;最后,官方手册中的第六部分(架构能力框架)划分到组织部分。
在这里插入图片描述

此外,在这一部分中,还会通过多个层次元模型的讲解,以对TOGAF整体有一个清晰的整体性认识。

(2)TOGAF核心ADM方法介绍:这部分内容相比TOGAF官方手册中的介绍方式主要有两个区别。

第一个区别是ADM每个阶段的步骤会统一按照摩天轮方法中的目标、环境(含输入和输出)、结构和过程的方式来进行,这样会更加简洁清晰。

第二个区别是在讲ADM每一个阶段时,会将TOGAF官方手册中二、三、四部分的相关内容一并讲解。因为这些部分的主要内容已经分解到“双飞轮模型”中的组织和工具的结构中。因此,在介绍ADM的每一个阶段时,会一并介绍方法与组织和工具部分之间的交互。在这种方式下,内容不会像原来那样存在割裂感,而且一个阶段会将所有相关内容都囊括在内。

(3)TOGAF其他内容专题介绍:比如架构治理、连续统一体等,这些内容在上面一、二块内容中并没有完全覆盖。

通过以上对第一个层次内容的学习,目标是让读者能够清晰地理解并且掌握TOGAF。

层次2:怎么用?
学习TOGAF的一个主要目标是为了能够用于实际架构实践当中。上面提过,TOGAF的核心方法ADM都是将很多内容糅杂在一起全部呈现出来,让读者自己去从中挑选合适的部分。

这种难度主要在于两个地方:一是需要对业务架构、应用架构、数据架构和技术架构等相关方法论非常熟悉,这样才能挑选出适合自身场景的技术;二是各个阶段挑选的部分还需要能够保持前后的连贯一致性。

因此,在“怎么用”的第一部分,笔者将首先对TOGAF核心方法ADM进行一些分析探讨,主要包括两部分内容。

一是探讨企业架构,以及ADM方法中涉及的业务架构、数据架构、应用架构和技术架构的本质是什么。

二是探讨ADM方法中业务架构、数据架构、应用架构和技术架构中隐含的方法论有哪些?尤其是业务架构部分,由于业务架构指导数据架构和应用架构的实现,业务架构的方法论是最重要的。

接着,在“怎么用”的第二部分,笔者将详细讲解ADM方法在实际架构实践中的应用。如TOGAF中所说企业架构本身是分层的,如下图所示。

在这里插入图片描述

因此,在这部分中,首先将从企业架构整体层面介绍ADM方法的应用。其次,再分别介绍ADM方法在战略架构、分部架构和能力架构三大层次上的应用。在不同层次的架构中,ADM方法每个阶段所要做的工作也有较大差异。

在讲解企业架构整体、战略架构、分部架构和能力架构各个部分内容时,我们也将采用摩天轮学习法中的四要素来进行,如下图所示。

首先,介绍该架构所处的环境,随后介绍该架构的实现目标;接着,在结构部分介绍该架构所涉及的主要模型,包括元模型及其他模型等;最后,在过程环节,则主要按照ADM方法中的业务架构、数据架构、应用架构和技术架构来详细介绍执行过程。并且,在讲解过程中,会列举大量的实践案例来帮助读者掌握。

最后,在“怎么用”的第三部分,还将讲解企业架构作为一个整体在企业中的应用。在TOGAF手册中,只讲述了ADM这一个核心过程,这实际上是一个偏技术视角的过程。

在本部分中,笔者将尝试融合企业架构框架与PACE产品开发过程,探讨架构治理等组织方式、工具和方法相互融入的过程。

通过以上对第二个层次内容的学习,读者可以掌握战略、分部和能力三个层级架构的具体落地方法。在这个过程中,读者也会更深入理解一些架构方法论,包括过程驱动方法、对象驱动方法、数据驱动方法、领域驱动方法以及TOGAF中的价值驱动方法等,同时还涉及到需求有效管理、敏捷和DevOps、PACE等相关方法论。

层次3:怎么思?
前两个层次更多是关于TOGAF官方手册纸面上教给我们的东西。然而,笔者认为TOGAF背后所蕴藏的一些思想更为珍贵,比如分层、迭代、能力增量、模式、互操作性、分区、无边界信息流、连续统一体、广度/深度/时间区间、原则、开放性、企业应用综合、透明性等。

然而,单独地逐一对这些概念进行讲解会有些零碎。对架构师来说,架构设计的过程其实就是一个应对复杂性挑战的过程。因此,笔者将以“复杂性”为中心,将与其相关的思想都融入进来。

不过,复杂性这个词本身就非常抽象,也很难以准确解释。在之前的文章《一切系统的本质是什么》中,笔者总结出一切系统的本质是由环境、目标、过程和目标四个核心要素组成的。

基于这一理论,笔者将复杂性也视为一个系统,并将探讨复杂性在结构、过程、环境和目标四个方面存在的问题,例如,结构方面存在元素或实体数量过多,交互混乱等复杂性问题,过程方面存在通信的不确定性、滞后性、动态性等复杂性问题,这些复杂性问题同样是架构设计中常常碰到的。

接下来,笔者将进一步抽象这些TOGAF思想,并提炼出一些通用的思维模式,包括本体思维、还原思维、进化思维、系统思维和管理思维等。举例来说,在进化思维中包含了分层、迭代和开放性等思想。

这些通用的思维模式都是人类文明在发展过程中为解决复杂性问题而演变出来的普适性方法。除了介绍思维模式之外,还会探讨这些模式在架构设计领域的应用。

通过以上对第三个层次内容的学习,读者相当于掌握了一套解决通用复杂性问题的通用思维方式,也可以将这些从TOGAF抽象提炼出来的思想,应用于更广泛的架构设计中。

结束语
在本篇关于企业架构框架TOGAF的第一篇文章中,我们简要介绍了目前TOGAF官方手册存在的三大类问题,并针对这些问题提出了一种三个层次学习TOGAF的方法。随后,我们简要介绍了每个层次下的主要内容框架。

可以看出,不论是第一个层次“怎么学”中对于ADM方法每个阶段的介绍,还是第二个层次“怎么用”中对于各个层级架构内容的介绍,或者是第三个层次“怎么思”中对于思维本质的探讨,基本都采用了摩天轮学习法中的框架进行讲解。

通过本次课程,可以加深大家对摩天轮学习法的理解,它不仅可以讲解Java语言这种简单的技术,也可以用于拆解像企业架构框架这种处于金字塔尖的技术。

后续,我们也将陆续推出更多运用摩天轮学习法的系列课程,包括设计模式、开发框架、各类中间件、架构、大模型技术等,希望大家持续关注。

另外,笔者前期编写的《架构师启示录》已由机械工业出版社最近出版。书中主要介绍了一个架构师能力模型,涵盖架构知识模型、架构落地方法、架构思维模式三大维度,是一本非常实用的架构学习书籍,欢迎大家订阅。

直播预告

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/558503.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

浅谈rDNS在IP情报建设中的应用

在当今数字化世界中,互联网已经成为人们日常生活和商业活动中不可或缺的一部分。在这个庞大而复杂的网络生态系统中,IP地址是连接和识别各种网络设备和服务的基础。然而,仅仅知道一个设备的IP地址并不足以充分理解其在网络中的角色和行为。为…

wps屏幕录制怎么用?分享使用方法!

数字化时代,屏幕录制已成为我们学习、工作和娱乐中不可或缺的一部分。无论是制作教学视频、分享游戏过程,还是录制网络会议,屏幕录制都能帮助我们轻松实现。WPS作为一款功能强大的办公软件,其屏幕录制功能也备受用户青睐。本文将详…

创新指南|利用 AI 工具转变您的内容策略

内容策略涉及规划、创建和管理内容。无论您是在策划博客文章、社交媒体更新还是网站内容,精心制定的内容策略是营销活动成功的关键。然而,如果没有合适的工具,维持强大的内容策略可能会具有挑战性。这就是人工智能(AI) 工具发挥作用的地方&am…

Python 将PowerPoint (PPT/PPTX) 转为HTML格式

PPT是传递信息、进行汇报和推广产品的重要工具。然而,有时我们需要将这些精心设计的PPT演示文稿发布到网络上,以便于更广泛的访问和分享。本文将介绍如何使用Python将PowerPoint文档转换为网页友好的HTML格式。包含两个示例: 目录 Python 将…

聚观早报 | 华为Pura70系列先锋计划;月之暗面升级Kimi

聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。 整理丨Cutie 4月19日消息 华为Pura70系列先锋计划 月之暗面升级Kimi OPPO Find X7将推白色版本 波士顿动力推出人形机器人 v…

liqo学习及安装,k8s,kubernetes多集群互联

先按照官方的教程在虚拟机安装学习 在开始以下教程之前,您应该确保您的系统上安装了以下软件: Docker,容器运行时。Kubectl,Kubernetes 的命令行工具。 curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.…

使用Docker部署开源建站工具—Halo,并实现个人博客公网访问

目录 推荐 前言 1. Docker部署Halo 1.1 检查Docker版本 如果未安装Docker可参考: 已安装Docker步骤: 1.2 在Docker中部署Halo 2. Linux安装Cpolar 2.1 打开服务器防火墙 2.2 安装cpolar内网穿透 3. 配置Halo个人博客公网地址 4. 固定Halo公网…

前端CSS中“:hover”伪类选择器的使用

前端CSS中“:hover”伪类选择器的使用 一、前言二、改变链接的属性1.源码12.源码1运行效果 三、改变图片的属性1.源码22.源码2运行效果 四、改变卡片的属性1.源码32.源码3运行效果 五、结语六、定位日期 一、前言 在css中的:hover(悬停)伪类…

有交互作用的正交实验设计及数据分析

文章目录 一、认识有交互作用的正交试验1.1 交互作用1.2 问题假设1.3表头设计 参考“十二五”普通高等教育本科规划教材《实验设计与数据处理》 一、认识有交互作用的正交试验 1.1 交互作用 交互作用在实验设计中是指两个或多个因素在一起作用时对实验结果产生的影响&#xf…

OpenHarmony鸿蒙南向开发案例:【智能燃气检测设备】

样例简介 本文档介绍了安全厨房案例中的相关智能燃气检测设备,本安全厨房案例利用轻量级软总线能力,将两块欧智通V200Z-R/BES2600开发板模拟的智能燃气检测设备和燃气告警设备组合成。当燃气数值告警时,无需其它操作,直接通知软总…

如何用 AI 工具做数据分析与可视化?

(注:本文为小报童精选文章。已订阅小报童或加入知识星球「玉树芝兰」用户请勿重复付费) 万字长文,助力你用 AI 提升科研效率。 2024 年 4 月 14 日,应武汉大学信息管理学院的邀请,我和北京大学步一老师给几…

STM32学习和实践笔记(17):STM32外部中断(EXTI)的整体介绍

1.外部中断介绍 1.1 EXTI简介 STM32F10x外部中断/事件控制器(EXTI)包含多达 20 个用于产生事件/中断请求的边沿检测器。(事件与中断的区别,可参看STM32---中断与事件的区别_中断和事件的区别-CSDN博客) 具体有哪些&a…

Android JetPack Compose+Room----实现搜索记录功能

文章目录 需求概述功能展示实现搜索功能使用的技术1.Android Jetpack room2.Android JetPack Compose 代码实现编写搜索界面接入Room实现搜索功能的管理引入依赖定义包结构定义操作表的Dao类定义数据库的基础配置定义数据库的Dao管理类使用数据库升级 源码地址 需求概述 搜索功…

人工智能论文GPT-3(2):2020.5 Language Models are Few-Shot Learners;微调;少样本Few-Shot (FS)

2 方法Approach 我们的基本预训练方法,包括模型、数据和训练,与GPT-2中描述的过程相似,只是模型规模、数据集规模和多样性,以及训练时长有所扩大,相对简单直接。 我们使用的上下文学习也与GPT-2相似,但在…

CentOS 7静默安装Oracle 11g(记一次最小化CentOS 7安装Oracle 11g的经历)

# [pdf在线免费转word文档](https://orcc.online/pdf) https://orcc.online/pdf 1.最小化安装CentOS 7后首先设置一下固定IP 可以先查询一下自己的网卡设备的名称,是ens33,所以网卡配置文件名称就是ifcfg-ens33(前面的ifcfg-不用管&#xf…

【开源】使用Python+Flask+Mysql快速开发一个用户增删改查系统

项目演示 项目本身很简单,增删改查是几乎所有系统的骨架。正所谓万丈高楼平地起,学会了增删改查,航母就指日可待了:),光速入门,直接看演示图: 项目地址 https://github.com/mudf…

【Golang】Gin教学-获取请求信息并返回

安装Gin初始化Gin处理所有HTTP请求获取请求的URL和Method获取请求参数根据Content-Type判断请求数据类型处理JSON数据处理表单数据处理文件返回JSON响应启动服务完整代码测试 Gin是一个用Go(又称Golang)编写的HTTP Web框架,它具有高性能和简洁…

npx\pnpm 镜像过期解决方法

. // 1. 清空缓存 npm cache clean --force // 2. 关闭SSL验证 npm config set strict-ssl false // 3. 安装 到这里就可以正常使用npm命令安装需要的工具了。如( npm install -g cnpm )

华为机考入门python3--(17)牛客17- 坐标移动

分类:字符串 知识点: 正则匹配 re.match(pattern, move) 格式字符串,可以在字符串中直接引用变量 f"{x},{y}" 题目来自【牛客】 import re def is_valid_coordinate(move): # 使用正则表达式验证移动是否合法 # ^: …

面试: Hashtable vs ConcurrentHashMap

一、Hashtable和ConcurrentHashMap的不同和相同点 Hashtable 与 ConcurrentHashMap 都是线程安全的Map 集合。Hashtable 并发度低,整个Hashtable对应一把锁,同一时刻,只能有一个线程操作它。1.8之前ConcurrentHashMap使用了Segment 数组&…