1.10 架构变更管理(Architecture Change Management)

企业架构开发方法各阶段——架构变更管理

1.10.1 目标

本阶段的目标是:

  • 确保基线架构持续符合当前实际。
  • 评估架构性能,并对变更提出建议。
  • 评估在之前阶段制定的框架和原则的变化。
  • 为实施治理阶段建立的新的企业架构基线建立架构变更管理流程。
  • 将架构和运营的业务价值最大化。
  • 运用治理框架。

1.10.2 方法

架构变更管里流程的目标是保证架构能够达成其目标业务价值,并且这一过程还着眼于将原本静态的企业架构建设成为一个动态的架构,使其具有足够的灵活性来对技术和业务环境的改变来进行快速地适应性演进。为了达成这些目标,架构变更管理过程往往针对治理请求、技术上的进步以及业务环境的变化进行持续的监督,同时当这些变更被识别出来后,这一过程还需要对是否启动一个新的架构演进循环而做出决定。由此可见,这一阶段的中心思想就是监督并明确企业所处环境的变更,并据此做出适当的架构变更决策。在变更的监督和明确过程中我们需要注意如下几个方面:

  • 监督业务的消长是这一阶段的一个重要方面。针对企业架构的使用也是架构开发循环中的最重要的一环。在企业中,当前架构支持下的业务虽然能够满足当前的需要,但是对于未来的情况却不一定适用。并且在多数情况下,架构即便能够跟得上变化并始终保持适用,但各种用于对其进行实现的解决方案却不一定可以,因而针对他们的变更也是必要的。企业架构师需要了解这些变更需求,并把他们当作架构持续更新的一个重要组成部分来进行考虑。
  • 容量评测和针对规划的建议是这一阶段的另外一个重要方面。虽然企业架构提供了一个稳定的业务架构,且此业务架构在企业架构生命周期中所提供的能力也是大家所共识的,但是对其使用的增加或减少还是需要被持续监督下去,从而保证最大业务价值的获取。例如,在企业当前状态下,当前的架构和解决方案能够满足需要,但是如果企业规模扩大一个量级后,其他的解决方案却可能更加经济有效。

需要注意的是,如果性能管理和汇报已经在之前的几个阶段中被加入到工作产品序列之中,那么在此阶段中,组织就需要保证其有效性,而如果还存在其他需要被监督和汇报的需求,那么这一阶段还需要对这些变化进行处理。

在架构变更管理阶段,治理机构还需要建立各种指标,用于判断对于一个变更请求来说,是采用架构更新措施,还是启动一个新的架构开发循环。在这些标准的制定过程中,企业需要注意避免“完美蠕行”(Creeping elegance)病症,并且治理机构也必须持续寻找与业务价值直接相关的各种变更。架构合规评估报告需要表明一个变更是否与当前架构相适应,如不适应则需要表述其理由,而如果这一变更对架构具有很大的影响,则一个用于管理其影响的策略需要被制定出来。就像不同的企业能够接受不同程度的风险一样,为这些评估标准的制定建立统一的实施指南是非常困难的,但随着架构开发方法的不断实践,治理机构的成熟度水平会日渐提高,这些标准也会根据特定的需求而逐渐清晰起来。

变更驱动力

架构开发的主要目标是将企业的战略目标经由企业架构和各实现项目的捏合最终实现企业自身能力的提升,但在这一过程中,起重要作用的企业架构并不是凭空产生的,在它的周围总是存在着一系列正在创造价值(也许效率不是最优)并等待被整合的基础设施和业务,而针对他们的整合变更,以及外界环境对他们的变更需求,都在企业架构的演进过程中充当了驱动力。一般来讲,有三种方式来对这些将要被整合的基础设施进行变更:

  • 来自于战略层面自上而下的变更,用于增强或创建新的能力。
  • 来自于下面的自下而上的变更,用于修正或更新运营管理中各基础设施的能力。
  • 在项目进展过程中产生的经验。

这些变更在企业架构开发过程中一般以架构变更请求的形式进行提交,因而上面这些变更的将会形成一系列错综复杂的架构变更请求。对待这些变更请求,治理行为是必不可少的,并且一个吸取经验教训的过程也是必要的。这一吸取经验教训的过程的目标是避免已经发生错误的重犯,它将对在进展过程中发现的问题进行解决,并对目标架构进行更改,从而使企业架构一直处于正确的方向之上。

架构委员会(Architecture Board)需要对这些架构申请(RFC:Requests for Change)进行评估和批准,而在这一过程中,架构委员会所面临的一大挑战是判断一个变更请求是否需要被批准,并进一步引起针对架构规划的变更,或者这一申请是否可以由过渡架构中的某个实现项目来解决(即这一变更已经处在未来的规划之中)。

除了上面针对来源的区分,架构变更还可以从技术和业务两个角度来进行分类。技术相关的变更驱动力可以是新技术的产生、资产管理成本缩减、技术退出以及新标准的倡议等。业务相关的驱动力则可以是日常业务开发、业务异常、业务革新、业务技术革新和战略变更等。对于技术方面的驱动力,主要通过企业变更管理和架构治理流程来进行管理,而对于业务方面的驱动力,则往往会导致新一轮的架构开发,或者至少是针对架构开发循环某一部分的迭代。

企业架构变更管理过程

企业架构变更管理过程需要确定各个变更如何被管理,以及在此过程中所采用何种技术和方法。除此之外,这一过程还需要具备一个用于明确哪个架构开发阶段受到影响的过滤功能(例如,仅对迁移方面产生影响的变更就不需要影响到架构开发相关的各阶段)。在当前存在着多种管理变更的方法和技术,例如:

  • 项目管理方法,例如PRINCE2。
  • 服务管理方法,例如ITIL。
  • 管理咨询方法,例如Catalyst。

除了这些方法,TOGAF还推荐了一种用于管理变更的方法。该方法对于架构变更按照如下原则进行了分类:

  • 简化变更(Simplification Change):通常采用变更管理技术进行处理的变更。此种类型的变更通常来源于一个减少投资的需求。
  • 增量变更(Incremental Change):一个增量变更可以通过变更管理技术来进行处理,也可能需要对架构进行部分重建。此种类型的变更通常来源于在现存投资中获得额外价值的需求。
  • 重新架构变更(Re-architecting Change):此种变更需要通过架构开发循环对整个架构进行重建。此种类型的变更通常来源于为了创建新的价值而增加投资的需求。

为了分辨出一个变更属于上述哪种类型,组织可以借助于如下的步骤:

  • 对所有可能影响架构的事件进行注册记录。
  • 为各个架构任务进行资源分配和管理。
  • 对架构资源进行负责的角色或流程需要对所做的事情进行评估。
  • 对影响进行评估。
维护vs架构重新设计

如下的原则可以帮助企业来判断针对一个变更所要采用的处理方式是针对架构的维护还是对架构重新设计:

  • 如果变更影响了两个或两个以上的干系人,那么这个变更很可能会需要一个架构的重新设计和新的架构开发循环。
  • 如果变更只影响了一个干系人,那么这个变更很可能会成为变更管理的候选目标。
  • 如果变更在一个特许之下能获得批准,那么这个变更很可能会成为变更管理的候选目标。

例如:

  • 如果变更对业务战略有着很大的影响,那么整个企业架构可能会被重建。
  • 如果一个新的技术或标准出现了,那么技术架构(而不是整个架构)可能会被要求进行刷新。
  • 如果变更出现在一个基础设施层面,那么此物理层之上的架构将不会受到影响,但技术架构的基线描述将会受到影响。此种变更属于需要借助于变更管理技术的简化类型的变更。

除了上述原则,需要特别注意的是,在如下的情况中,组织需要针对部分或全部架构进行一个刷新循环(如果组织确定要进行该刷新循环,那么一个新的架构工作要求书需要被制定出来):

  • 基础架构需要与业务战略相校准。
  • 在架构的部署过程中所使用的组件和实施指南需要进行重大变更。
  • 在产品架构中使用的重要标准需要进行变更,并且对用户有着很大的影响。

1.10.3 输入与输出

在当前阶段所需的输入材料以及此阶段输出的各种交付物归纳如下:

参考资料

架构参考资料

非架构性输入

架构工作要求书

架构性输入

企业架构组织模型,包括:

  • 受影响的组织范围
  • 成熟度评测、差距及解决方法
  • 架构团队所担当的角色和职责
  • 架构工作的约束
  • 预算需求
  • 治理和支持策略

定制的架构框架,包括:

  • 定制的架构方法
  • 定制的架构内容(交付物和制品)
  • 配置和部署工具

架构工作说明书

架构愿景

架构资源库,包括:

  • 可重用的构建块
  • 公开且可得的参考模型
  • 组织特定的参考模型
  • 组织标准

架构定义文档

架构需求说明,包括:

  • 架构需求
  • 差距分析结果(包括对于业务、数据、应用和技术架构的对比)

架构路线图

变更请求—技术变更:

  • 新技术报告
  • 资产管理成本削减措施
  • 技术退出报告
  • 各标准举措

变更请求—业务变更:

  • 业务发展
  • 业务异常
  • 业务革新
  • 业务技术革新
  • 战略变化发展

变更请求—来源于经验教训

过渡架构

实施治理模型

架构契约

合规评估

实施和迁移计划

架构的各种更新

架构框架和原则变更

新的架构工作要求书,用于转移到另一个架构开发循环

架构工作说明书(必要时更新)

架构契约(必要时更新)

合规评估(必要时更新)

1.10.4 步骤

在当前阶段中所要执行的各个步骤归纳如下:

  • 建立价值实现过程
  • 部署监测工具
  • 管理风险
  • 为架构变更管理提供分析
  • 开发变更需求来迎合性能目标
  • 管理治理过程
  • 激活实施变更的过程

