第二部分:動態業務應用構建實踐——兩個自適應系統的故事
生產力提高是生活水平提高的基本組成。美國的經驗表明,長期的生產力強勁增長表現為伴隨組織圖和企業資金安排變化的技術革新,以及人力資本的投入。但是,支撐這些生產力增長的決定因素的是一個更基本的因素:社會對其自身進行重大轉變的意志,以及對技術進步和隨那個進步而來的經濟機會將使人們改善其生活的信心。
–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. 構建和維護基礎業務動態平台既需要商務程序架構,也需要業務系統變更管理架構。