第二部分:动态业务应用构建实践——两个自适应系统的故事
生产力提高是生活水平提高的基本组成。美国的经验表明,长期的生产力强劲增长表现为伴随组织结构和企业资金安排变化的技术革新,以及人力资本的投入。但是,支撑这些生产力增长的决定因素的是一个更基本的因素:社会对其自身进行重大转变的意志,以及对技术进步和随那个进步而来的经济机会将使人们改善其生活的信心。
–Roger W. Ferguson Jr.和William L. Wascher,美国经济学会在政府中做的经济专题演讲:过去生产力大爆炸的教训,《经济学展望杂志》,2004年春季18卷,第2期
“一旦着手自动化这些[企业]流程,技术实现大约占10%,其余90%都是变更和流程管理”
–Mark Evans,Tesoro Petroleum的CIO,管理自动化,2004年3月
第一部分总结
在本文的第一部分,我们介绍了一种构建新型IT系统的企业架构,我们称之为动态业务架构(DBA)。这些DBA非常适合支持具有动态操作(包含最新业务的一个分类)的企业。第一部分还指出,用例是当前系统架构和设计的基本输入,并描述了依赖通过它收集的需求对当前企业架构方法的种种制约。这一新提出的新框架使用企业事件模型作为起点,并将企业视为一个具有清晰信息架构的自适应系统。以新的自适应系统和信息理论为基础,在基础层级,该框架同时捕捉企业流程和业务变更。用例仅在设计过程的后期作为一种需求细化方法被引入。这种框架优先的方式受到了传统工程方法学的启发,但针对像企业这样的自适应系统进行了修改。
介绍
告别手工作坊并向软件工程加入正确工程技术的时候到了。这是将复杂软件应用(尤其是在企业领域中)构建成高度可靠、易于改变和方便调试的公共标准的唯一方法。选择并执行正确的系统架构是使这种方法发挥作用的最重要因素。我们建议的解决方案使得围绕唯一一个系统架构进行标准化(不考虑软件应用)并避免成本高昂的重新构架成为可能。
正如本文第一部分提到的,构架软件应用和设计其它工程产品之间有一个根本性的区别。因为软件是和信息打交道,而信息是变更的“载体”,那么必须在最基础的级别将变更构建到信息架构之中。此外,业务操作变更的方式和技术团体将变更引入系统的方式走得是完全不同的路径。它们各自都是对变更反应不同并具有不同操作的组织(一个是业务和一个是技术)。在构架过程中,可以把这两个组织作为两个不同的自适应系统对待。这正是我们选择“两个自适应系统的故事”作为本文第二部分副标题的原因。
在设计企业应用的过程中涉及两个自适应系统。
本文第一部分提到,能成功应对构建DBA复杂性的唯一方法是使用架构先行的方法论。几个世纪以来,工程师们一直在使用这种方法论——但总是设计“静态”架构。一旦要应用变更,系统极可能必须先停止工作再进行修改。例如,要改变由装配线组装的产品必须先停止装配线,然后应用变更,最后重新启动装配线。
当今为业务构建IT系统的软件工程师们很可能就是遵循的同样套路。当业务变化提出了修改应用的需求时,它很可能就触发了一个成本高昂的升级。开发者必须从头开始一个新业务需求,并且旧的设计常常经受大量的重新构架。这种升级周期可能需要几个月。如果企业应用是由外部开发商按照自己的日程构建的,那么整个过程可能耗时更长而且结果可能达不到业务预期。Mark Evans说得好,超过90%的努力只直接和应用变更相关。
籍由新的自适应系统理论和它们信息架构(参见局外人观点)的帮助,我们建议的企业应用设计解决方案引入了两个互补但唯一的框架。这两个框架让我们可以有效地处理和协调业务操作和技术团体操作中的变更。对设计过程而言,业务操作和技术团体操作可以被视为两个截然不同的自适应系统,它们各自都有自己的需求。
业务操作可由基础动态业务平台的通用概念来表示。根据自适应系统理论,任何企业业务功能均有3类基础流程。主流程类型支持正常操作,而其他两个则负责引入变化:内部决策制订流程处理管理和其他企业变更决策;业务环境变更流程处理客户决策和变更的其他外部来源。因此,我们提出的业务流程框架(基本动态业务平台)是围绕着业务操作或价值循环构建起来的,它包含的两类变更由两个不同的变更管理平台来处理。从信息处理观点来看,实现这些操作的系统可以比作围绕事件模型构建的“信息装配线”(参见第一部分)。企业的业务操作可以按照类似源自丰田精益制造最佳实践的价值流程图(Value Stream Mapping)方法论的方法来识别。结果是,生命周期/事件模型成为系统设计和架构的主要驱动力,不可靠的用例集合不再是系统架构的主要输入。
技术操作有其自身的挑战和独特的动态性。技术操作的主要目标是如何使不同的团队在引入变更的过程中能最大限度的合作。基础动态业务应用是具有两类流程的自适应系统:操作和操作变更。这两个流程将技术支持(操作)和技术开发(操作变更)与业务用户联系在了一起。
图1. 构建和维护基础业务动态平台既需要业务流程框架,也需要业务系统变更管理框架。