企业架构研究总结(27)——TOGAF架构开发方法(ADM)之架构变更管理阶段的更多相关文章

  1. 企业架构研究总结(28)——TOGAF架构开发方法(ADM)之需求管理阶段

    1.11 需求管理(Requirements Management) 企业架构开发方法各阶段——需求管理 1.11.1 目标 本阶段的目标是定义一个过程,使企业架构的需求可以被识别.存储并与其他架构开 ...

  2. TOGAF架构开发方法(ADM)之架构变更管理阶段

    TOGAF架构开发方法(ADM)之架构变更管理阶段 1.10 架构变更管理(Architecture Change Management) 企业架构开发方法各阶段——架构变更管理 1.10.1 目标 ...

  3. TOGAF架构开发方法(ADM)之需求管理阶段

    TOGAF架构开发方法(ADM)之需求管理阶段 1.11 需求管理(Requirements Management) 企业架构开发方法各阶段——需求管理 1.11.1 目标 本阶段的目标是定义一个过程 ...

  4. 企业架构研究总结(38)——TOGAF架构能力框架之架构能力建设和架构治理

    为了确保架构功能在企业中能够被成功地运用,企业需要通过建立适当的组织结构.流程.角色.责任和技能来实现其自身的企业架构能力,而这也正是TOGAF的架构能力框架(Architecture Capabil ...

  5. 企业架构研究总结(36)——TOGAF企业连续体和工具之企业连续体构成及架构划分

    又回头看了之前文章的评论,本人也同样感慨这些文章的确像政治课本般的虚无缥缈,所以对费力看完却觉得无从下手的看官致以诚挚的歉意和理解,因为这个问题也同样困扰着笔者本人,而我能做的也只能是纸上谈兵.之前也 ...

  6. MVC5 网站开发之五 展示层架构

    展示层由Ninesky.Web项目实现,负责网站内容的显示,项目包含Member和Control两个区域.   目录 奔跑吧,代码小哥! MVC5网站开发之一 总体概述 MVC5 网站开发之二 创建项 ...

  7. INSPIRED启示录 读书笔记 - 第27章 合理运用瀑布式开发方法

    瀑布式开发方法的基本原则 1.采用阶段式开发:软件开发过程被事先分成固定的几个阶段,撰写书面的需求说明文档.设计高层软件架构.设计低层细节.编写代码.测试.部署 2.采用阶段式评审:每个阶段结束后,对 ...

  8. 企业架构研究总结(26)——TOGAF架构开发方法(ADM)之实施治理阶段

    1.9 实施治理(Implementation Governance) 企业架构开发方法各阶段——实施治理 1.9.1 目标 本阶段的目标是: 为每个实施计划给予建议. 对涵盖整个实施和部署过程的架构 ...

  9. 企业架构研究总结(25)——TOGAF架构开发方法(ADM)之迁移规划阶段

    1.8 迁移规划(Migration Planning) 企业架构开发方法各阶段——迁移规划 1.8.1 目标 本阶段的目标是: 确保实施和迁移规划与企业中各种管理框架相协调. 通过对每个进行中的成本 ...

随机推荐

  1. maven+hudson构建集成测试平台

     1.下载hudson.war.2.命令行运行:java -jar hudson.war --httpPort=8070 -Dorg.eclipse.jetty.util.URI.charset=GB ...

  2. robot framework用python扩展编写自定义library

    我的utils.py文件 #!/usr/bin/env python #-*- coding:utf8 -*- __version__ = '0.1' import sys reload(sys) s ...

  3. 如何利用【百度地图API】,制作房产酒店地图?(下)——结合自己的数据库

    原文:如何利用[百度地图API],制作房产酒店地图?(下)--结合自己的数据库 摘要:应广大API爱好者要求,写了一篇利用自己数据库标点的文章…… -------------------------- ...

  4. 图数据库 Titan 高速入门

    尤其在互联网世界,图计算越来越受到人们的关注,而图计算相关的软件也越来越丰富.本文将高速展示 Titan这个open source 的图数据库. 注:本文的操作主要基于Titan 官方的两篇文档: - ...

  5. GhostDoc的使用

    原文:GhostDoc的使用 一.简介 GhostDoc是Visual Studio的一个免费插件,可以为开发人员自动生成XML格式的注释文档. 二.下载 需要的朋友可以去这里下载,填个Email地址 ...

  6. CSS知识总结之设计模式(持续学习中)

    OOCSS 参考:http://coding.smashingmagazine.com/2011/12/12/an-introduction-to-object-oriented-css-oocss  ...

  7. C++在const用法

    注意 const对象默觉得文件的局部变量 在全局作用域里定义非const变量时,它在整个程序中都能够訪问.我们能够把一个非const变量定义在一个文件里,如果已经做了合适的声明,就能够在另外的文件里使 ...

  8. 用持续集成工具Travis进行构建和部署

    用持续集成工具Travis进行构建和部署 用持续集成工具Travis进行构建和部署 摘要:本文简单说明了如何使用持续集成工具Travis进行构建和部署的过程. 1. 概述 持续集成(Continuou ...

  9. Oracle执行计划——Oracle 如何启用执行计划

    AUTOTRACE是一项SQL*Plus功能,自动跟踪为SQL语句生成一个执行计划并且提供与该语句的处理有关的统计.SQL*Plus AUTOTRACE可以用来替代SQL Trace使用,AUTOTR ...

  10. [译]Java设计模式之解释器

    (文章翻译自Java Design Pattern: Interpreter) 解释器模式适用于当一些内容需要翻译的时候.下面的例子是一个非常简单的解释器实现.它将字母"a"和&q ...