架構合同是在開發團體和贊助者之間關於架構的交付物、質量以及適用目標的聯合協議,而且經過有效的架構治理將會促使這些協議的成功施行。經過對合同的管理施行一個治理方法,以下幾點將會獲得保障:面試
在企業架構開發方法的各階段中常常會見到架構合同的身影,例如架構願景階段中的架構工做說明書等。但不管是何種架構協議,咱們都要牢記企業架構開發的終極目標是建立一個動態的企業架構,亦即該架構能夠適應外界技術和業務環境的變化而靈活地演進,而架構合同對於促成這一動態企業架構的實現,以及針對此實現的治理是很是重要的。編程
架構工做說明書產生於架構開發方法的架構願景階段,它是架構組織和企業架構贊助者之間的所簽定的協議,其具體內容請參見以前架構內容框架中的相關內容。安全
此合同是一份爲設計和開發企業架構而簽署的意向說明,亦或是其中一個重要部分。此合同所涉及到的團隊組織包括系統集成者、應用提供者和服務提供者。隨着合做分工的逐漸細化,針對一個或多個架構領域(業務、數據、應用和技術)的開發已經愈來愈多的被外包出去,而企業架構組織則主要負責在總體上進行監督和協調,而且在有些狀況下,這一監督性角色的任務也被外包到企業以外。但不管怎樣安排這些外包任務,這些安排都須要在架構合同的治理之下來進行。這些架構合同定義了所開發架構的交付物、質量、適用目標以及架構開發團隊之間進行合做的各類流程。一般來說,這些架構的內容包括以下幾點:網絡
當企業架構被實現以後,在架構功能組織(或整合了架構功能的IT治理組織)和業務用戶(他們將會在所設計的架構環境中建立和部署各個應用系統)之間就須要達成一份架構合同(此合同還能夠被用來在架構變動階段中對企業架構變動進行管理),而這份業務用戶架構合同(Business Users’ Architecture Contract)的內容一般包括以下幾點:架構
在企業架構開發方法過程的實施治理階段中所產生的各類架構合同文檔主要處於架構治理領域之中。在架構治理的背景之下,這些架構合同常常被用來做爲驅動架構變動的一種手段。爲了確保這些架構合同的效能,以下幾個治理框架的方面須要被引入到實施治理階段之中:app
因爲各個組織所處的環境並非一成不變的,於是可以對這些變化進行快速反應並與之相適應的組織將會比那些缺少應變能力的組織得到更大的優點。隨着IT技術的日益發展以及與組織業務聯繫的日趨緊密,每一個組織都知道爲了管理全部可能出現的變化須要不斷地改其與IT相關的開發流程,但對於不少組織來講,在哪些方面進行改進以及如何改進的確是個讓人頭疼的問題。因此在實踐過程當中,有的組織要麼因爲不知如何下手而投入過少,要麼進行漫無目標的投入而致使投資回報率太低。那麼各個組織如何才能解決這一問題,從而使得其所作的改進努力更加有目的性,並獲得足夠好的回報呢?其實這一問題的答案就是在組織中創建和運用能力成熟度模型(CMMs:Capability Maturity Models)。經過使用這些模型,組織能夠獲得以下效益:框架
能力成熟度模型並非專爲企業架構而生,其實它最初目標是爲了改善軟件和系統工程的過程,只是隨着企業架構理論的發展以及業界針對這一領域的關注逐漸增強,人們纔開始考慮將這一模型應用到企業架構的領域之中,從而爲評測和改進企業架構的過程提供導向。在TOGAF 9中並無爲企業架構專門設計一套成熟度模型,它只是經過例舉兩種成熟度模型來介紹當前企業架構是如何與能力成熟度模型相結合的,以供讀者借鑑。編程語言
在前面已經提到過,美國政府能夠說是施行企業架構的先行者之一,於是全部的美國聯邦政府部門都被要求提供成熟度模型以及相應的打分機制來做爲他們的IT投資管理和審計需求的一部分。以美國商務部(US Department of Commerce(DoC))爲例,他就已經開發出了一套企業架構能力成熟度模型(ACMM:Architecture Capability Maturity Model)來幫助其內部的企業架構成熟度評測。這一成熟度模型在2007年12月時發佈了1.2版本。ACMM提供了一套框架,其中包含了一個富有成效的企業架構過程所應具有的各類關鍵組件,其目標在於經過明確企業架構的薄弱環節並提供一條定義良好的演進改善路線來提高企業架構的成功概率。ACMM包含以下三部份內容:分佈式
在上述三個部分的內容中,前兩部份描述了架構能力成熟度水平、相應的企業架構元素,以及用在成熟度評測中的每一個成熟度水平的特性;最後一個部分被用來獲取用於向商務部首席信息官(CIO)進行彙報的架構能力成熟度水平。ide
ACMM從以下九個方面對企業架構的成熟度水平進行評定:
ACMM將每一個企業架構成熟度評估元素的成熟度水平分爲以下五個檔次:
截至到目前,成熟度模型已經在不少行業中獲得了接受和施行,並且每一個行業幾乎都具備符合其自身特色的成熟度模型,可是正是因爲這種普遍的接受性致使了成熟度模型過於繁雜。爲了管理這一因爲過多成熟度模型所帶來複雜性,SEI(Software Engineering Institute)開發了一個名爲能力成熟度模型集成(CMMI:Capability Maturity Model Integration)的框架。該框架綜合了各領域成熟度模型的最佳實踐,它使得組織能夠:
因爲CMMI並非隸屬於某個特定行業的綜合性成熟度模型,於是在企業架構的成熟度方面也能夠對其進行借鑑,而這其中最爲重要的就是標準過程改進評估方法(SCAMPI :Standard CMMI Appraisal Method for Process Improvement)。此方法是與CMMI相關連的評估方法,被用來與CMMI參考模型進行比對,從而對目標的優點、弱點進行明確,並經過分數評定的方式進行清晰的表述。
企業架構過程是個很是繁雜的過程,它的順利進行離不開衆多具備不一樣角色的人員的通力協做,而如何保證這些相互合做的人員在各自崗位上可以勝任就變成一切活動的根本問題。爲了應對這一問題,TOGAF提出了架構技能框架(Architecture Skills Framework),它爲進行企業架構建設的組織提供了一份關於企業架構工做中各類角色及其能力的視圖,從而爲擔負企業架構工做任務的團隊的創建提供了導則。簡單來說,架構技能框架的內容包含以下三個方面:
在實踐中,每一個企業對於項目人員的選擇應該都有着本身的一套方法和流程,基本上來說,都是經過項目自己的特質來制定所需人員的技能標準,並經過簡單的面試來從組織內外的候選者中選擇合適之人,但這對於企業架構的建設來說卻過於簡單了。雖然企業架構的建設從本質上來說也是一個項目,可是因爲其自己的複雜度之高、牽涉性之廣,若是把它看成一個普通實現項目來對待的話,組織每每會面臨以下風險:
爲了儘可能避免這些風險,各個組織應該採用更爲正式的認證機制來對企業架構工做人員進行定義和選擇,而這一機制的目的應該在於以下兩點:
TOGAF將一般用來承擔企業架構開發工做的架構團隊中的角色分爲以下幾類:
架構技能框架將架構團隊所須要技能概括爲以下幾類:
架構委員會成員 |
架構贊助者 |
架構經理 |
架構師 (技術) |
架構師 (數據) |
架構師 (應用) |
架構師 (業務) |
方案/項目經理 |
IT設計師 |
|
通用技能 |
|||||||||
領導力 (Leadership) |
4 |
4 |
4 |
3 |
3 |
3 |
3 |
4 |
1 |
團隊合做 (Teamwork) |
3 |
3 |
4 |
4 |
4 |
4 |
4 |
4 |
2 |
人際交往 (Inter-personal) |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
2 |
口才 (Oral Communications) |
3 |
3 |
4 |
4 |
4 |
4 |
4 |
4 |
2 |
寫做 (Written Communications) |
3 |
3 |
4 |
4 |
4 |
4 |
4 |
3 |
3 |
邏輯分析 (Logical Analysis) |
2 |
2 |
4 |
4 |
4 |
4 |
4 |
3 |
3 |
干係人管理 (Stakeholder Management) |
4 |
3 |
4 |
3 |
3 |
3 |
3 |
4 |
2 |
風險管理 (Risk Management) |
3 |
3 |
4 |
3 |
3 |
3 |
3 |
4 |
1 |
業務技能和方法 |
|||||||||
業務案例 (Business Case) |
3 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
2 |
業務情景 (Business Scenario) |
2 |
3 |
4 |
4 |
4 |
4 |
4 |
3 |
2 |
組織結構 (Organization) |
3 |
3 |
4 |
3 |
3 |
3 |
4 |
3 |
2 |
業務流程 (Business Process) |
3 |
3 |
4 |
4 |
4 |
4 |
4 |
3 |
2 |
戰略規劃 (Strategic Planning) |
2 |
3 |
3 |
3 |
3 |
3 |
4 |
3 |
1 |
預算管理 (Budget Management) |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
4 |
3 |
戰略願景 (Visioning) |
3 |
3 |
4 |
3 |
3 |
3 |
4 |
3 |
2 |
業務指標 (Business Metrics) |
3 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
3 |
業務文化 (Business Culture) |
4 |
4 |
4 |
3 |
3 |
3 |
3 |
3 |
1 |
遺留的投資 (Legacy Investments) |
4 |
4 |
3 |
2 |
2 |
2 |
2 |
3 |
2 |
業務功能 (Business Functions) |
3 |
3 |
3 |
3 |
4 |
4 |
4 |
3 |
2 |
企業架構技能 |
|||||||||
業務建模 (Business Modeling) |
2 |
2 |
4 |
3 |
3 |
4 |
4 |
2 |
2 |
業務流程設計 (Business Process Design) |
1 |
1 |
4 |
3 |
3 |
4 |
4 |
2 |
2 |
角色設計 (Role Design) |
2 |
2 |
4 |
3 |
3 |
4 |
4 |
2 |
2 |
組織結構設計 (Organization Design) |
2 |
2 |
4 |
3 |
3 |
4 |
4 |
2 |
2 |
數據設計 (Data Design) |
1 |
1 |
3 |
3 |
4 |
3 |
3 |
2 |
3 |
應用設計 (Application Design) |
1 |
1 |
3 |
3 |
4 |
3 |
3 |
2 |
3 |
系統集成 (Systems Integration) |
1 |
1 |
4 |
4 |
3 |
3 |
3 |
2 |
2 |
IT行業標準 (IT Industry Standards) |
1 |
1 |
4 |
4 |
4 |
4 |
3 |
2 |
3 |
服務設計 (Services Design) |
2 |
2 |
4 |
4 |
3 |
4 |
3 |
2 |
2 |
架構原則設計 (Architecture Principles Design) |
2 |
2 |
4 |
4 |
4 |
4 |
4 |
2 |
2 |
架構視圖和視角設計 (Architecture Views & Viewpoints Design) |
2 |
2 |
4 |
4 |
4 |
4 |
4 |
2 |
2 |
構建塊設計 (Building Block Design) |
1 |
1 |
4 |
4 |
4 |
4 |
4 |
2 |
3 |
解決方案建模 (Solutions Modeling) |
1 |
1 |
4 |
4 |
4 |
4 |
4 |
2 |
3 |
效益分析 (Benefits Analysis) |
2 |
2 |
4 |
4 |
4 |
4 |
4 |
4 |
2 |
業務交互 (Business Interworking) |
3 |
3 |
4 |
3 |
3 |
4 |
4 |
3 |
1 |
系統行爲 (Systems Behavior) |
1 |
1 |
4 |
4 |
4 |
4 |
3 |
3 |
2 |
項目管理 (Project Management) |
1 |
1 |
3 |
3 |
3 |
3 |
3 |
4 |
2 |
方案或項目管理技能 |
|||||||||
方案管理 (Program Management) |
1 |
2 |
3 |
3 |
3 |
3 |
3 |
4 |
2 |
項目管理 (Project Management) |
1 |
2 |
3 |
3 |
3 |
3 |
3 |
4 |
2 |
管理業務變動 (Managing Business Change) |
3 |
3 |
4 |
3 |
3 |
3 |
4 |
4 |
2 |
變動管理 (Change Management) |
3 |
3 |
4 |
3 |
3 |
3 |
4 |
3 |
2 |
價值管理 (Value Management) |
4 |
4 |
4 |
3 |
3 |
3 |
4 |
3 |
2 |
通用IT知識技能 |
|||||||||
IT應用開發方法和工具 (IT Application Development Methodologies & Tools) |
2 |
2 |
3 |
4 |
4 |
4 |
2 |
3 |
3 |
編程語言 (Programming Languages) |
1 |
1 |
3 |
4 |
4 |
4 |
3 |
2 |
3 |
代理應用 (Brokering Applications) |
1 |
1 |
3 |
3 |
4 |
4 |
3 |
2 |
3 |
信息消費應用 (Information Consumer Applications) |
1 |
1 |
3 |
3 |
4 |
4 |
3 |
2 |
3 |
信息提供應用 (Information Provider Applications) |
1 |
1 |
3 |
3 |
4 |
4 |
3 |
2 |
3 |
存儲管理 (Storage Management) |
1 |
1 |
3 |
4 |
4 |
2 |
2 |
2 |
3 |
網絡 (Networks) |
1 |
1 |
3 |
4 |
3 |
2 |
2 |
2 |
3 |
基於Web的服務 (Web-based Services) |
1 |
1 |
3 |
3 |
4 |
4 |
2 |
2 |
3 |
信息技術基礎設施 (IT Infrastructure) |
1 |
1 |
3 |
4 |
3 |
2 |
2 |
2 |
3 |
資產管理 (Asset Management) |
1 |
1 |
4 |
4 |
3 |
3 |
3 |
2 |
3 |
服務等級協議 (Service Level Agreements) |
1 |
1 |
4 |
4 |
3 |
4 |
3 |
2 |
3 |
系統 (Systems) |
1 |
1 |
3 |
4 |
3 |
3 |
2 |
2 |
3 |
商用現成品 (COTS) |
1 |
1 |
3 |
4 |
3 |
4 |
2 |
2 |
3 |
企業連續體 (Enterprise Continuums) |
1 |
1 |
4 |
4 |
4 |
4 |
4 |
2 |
3 |
遷移規劃 (Migration Planning) |
1 |
1 |
4 |
3 |
4 |
3 |
3 |
2 |
3 |
管理工具 (Management Utilities) |
1 |
1 |
3 |
2 |
4 |
4 |
2 |
2 |
3 |
基礎設施 (Infrastructure) |
1 |
1 |
3 |
4 |
3 |
4 |
2 |
2 |
3 |
IT技術技能 |
|||||||||
軟件工程 (Software Engineering) |
1 |
1 |
3 |
3 |
4 |
4 |
3 |
2 |
3 |
安全 (Security) |
1 |
1 |
3 |
4 |
3 |
4 |
3 |
2 |
3 |
系統和網絡管理 (Systems & Network Management) |
1 |
1 |
3 |
4 |
3 |
3 |
3 |
2 |
3 |
事務處理 (Transaction Processing) |
1 |
1 |
3 |
4 |
3 |
4 |
3 |
2 |
3 |
位置和目錄 (Location & Directory) |
1 |
1 |
3 |
4 |
4 |
3 |
3 |
2 |
3 |
用戶界面 (User Interface) |
1 |
1 |
3 |
4 |
4 |
4 |
3 |
2 |
3 |
國際化操做 (International Operations) |
1 |
1 |
3 |
4 |
3 |
3 |
2 |
2 |
2 |
數據交換 (Data Interchange) |
1 |
1 |
3 |
4 |
4 |
3 |
2 |
2 |
3 |
數據管理 (Data Management) |
1 |
1 |
3 |
4 |
4 |
3 |
2 |
2 |
3 |
圖形與圖像 (Graphics & Image) |
1 |
1 |
3 |
4 |
3 |
3 |
2 |
2 |
3 |
操做系統服務 (Operating System Services) |
1 |
1 |
3 |
4 |
3 |
3 |
2 |
2 |
3 |
網絡服務 (Network Services) |
1 |
1 |
3 |
4 |
3 |
3 |
2 |
2 |
3 |
通訊基礎設施 (Communications Infrastructure) |
1 |
1 |
3 |
4 |
3 |
3 |
2 |
2 |
3 |
法律環境 |
|||||||||
合同法 (Contract Law) |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
3 |
1 |
數據保護法 (Data Protection Law) |
3 |
3 |
4 |
3 |
3 |
3 |
3 |
2 |
2 |
採購法 (Procurement Law) |
3 |
2 |
2 |
2 |
2 |
2 |
2 |
4 |
1 |
詐騙 (Fraud) |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
1 |
商業法 (Commercial Law) |
3 |
3 |
2 |
2 |
2 |
2 |
3 |
3 |
1 |
在前面提到過的各類角色之中,最常常被提到的恐怕要數「企業架構師」這一角色了,而這也正是由於這一角色是整個企業架構建設的核心。雖然很是重要且常被掛在嘴角,但其在各行業中正式的定義卻鮮有所聞,而僅僅被看成一個跨越多個架構領域具備普遍實踐經驗和技能的角色。TOGAF對於企業架構師的工做描述總結爲以下幾點:
架構師的職責範圍貫穿了企業架構的整個生命週期,它開始於與客戶一塊兒理解其真正的需求,並在其後的過程當中負責將這些需求轉化爲可以對其進行實現的各項能力。此外,架構師還須要經過不一樣模型的展現來與客戶就其需求是如何被知足的進行溝通。因而可知,架構師與負責建設的團隊是不一樣的,他的主要目標在於理解如何才能知足客戶的須要,並就此爲負責建設的應用開發團隊或產品實現團隊提供設計決策文檔。與建設者相比,架構師須要保持必定水平的抽象性,而且一般其所使用的技能應該是概括性的,而建設者則更加註重於實現方面,其所採用的技能也每每是推斷性的。綜上所述,架構師的角色職能能夠總結以下:
在前面有關企業連續體的部分中咱們已經瞭解到,對於構建塊的實現可能會受其複雜性所限而須要對其解決方案的實施進行進一步劃分,而在這種狀況下就須要多種架構師的通力協做。從企業連續體的角度來講,架構師這一角色能夠分爲以下幾種,而且其中的每一種都具有着各自的關注點:
在本節的最後一部分,咱們來探討一下TOGAF對於企業架構師各方面特質的概括總結: