架構(gòu)師的修煉
神州信息
王保育
經(jīng)常會聽到,現(xiàn)在金融科技在發(fā)生巨變,開源的技術(shù)、云化的服務(wù)、標準化的架構(gòu)模式設(shè)計等,服務(wù)是由云廠商提供,開發(fā)是由服務(wù)組合或API 調(diào)用實現(xiàn),那么架構(gòu)師崗位或是在簡歷上印有架構(gòu)師頭銜的IT從業(yè)者的未來何在?架構(gòu)師在今后企業(yè)數(shù)字化轉(zhuǎn)型過程中還能發(fā)揮什么作用?
其實大數(shù)據(jù)也好、云計算也罷,層出不窮的FinTech發(fā)展實際上已經(jīng)遠遠超出了許多企業(yè)的預(yù)料和把控,在互聯(lián)網(wǎng)發(fā)展新時代,企業(yè)中誰來深刻地理解客戶需求變化和業(yè)務(wù)挑戰(zhàn),并正確地應(yīng)用創(chuàng)新科技來加以解決?誰來掌控企業(yè)業(yè)務(wù)架構(gòu)、信息架構(gòu)、技術(shù)架構(gòu)的總體框架,并負責實現(xiàn)跨企業(yè)內(nèi)外不同風(fēng)格的產(chǎn)品、技術(shù)和服務(wù)的集成,以及指導(dǎo)各領(lǐng)域?qū)<疫M行業(yè)務(wù)能力組件的詳細梳理、設(shè)計、開發(fā)、測試、部署和上線?
實際上,架構(gòu)師就是企業(yè)里適合專注在上述重要事項的最佳人選,架構(gòu)師用統(tǒng)一的方法論確保企業(yè)IT架構(gòu)的完整性, 他們可以從技術(shù)上負責企業(yè)IT-業(yè)務(wù)的關(guān)聯(lián)、FinTech的跟進和應(yīng)用、復(fù)雜項目的規(guī)劃和試點、架構(gòu)模型、開發(fā)、決策、風(fēng)險管理、資產(chǎn)創(chuàng)建和重用,并盡早地作出企業(yè)級的重要架構(gòu)決策以便整個團隊有章可循。架構(gòu)師通過了解系統(tǒng)當前狀態(tài), 關(guān)心問題進展, 并在其變?yōu)閲乐爻潭戎凹右越鉀Q, 通過廣泛的協(xié)作來推動企業(yè)的業(yè)務(wù)和技術(shù)進步。
稱職的架構(gòu)師就象好的登山向?qū)б粯?不光有更多的經(jīng)驗和技巧以教導(dǎo)其他成員更好地工作,同時始終堅守正確的企業(yè)架構(gòu)方向并領(lǐng)導(dǎo)團隊應(yīng)對企業(yè)真正棘手的業(yè)務(wù)和技術(shù)挑戰(zhàn)。那么架構(gòu)師如何修煉?架構(gòu)師崗位都有哪些專業(yè)領(lǐng)域方向?架構(gòu)師應(yīng)有怎樣的覺悟意識?架構(gòu)師要具備怎樣的知識架構(gòu)?架構(gòu)師構(gòu)建模型的核心重點是什么?架構(gòu)師的能力層級怎樣劃分?架構(gòu)師的職業(yè)發(fā)展如何進階?
1.
架構(gòu)師——領(lǐng)域方向
從架構(gòu)范圍和工作側(cè)重的不同來分析,架構(gòu)師崗位有三個大的架構(gòu)方向,企業(yè)架構(gòu)、業(yè)務(wù)架構(gòu)、方案架構(gòu)。企業(yè)架構(gòu)(Enterprise Architecture)聚焦企業(yè)范圍、宏觀戰(zhàn)略、架構(gòu)藍圖、業(yè)務(wù)、信息、應(yīng)用、技術(shù)架構(gòu)的總體框架;業(yè)務(wù)架構(gòu)(Business Architecture) 關(guān)注業(yè)務(wù)對象交互、業(yè)務(wù)場景、業(yè)務(wù)能力及其組成;方案架構(gòu)(IT Architecture)側(cè)重具體項目或應(yīng)用層面的功能架構(gòu)設(shè)計及其實現(xiàn)。支撐上述三大架構(gòu)方向的基礎(chǔ)是四大關(guān)鍵架構(gòu)領(lǐng)域能力,包括應(yīng)用架構(gòu)(Application Architecture)、信息架構(gòu)(Information Architecture)、技術(shù)架構(gòu)(Technology Architecture)和集成架構(gòu)(Integration Architecture),分別專注于架構(gòu)設(shè)計中的應(yīng)用功能、數(shù)據(jù)管理、技術(shù)支撐和系統(tǒng)集成。架構(gòu)師專業(yè)領(lǐng)域參考如下圖所示意,其中,一個復(fù)雜的方案架構(gòu)設(shè)計可能會需要四大架構(gòu)領(lǐng)域的不同專家的共同參與和支持。
2.
架構(gòu)師——職責所在
一個復(fù)雜的IT系統(tǒng)建設(shè),需要多種不同技能團隊的共同配合,就像下圖中一所房屋的搭建的卡通畫所示意,涉及到用戶、項目經(jīng)理PM、架構(gòu)師、工程師等,用戶提出需求,PM 控制工期、進度,工程師完成具體的開發(fā)和施工,那么架構(gòu)師應(yīng)該做什么?他/她應(yīng)該與客戶進行有效溝通,梳理清楚客戶需求,與項目經(jīng)理、技術(shù)專家和工程師進行討論,設(shè)計出可行的、滿足客戶需求的、同時又在預(yù)算范圍內(nèi)的架構(gòu)方案,并跟進方案實施和解決服務(wù)交付中出現(xiàn)的任何架構(gòu)相關(guān)問題。
這期間,架構(gòu)師扮演了方案設(shè)計者、技術(shù)領(lǐng)導(dǎo)者、方法論專家、團隊促進者、項目顧問等多重不同的角色,如下表所示意:
3.
架構(gòu)師——π型人才
以往大家談架構(gòu)師等專業(yè)人才的知識結(jié)構(gòu),大都提到“T型”結(jié)構(gòu),即只要擁有一定的經(jīng)驗和知識廣度,以及單一專長的領(lǐng)域和深度就可成功,現(xiàn)在看來,在當今高度競爭的數(shù)字化時代,只有一種專長的領(lǐng)域還是不夠的,可能很快會被別人迎頭趕上;另一方面,復(fù)雜的架構(gòu)設(shè)計需要多方面平衡的、兩個或更多領(lǐng)域的深度知識結(jié)構(gòu),因此,架構(gòu)師必須擁有“兩把刷子”,進化到所謂的“π型員工”,培養(yǎng)出多項專業(yè)才能,才能讓自己兩只腳穩(wěn)穩(wěn)站立在職場之上。
所謂“π型人才”, 上面的一橫是指員工本身知識廣博、經(jīng)驗豐富,“π”字下面那兩豎指至少擁有兩種或更多專業(yè)技能,并能將多門知識融會貫通的復(fù)合能力,它可能逐漸會成為21世紀架構(gòu)人才的標準。“π型人才”對架構(gòu)師知識的深度和廣度都提出了很高要求,如下圖所示意。
廣度層面: 不同范圍的經(jīng)驗、宏觀的視角眼界、知識廣博的通才、善于吸取不同意見、對不同議題保持最新的理解、了解如何學(xué)習(xí)和過濾、商業(yè)和技術(shù)的直覺和感知、很好的人脈。
深度層面: 業(yè)務(wù)和技術(shù)某些領(lǐng)域相當?shù)木詈椭?、保持跟進最前沿的科技業(yè)務(wù)發(fā)展、專家級以上的技能、實際的技術(shù)應(yīng)用和最佳實踐經(jīng)驗、社區(qū)或圈子中的公認技術(shù)地位、眾人經(jīng)常請教、聽取觀點的專家、不斷學(xué)習(xí)保持專長技能的更新。
4.
架構(gòu)師——構(gòu)建模型
對于架構(gòu),大家并不陌生, 例如常見的建筑架構(gòu),它是指用建筑材料(石材、木材或鋼筋水泥)搭建的一種用于居住和使用的物體結(jié)構(gòu), 那么IT架構(gòu)有什么不同之處?
行業(yè)共識的IT架構(gòu)就是系統(tǒng)的結(jié)構(gòu)或結(jié)構(gòu)集合, 由軟件和硬件元素組成,包括它們的外部屬性及相互關(guān)系。架構(gòu)不僅是系統(tǒng)結(jié)構(gòu)、組件、接口交互的簡單描述, 它也是一個社交性的構(gòu)件,因為它不但依賴于軟件,而且依賴于相關(guān)方對其系統(tǒng)組成的重要事情的共同理解。
部分企業(yè)過去對IT架構(gòu)重視不夠,認為架構(gòu)就是幾張藍圖或Word 文檔、架構(gòu)跟基礎(chǔ)設(shè)施是一碼事、架構(gòu)與設(shè)計差不多。其實,架構(gòu)包含結(jié)構(gòu)、組成、接口,它比結(jié)構(gòu)內(nèi)涵豐富,因為它有動態(tài)特征,例如架構(gòu)決策;架構(gòu)不等同于簡單的結(jié)構(gòu),它有嚴格的思考邏輯和活動產(chǎn)出物;架構(gòu)和設(shè)計不同,架構(gòu)創(chuàng)建結(jié)構(gòu),設(shè)計細化內(nèi)容。架構(gòu)更宏觀,描述的是結(jié)構(gòu), 定義了設(shè)計邊界, 設(shè)計更具體,描述并實現(xiàn)了架構(gòu)組成元素的內(nèi)部行為和細節(jié);架構(gòu)設(shè)置了設(shè)計的大背景并驅(qū)動開發(fā),設(shè)計通過創(chuàng)建架構(gòu)元素的內(nèi)部表現(xiàn)行為并增加架構(gòu)定義關(guān)系的額外細節(jié)來實現(xiàn)系統(tǒng)架構(gòu)的目標;架構(gòu)也不簡單是基礎(chǔ)設(shè)施,基礎(chǔ)設(shè)施是架構(gòu)重要的和整合的一部分, 但是架構(gòu)比基礎(chǔ)設(shè)施涉及更多內(nèi)容,狹隘的架構(gòu)視角會導(dǎo)致在設(shè)計中不能有效地解決問題。
1995 年, Rational公司的Philippe Kruchten 發(fā)表了著名的軟件架構(gòu)"4+1"模型, Architectural Blueprints—The “4+1” View Model of Software Architecture, 描述了軟件型系統(tǒng)架構(gòu)如何基于多個并行視角來滿足不同干系人需求, 后來有了IEEE 1471推薦標準,之后IBM 公司擴展了視圖、視角框架, 推動了架構(gòu)模型設(shè)計的進步,架構(gòu)模型的最佳實踐如下:
●模型:是現(xiàn)實的簡化和系統(tǒng)的抽象, 用以更好地理解要創(chuàng)建的系統(tǒng);
●視角:視角是從干系人的關(guān)心出發(fā), 提供構(gòu)建和使用視圖的習(xí)慣規(guī)格,定義用于構(gòu)
建架構(gòu)描述的模型、術(shù)語和技巧;
●視圖:整個系統(tǒng)從某個關(guān)注角度的一個表達,定義一個或多個按照視角中規(guī)則創(chuàng)建的架構(gòu)描述,視圖有時也被稱為觀點。
一個模型通過一個或多個視圖來記錄和表達, 一個視角從一組干系人的具體要求出發(fā), 給出了解決干系人顧慮的要求和規(guī)格,一個視圖遵從這個視角并將總體系統(tǒng)從不同關(guān)注點的角度進行表達, 模型、視圖、視角的關(guān)系如下圖所示:
架構(gòu)視圖與視角的模型途徑可能聽上去有些抽象,為便于理解,我們舉例來看復(fù)雜的建筑設(shè)計是如何實現(xiàn)的,例如,北京奧運會場館鳥巢建筑,其中規(guī)劃、運行、環(huán)保、建設(shè)等許多部門都對場館建筑提出了不同要求,對于這些觀點要求,我們通過視角的規(guī)格描述來要求整個系統(tǒng)的設(shè)計、建設(shè)等部門做到一一滿足,也就是設(shè)計系統(tǒng)模型的不同視圖要遵從上述環(huán)境、造型、燈光、結(jié)構(gòu)視角的要求,并且還要綜合考慮這些不同視角要求之間的兼容和協(xié)調(diào),這其實就是模型-視圖-視角架構(gòu)途徑在現(xiàn)實生活中的一個實際應(yīng)用,如下圖所示:
同樣IT架構(gòu)模型也可以從不同方式和角度來觀察,所得到的結(jié)果依賴于要表達的視角和上下文,并因干系人而變。觀察架構(gòu)時,將架構(gòu)視角分為基本視角(每行)和交叉視角(每列), 基本視角描述可以觀察的事物類型和記錄方式,交叉視角控制實際看到的內(nèi)容,它是描述投射到基本視角的過濾器,記錄基本視圖的工件描述,其中干系人的顧慮決定交叉視角, 橫向的基本視角(行)和縱向的交叉視角(列)相交有很多交叉處, 他們表達了架構(gòu)設(shè)計的特別關(guān)注并提供對解決方案的洞察,同時也是架構(gòu)設(shè)計不同視圖要達到的目標,包括系統(tǒng)會做什么?系統(tǒng)如何去做?以及系統(tǒng)如何被驗證? 如下圖所示意。具體實現(xiàn)時是通過架構(gòu)方法論的過程步驟去完成用例模型、系統(tǒng)關(guān)系、組件模型、運行模型等架構(gòu)工件設(shè)計。
5.
架構(gòu)師——進階之道
常去星巴克的人們可能看到,星巴克員工的圍裙常見有4種顏色:綠色、黑色、咖啡色、紫色,如下圖所示意,顯然這些顏色都有各自的意義,并不是所有員工都能穿黑圍裙或者特殊的紅圍裙。這其實是星巴克內(nèi)部的一種等級制度,代表了初級、進階、高級、特殊高級,是需要通過進修和比賽等過程才能晉級的。
架構(gòu)師也同樣有不同的能力等級劃分,包括初級、中級、高級和大咖級,差別如下:
●大咖級 IT 架構(gòu)師 – 思想領(lǐng)袖級 (Executive IT Architect)
■具有創(chuàng)建集成 IT 解決方案以響應(yīng)客戶大型復(fù)雜項目需求的綜合能力
■具有行業(yè)影響力,幫助公司業(yè)務(wù)戰(zhàn)略發(fā)展并帶動高、中級架構(gòu)師的成長
■具有業(yè)務(wù)技術(shù)創(chuàng)新能力,成為國內(nèi)外公認的技術(shù)領(lǐng)導(dǎo)者并為行業(yè)發(fā)展做出貢獻
●高級 IT 架構(gòu)師 – 專業(yè)級 (Senior IT Architect)
■具有作為 IT 架構(gòu)師獨立實踐的能力和生產(chǎn)經(jīng)驗
■在解決方案設(shè)計和交付項目中擔任首席 IT 架構(gòu)師角色
■架構(gòu)設(shè)計獲得該專業(yè)高級成員的認可,并可以指導(dǎo)中、低級架構(gòu)師工作
●中級 IT 架構(gòu)師 – 經(jīng)驗級 (Associate IT Architect)
■具有必備的所有架構(gòu)師所需要的核心能力
■開始積極實踐 IT 架構(gòu)師角色的一些重點架構(gòu)設(shè)計
■有時還需要一些導(dǎo)師或架構(gòu)團隊負責人的部分指導(dǎo)
●初級IT 架構(gòu)師 – 入門級 (Junior IT Architect)
■具有一個或多個技術(shù)或產(chǎn)品領(lǐng)域的技術(shù)技能
■具有IT架構(gòu)師獨立實踐所需的基礎(chǔ)架構(gòu)能力
■通常在導(dǎo)師或架構(gòu)團隊負責人的指導(dǎo)下工作
架構(gòu)師的成長同樣是需要時間的打磨和實踐的積累,有時也需要一些難得的機緣和修煉氛圍,包括好的客戶、好的項目、好的導(dǎo)師、好的團隊等等。架構(gòu)師的修煉是個漫長的過程,起步階段,架構(gòu)師需要有堅實的理論基礎(chǔ),包括架構(gòu)設(shè)計方法論、項目管理、咨詢表達、行業(yè)知識等,主要可以通過課程培訓(xùn)去學(xué)習(xí);發(fā)展階段,架構(gòu)師需要方法論實踐和架構(gòu)設(shè)計的生產(chǎn)檢驗,主要可以通過項目實戰(zhàn)(On Job Training)去提高;提升階段,架構(gòu)師需要呈現(xiàn)技術(shù)領(lǐng)導(dǎo)力、方案創(chuàng)新力和行業(yè)影響力,主要通過導(dǎo)師指導(dǎo)(Mentoring)去完成,架構(gòu)師進階途徑如下圖所示意:
綜上所述,架構(gòu)師在企業(yè)扮演著重要角色并在一定程度上影響甚至是決定著數(shù)字化轉(zhuǎn)型的進度和成敗。金融科技為企業(yè)帶來了巨大機遇和挑戰(zhàn),如此龐大而快速發(fā)展的FinTech架構(gòu)元素,企業(yè)如何選擇和更好地利用,架構(gòu)師的工作任重而道遠。
一個優(yōu)秀的架構(gòu)師需要秉持開放的學(xué)習(xí)心態(tài),包括遵循行業(yè)開放標準,例如企業(yè)架構(gòu)(TOGAF)、銀行業(yè)務(wù)架構(gòu)(BIAN)、標準建模(UML、ArchiMate)等,而不是閉門造車和孤芳自賞。架構(gòu)師要幫助企業(yè)把所有相關(guān)的IT元素搭建一個強壯的IT系統(tǒng),完成功能和非功能需求,他們要把握方案的靜態(tài)結(jié)構(gòu),包括系統(tǒng)的形式、架構(gòu)組成及這些元素如何組成一個整體,同時更要掌控系統(tǒng)的動態(tài)結(jié)構(gòu),包括系統(tǒng)如何實際工作、如何互相交互滿足系統(tǒng)需求等。
一個優(yōu)秀的架構(gòu)師要持續(xù)堅持自我修煉及頓悟,不斷克服自身的一些缺點,例如:專注自己擅長領(lǐng)域而忽略其他方面; 相信技術(shù)萬能, 容易被技術(shù)所迷惑; 追求完美,不停的設(shè)計變動,不能在范圍、時間、資源之間取得平衡; 不習(xí)慣重用,認為自己能做一切等等,這樣架構(gòu)師才能適應(yīng)數(shù)字化時代的發(fā)展和不斷進步,真正做到知行合一、宏觀和微觀相結(jié)合及系統(tǒng)化思考,架構(gòu)師能力地圖參考如下圖所示意:
ThoughtWorks 首席科學(xué)家 Martin Fowler 在其著名的 “誰需要架構(gòu)師”《who needs an architect?》一文中提到了一個令人印象深刻的觀點:與實體建筑不同, 軟件不受制于物理的限制, 軟件受限于想象力、設(shè)計和組織,簡單來講,軟件受限于人的特性,而非世界的特性, “我們已經(jīng)遇到了敵人,他就是我們自己” 。
參考文獻
1.企業(yè)架構(gòu)-TOGAF:www.togaf.org
2.業(yè)務(wù)架構(gòu)-BIAN: www.bian.org
3.IT 架構(gòu)-IBM: 《企業(yè)數(shù)字化轉(zhuǎn)型架構(gòu)》王保育著, 電子工業(yè)出版社
4.銀行模型-ArchiMate: 《銀行業(yè)架構(gòu)網(wǎng)絡(luò)(BIAN)的ArchiMate®建模符號》王保育譯,The Open Group and BIAN