TOGAF总论及架构开发方法(ADM)概述
TOGAF(The Open Group Architecture Framework)可以说是当前最为流行的企业架构框架理论了,截止到作者写本书之时,福布斯排行榜上排名前50的企业中已经有很大一部分在使用这一企业架构框架了,并且中国企业对它的认可度也超过了50%。TOGAF可以说是企业架构理论从政府进入到社会各研究机构的一个典型案例,它起源于美国国防部的信息管理技术架构框架(TAFIM,Technical Architecture Framework for Information Management),并在获得美国国防部的允许和鼓励之后,借助于美国政府大笔资金的投入,并经过多年的努力最终于1995年发布了TOGAF的第一版。发展至今TOGAF已经发布到了第九个版本,即TOGAF 9(目前最新的版本是2011年发布的TOGAF 9.1),而这也正是这一章节所要描述的对象。
按照TOGAF规范中的定义,TOGAF是众多企业架构框架理论中的一种,它为一个企业或组织对于企业架构的接受、创建、使用和维护提供了一系列辅助方法和工具。同时TOGAF还是一个基于迭代过程模型的企业架构框架理论,而作为支持该过程模型的重要基石包括了各种最佳实践,以及一系列可重用的现有企业资产。总的来说,TOGAF的内容涵盖了企业架构生命周期中的方方面面,尤其是通过在2009年发布的第九版中引入了内容框架,TOGAF一改往昔只重视架构开发过程和方法的风格,在有关架构内容描述和指导方面填补了以往的空白。在TOGAF 9中,The Open Group将TOGAF的各部分内容以及他们之间的关系通过如下的示意图进行了表述:
TOGAF内容结构
借助于TOGAF的内容结构示意图我们可以看出,TOGAF所包含的各种企业架构相关方法与工具在企业的业务愿景、驱动力和业务能力之间建立起了一座沟通的桥梁,即在TOGAF中各部分内容的帮助下,这两个原本沟通不畅的部分得以被联系在一起,从而使得作为企业发展蓝图的业务愿景与各种驱动力可以一起通过一种有条理的方式促进企业业务能力的实现和发展,而且经过长期的运营,企业的业务能力又为企业的业务愿景反馈了新的需求和发展推动力。从图中我们可以看出,TOGAF的内容被分为三个主要部分:
- TOGAF能力框架(TOGAF Capability Framework):为了在一个企业中有效地操作企业架构并使其发挥最大的效能,一系列适当的组织结构、流程、技能、角色和责任需要被定义并结合起来,而TOGAF的能力框架正为如何组织好这些元素提供了指南。
- TOGAF架构开发方法和内容框架(TOGAF ADM(Architecture Development Method)& Content Framework):此部分是TOGAF的核心部分,它包含了两个方面的内容。其中架构开发方法是TOGAF针对企业架构建设方法的论述,它以一个循环迭代模型为基础将企业架构的建设过程划分为前后衔接的若干步骤,并对每个步骤的输入、输出以及所采用方法都进行了详尽的阐述;作为新晋的内容框架部分,它针对企业架构中所包含的各种工作产品以及他们之间的关系作出了详细的描述。
- TOGAF企业连续体和工具(TOGAF Enterprise Continuum and Tools):企业连续体是企业架构资源库的一张视图,它为企业中的各种架构和解决方案制品提供了一种分类和组织的方法。企业架构过程是一个动态的过程,因而这一针对工作制品进行组织分类的方式也不仅仅是一个静态方法,还是一种能够随着企业架构演进而变化其分类方式的动态方法。在此方法的视角中,随着企业架构的演进发展,其内容也从通用走向特化,其详细程度也由简略转为详尽,而随着实践的沉淀,原来特化的架构或解决方案制品也可能成为在更广泛范围内通用制品。除此之外,该部分内容还提供了几个用于帮助企业架构建设的参考模型以及其他的一些辅助工具。
上述三个部分的内容相对比较独立,其中能力框架方面的内容着重于帮助企业更好地使用企业架构,架构开发方法和内容框架着重于帮助企业提高其企业架构建设和维护过程的标准化水平和执行效率,而企业连续体以及各种方法工具则更关注于为企业在企业架构的开发、使用和维护过程中提供参考和最佳实践。虽然这三个部分相对独立,但是一个优良的企业架构的创建、使用和维护是他们三者紧密配合、相互作用的结果。不过作为一个开放且灵活的企业架构框架标准,TOGAF并不要求所有引入它的企业都必须一个不漏的照搬这三个部分的内容,而是可以根据各自的需要选择相应的部分进行采用,即便是已经建立了企业架构的组织(哪怕他采用别的框架理论来创建其企业架构)也可以将TOGAF中的内容与当前企业架构进行融合。本章接下来将对这几部分的内容分别进行详细阐述。
1. 架构开发方法
架构开发方法(ADM,Architecture Development Method)为开发企业架构所需要执行各个步骤以及他们之间的关系进行详细的定义,同时它也是TOGAF规范中最为核心的内容。一个组织中企业架构的发展过程可以看成是其企业连续体从基础架构开始,历经通用基础架构和行业架构阶段而最终达到组织特定架构的演进过程,而在此过程中用于对组织开发行为进行指导的正是架构开发方法。由此可见,架构开发方法是企业连续体得以顺利演进的保障,而作为企业连续体在现实中的实现形式或信息载体,企业架构资源库也与架构开发方法有着千丝万缕的联系。企业架构资源库为架构开发方法的执行过程提供了各种可重用的信息资源和参考资料,而企业架构开发方法中各步骤所产生的交付物和制品也会不停地填充和刷新企业架构资源库中的内容,因此在刚开始执行企业架构开发方法时,各个企业或组织常常会因为企业架构资源库中内容的缺乏和简略而举步维艰,但随着一个又一个架构开发循环的持续进行,企业架构资源库中的内容将日趋丰富和成熟,从而企业架构的开发也会越发明快。
架构开发方法各阶段
架构开发方法建立在一个循环迭代的模型基础之上,并且TOGAF还通过定义一系列按指定顺序排列的阶段和步骤来对这一迭代过程进行了更加详尽和标准的描述。不过需要注意的是,这一迭代过程中所包含的各个阶段以及每个阶段所包含的各个实施步骤并不是一个绝对不变的存在,鉴于 TOGAF本身的开放性和灵活性,针对架构开发方法中各步骤的执行也具备着很高的灵活性,而这一灵活性通常表现为:
- 如前所述,由于TOGAF并不排斥组织中对其他企业架构框架理论的引入和使用,因而在多个企业架构框架同时并存的情况下,企业架构开发方法各阶段的输入与输出可以不拘泥于企业架构开发方法的定义,而可采用适合组织自身情况的其他框架中所定义的相关内容。
- 企业架构开发方法中各阶段之间的先后顺序也并不是绝对的,各组织可以按照自己的实际情况进行适当的修改。
- 由于各组织的规模和特性千差万别,因而他们对企业架构开发方法的适应程度也各不相同。对于一个中小型企业来讲,如果严格按照上述架构开发方法的阶段定义来执行,其繁琐程度可能会将人们的热情迅速冷却,因而针对企业架构开发方法进行适当的裁剪并使其符合组织自身情况对于各个组织来讲是非常必要的。
- 架构开发是一个循环迭代的过程,但是并不意味着每次循环都要走完图中所有的步骤,而且如果必要的话,在任何一个步骤的执行过程中都可以根据遇到的情况而开展一个新的循环过程。
企业架构开发方法为组织中企业架构的开发制定了一个循环迭代的流程,并且随着每个架构开发循环过程的完成,组织中企业架构的范围以及交付物的深度和广度都得以演进,但对于企业架构范围的决定却应独立于这一企业架构开发方法的执行过程。在每一次架构开发方法迭代过程开始之前,组织都需要针对如下几点进行考虑:
- 组织将要在什么范围内进行架构定义和建设?
- 需要采用何种详细度进行架构描述?
- 需要建设的企业架构的目标时间区间是什么?
- 所能够使用的架构资产(包括上次迭代过程中产生的各种架构资产以及存在于组织外的行业通用资产)都有哪些?
以上四个要点制约着企业架构以及相关架构活动的范围。理论上来将,为整个组织的方方面面进行全面的建模是企业架构的终极目标,而在现实生活中如此理想的目标往往会成为不可能的任务,而更加理性的做法应该是立足于当前的状况对每次架构工作的范围进行约定,并通过一次次的工作迭代逐步丰富企业架构内容的深度和广度,从而逐渐接近于理想状态。这种方式对于结构复杂的大型组织来说尤为重要,这种组织往往是由若干业务单元通过联邦的方式组合而成,而在这种情况下一个有效的企业架构过程应该是对架构的范围和活动进行明晰的划分,并在最后进行有效的整合的过程(美国联邦政府的FEA就是一个很好的例子,虽然具有着独特的架构建设和维护方法,但是在如何应对繁杂组织的复杂度方面,其与TOGAF有着相通的见解)。总的来说,TOGAF的企业架构开发方法的基础是对企业架构的范围进行适当限定和定义,而这些限定和定义的方面包括:
- 企业范围或着眼点:用于表述企业的整体范围,以及架构活动所涵盖的范围。
- 架构领域:一个完备的架构描述需要涵盖四个架构领域中的内容,即业务、数据、应用和技术,而这也正是限定架构内容范围的维度之一。
- 详细度:用于表述架构内容的详细程度,即何种程度的架构描述才是足够的。
- 时间段:用于表述架构愿景所描述的是在未来哪个时间段的目标,以及此目标是否可以在指定的详细度上被描述清楚,如果不能则需要对中间过渡状态进行制定,并且对每个过渡状态的描述所采用的详细度应符合指定的需要。
一般来讲,企业架构范围的定义和限定首先需要明确企业范围或着眼点、详细度和时间段这三个方面。在这三个方面被确定之后,组织需要根据所面对的问题开展针对各种架构领域的选择和组合,从而实现针对企业架构范围的最终确定。需要注意的是,之所以架构范围需要被限定,是因为现实中的资源不是无限的,这些限制一般包括如下方面:
- 架构开发团队的权力有一定限制。
- 企业中不同角度的干系人的关注点千差万别。
- 人力、资金等资源的限制。
综上所述,企业架构开发方法是一种非常灵活的架构开发指导方法,任何组织不论其身处何种行业或是具备什么样的规模都可以将其作为指导自身企业架构建设的方法。需要注意的是,企业架构开发虽然能够指导企业架构的建设,但是企业架构的范围则需要组织自身根据实际情况来进行定义和限定,也只有这样才能让企业架构开发方法的进行得以处在一个现实可行的环境当中。那企业架构方法具体如何进行呢?为了解答这个问题,本节随后的内容将会对企业架构开发方法的各阶段和步骤进行详细描述。