|
在技術(shù)圈,架構(gòu)師一方面是已經(jīng)被說爛的職務(wù),另一方面也是讓人困擾的職位,行業(yè)發(fā)展到現(xiàn)在似乎人人都是架構(gòu)師,各種架構(gòu)圖絢麗多彩漫天飛舞,同時(shí)永遠(yuǎn)有人在抱怨架構(gòu)太爛、坑太多。 那么到底什么是架構(gòu)師?如果有一天把你丟到架構(gòu)師的位置上你會(huì)怎么做? 做什么呢?今天,阿里國(guó)際技術(shù)事業(yè)部的無葉,與大家坐一起,聊一聊。 一、兩種架構(gòu)師 工作五年以上的童鞋,或多或少都會(huì)有這樣的經(jīng)歷:在小團(tuán)隊(duì)或者項(xiàng)目中承擔(dān)非明確的架構(gòu)師職責(zé),我們做項(xiàng)目或者產(chǎn)品的關(guān)鍵設(shè)計(jì)和實(shí)施;負(fù)責(zé)產(chǎn)品基礎(chǔ)設(shè)施;引入新的理念,框架;解決團(tuán)隊(duì)中的復(fù)雜問題;在團(tuán)隊(duì)成員中享有較高的聲譽(yù);被老板認(rèn)為是團(tuán)隊(duì)的關(guān)鍵人物。 如果有一天我們決定(或者其他原因)去做一個(gè)專職架構(gòu)師,那么這兩者會(huì)有什么區(qū)別呢?是否只是之前的方式的延續(xù)就足夠? 我把第一種狀態(tài)稱之為“兼職架構(gòu)師”,因?yàn)樘幱谶@種狀態(tài)下的同學(xué)大部分的時(shí)候擔(dān)當(dāng)開發(fā)人員、PM的角色,只有在小部分時(shí)間承擔(dān)了架構(gòu)師的部分角色。做的絕大部分事情是自己可控的,自己做架構(gòu)自己做實(shí)施或者在小團(tuán)隊(duì)中推行。而后一種“專職架構(gòu)師”則面臨的是:他們不負(fù)責(zé)具體的業(yè)務(wù)系統(tǒng),而又對(duì)所有的系統(tǒng)負(fù)責(zé),他們也很少直接負(fù)責(zé)項(xiàng)目,但是職責(zé)卻要求他們必須對(duì)項(xiàng)目要有提前把控,他們面對(duì)的是更大的團(tuán)隊(duì),更大的問題域。 當(dāng)然每一個(gè)人對(duì)是否應(yīng)該存在“專職架構(gòu)師或團(tuán)隊(duì)”都有自己的想法,從阿里的歷史來看單獨(dú)的架構(gòu)團(tuán)隊(duì)也是分分合合。在這里不去探討,我們關(guān)心的是如果有,可以怎么做。 二、專職架構(gòu)師的職責(zé) 首先要弄清楚的是專職架構(gòu)師的職責(zé)到底是什么? 微軟對(duì)架構(gòu)師有一個(gè)分類:企業(yè)架構(gòu)師EA(Enterprise Architect)、基礎(chǔ)結(jié)構(gòu)架構(gòu)師IA(Infrastructure Architect)、特定技術(shù)架構(gòu)TSA(Technology-Specific Architect)和解決方案架構(gòu)師SA (Solution Architect)。這個(gè)分類是按照架構(gòu)師專注的領(lǐng)域不同而劃分。 在阿里除了EA之外的領(lǐng)域大家可能會(huì)同時(shí)涉及到,只是不同的時(shí)期偏重點(diǎn)不一樣。比如前面說的“兼職架構(gòu)師”可能偏重SA?專職架構(gòu)師偏向IA+TSA。另外一個(gè)角度專職架構(gòu)師更多考慮問題域和相應(yīng)的系統(tǒng)架構(gòu),而“兼職架構(gòu)師”更多的是產(chǎn)品的系統(tǒng)架構(gòu),具體來說我認(rèn)為專職架構(gòu)師重要的職責(zé)如下: 職責(zé)一:全局的技術(shù)規(guī)劃 架構(gòu)師第一個(gè)最重要的職責(zé)是技術(shù)規(guī)劃,架構(gòu)師最重要的產(chǎn)出是架構(gòu),架構(gòu)就是藍(lán)圖,就是阿里常說的一張圖。畫藍(lán)圖就是做“全局的技術(shù)規(guī)劃”,這張圖上有什么? 沒有什么?什么時(shí)候有?什么時(shí)候沒有?當(dāng)你嘗試去畫圖的時(shí)候一連串的問題拷打著你。對(duì)于一個(gè)架構(gòu)師的心力和體力都是很大的考驗(yàn)。只有這張圖非常清晰明確才能指引整個(gè)團(tuán)隊(duì)在同一個(gè)時(shí)間向同一個(gè)方向前進(jìn)。 為了這張圖你必須和業(yè)務(wù)緊密溝通,你必須有對(duì)應(yīng)的技術(shù)深度和廣度,在選型上有自己的方法論,敢于做出判斷和決策。 另外一個(gè)重點(diǎn)是全局。全局我的理解是全面+格局,全面就是你的技術(shù)規(guī)劃包含各個(gè)方面的,在所有的領(lǐng)域都有明確的指引,所以這張圖本質(zhì)是一系列的圖的集合;格局上不要只關(guān)注短期利益,更多關(guān)注長(zhǎng)期利益。不止關(guān)注團(tuán)隊(duì)利益,更多從公司角度出發(fā),只有這樣長(zhǎng)期才能為團(tuán)隊(duì)帶來更多的成長(zhǎng)。 職責(zé)二:統(tǒng)一的方法&規(guī)范&機(jī)制 架構(gòu)師第二個(gè)重要的職責(zé),我們不僅僅要提供藍(lán)圖,還要提供配套的方法論&規(guī)范&機(jī)制來保障有序進(jìn)行。藍(lán)圖確保整個(gè)團(tuán)隊(duì)在同一個(gè)時(shí)間向同一個(gè)方向前進(jìn)。規(guī)范確保前進(jìn)是有序的。為了有序,你必須拆解你的圖,縱向、橫向、功能內(nèi)聚等等緯度拆解到權(quán)責(zé)清晰對(duì)等。這是一項(xiàng)相對(duì)復(fù)雜且繁瑣的過程。 職責(zé)三:完備的基礎(chǔ)構(gòu)建 除了藍(lán)圖確保整個(gè)團(tuán)隊(duì)在同一個(gè)時(shí)間向同一個(gè)方向前進(jìn)、規(guī)范確保前進(jìn)的有序的、我們還需要提供強(qiáng)大的武器庫,基礎(chǔ)構(gòu)建的完備程度決定你的團(tuán)隊(duì)裝備是小米+步槍,還是飛機(jī)+大炮。完備的基礎(chǔ)構(gòu)建是否全部作為實(shí)際架構(gòu)的職責(zé),可以因情況而定,比如是否有實(shí)體的架構(gòu)組。但是架構(gòu)對(duì)此應(yīng)當(dāng)負(fù)責(zé)。 職責(zé)四:落地的規(guī)劃才是架構(gòu) 如果規(guī)劃不能落地就是傳說中的PPT架構(gòu)師,我甚至覺得這是對(duì)專職架構(gòu)師最大的挑戰(zhàn),前面的幾個(gè)職責(zé)更加偏向硬實(shí)力,而這一個(gè)更多的是軟實(shí)力的體現(xiàn)。專職的架構(gòu)師如果不去關(guān)注落地的話慢慢就會(huì)架空,變成PPT架構(gòu)師,那差不多就game over了。 三、專職架構(gòu)師的權(quán)利 正如前面說到對(duì)架構(gòu)師最大的挑戰(zhàn)是落地層面,實(shí)際上“完備的基礎(chǔ)構(gòu)建”已經(jīng)涉及到落地層面的事情,但是和完備的基礎(chǔ)構(gòu)建不同的是整體架構(gòu)的落地涉及到方方面面,面臨是更多影響因素:和業(yè)務(wù)的關(guān)系、組織結(jié)構(gòu)、權(quán)責(zé)定義等等。 所以有人從“架構(gòu)師的權(quán)利和職責(zé)”的角度出發(fā)推論誰合適做架構(gòu)師。得出的結(jié)論是一個(gè)組織的領(lǐng)導(dǎo)者。因?yàn)橹挥兴拍苷{(diào)動(dòng)、協(xié)調(diào)組織。也有人認(rèn)為架構(gòu)師既不能完全負(fù)責(zé)技術(shù)團(tuán)隊(duì),也不能完全游離在技術(shù)團(tuán)隊(duì)之外。因?yàn)樨?fù)責(zé)容易屁股決定腦袋,游離就只能靠個(gè)人聲望值吃飯了。 如正架構(gòu)分類中EA的存在,很多領(lǐng)導(dǎo)者也確實(shí)身體力行的踐行架構(gòu)師的職責(zé),然而精力終有限。實(shí)際上更多是平衡的過程。當(dāng)然最高境界是影響力。 四、專職架構(gòu)師的考核 針對(duì)前面的職責(zé)怎么考核?或者怎么設(shè)定自己目標(biāo)?雖然說在不同的團(tuán)隊(duì)階段,不同外在環(huán)境,不同的權(quán)責(zé)情況下不一樣,但是在結(jié)果導(dǎo)向的背景下落地肯定是架構(gòu)師重要的考核指標(biāo)之一。 考核一:全局的技術(shù)規(guī)劃 相比其他幾項(xiàng)這一項(xiàng)是最重要又最難評(píng)價(jià)的,技術(shù)規(guī)劃的好壞、全面性、前瞻性都是定性的描述,如何指引我們做出一個(gè)理性的評(píng)價(jià)呢?回歸到本質(zhì)上“技術(shù)規(guī)劃”只是一個(gè)指路燈,團(tuán)隊(duì)中每一個(gè)人能不能看到“指路燈”就到達(dá)目的地是指路燈價(jià)值的體現(xiàn)。所以無論是唯價(jià)值論還是唯口碑論衡量的其實(shí)是同一個(gè)東西。 考核二:統(tǒng)一的方法&規(guī)范&機(jī)制 這一項(xiàng)的考核就相對(duì)容易多了,無論是業(yè)界還是每一個(gè)架構(gòu)師本身都有自己的一套方法,所以只需關(guān)注這些東西對(duì)應(yīng)的產(chǎn)出。 考核三:完備的基礎(chǔ)構(gòu)建 我認(rèn)為在大公司,大部分重量級(jí)的基礎(chǔ)構(gòu)建已經(jīng)是非常完備,對(duì)于架構(gòu)師來說更難的不是從0到1,而是克制、邊界和從1到2的過程。對(duì)于架構(gòu)師也好、技術(shù)團(tuán)隊(duì)也好“從0到1”總是充滿了吸引力,加上技術(shù)人的特征,大公司技術(shù)史上永遠(yuǎn)不缺少重復(fù)的輪子,創(chuàng)建這些輪子成就了一代一代的同學(xué),拆除這些輪子再成就了一代的同學(xué),所以克制尤為重要;有了克制跨團(tuán)隊(duì)的合作就尤為重要,對(duì)應(yīng)的有兩個(gè)點(diǎn)一是清晰邊界,二是共建。 考核四:落地的規(guī)劃才是架構(gòu) 雖然說落地是非常不控的事情,但是考核卻很容易的:做到就是做到、沒有就是沒有、質(zhì)量好就是質(zhì)量好,標(biāo)準(zhǔn)非常清晰。過程中只需要緊跟拆解的事情結(jié)合實(shí)際的組織和業(yè)務(wù)情況做出決策。 五、實(shí)施的一些想法 對(duì)現(xiàn)階段團(tuán)隊(duì)的情況來說,我認(rèn)為第一是建立“架構(gòu)語言”,有了語言才有溝通協(xié)作的基礎(chǔ),所謂的“架構(gòu)語言”并不是什么新的東西,而是產(chǎn)品的業(yè)務(wù)架構(gòu),用例和領(lǐng)域模型;研發(fā)的應(yīng)用架構(gòu),組件和時(shí)序圖; 運(yùn)維的部署架構(gòu)等等。 第二是建立“認(rèn)同體”,無論是通過技術(shù)能力、知識(shí)傳遞、領(lǐng)域組織等各種方式逐漸形成“認(rèn)同體”,且在其中形成架構(gòu)體系對(duì)應(yīng)的人員體系。 第三永遠(yuǎn)做服務(wù)者,架構(gòu)師對(duì)應(yīng)的客戶是團(tuán)隊(duì)的每一個(gè)成員,必須始終保持客戶第一的心態(tài)。架構(gòu)師存在的目的是成就研發(fā)團(tuán)隊(duì)每一個(gè)同學(xué),我們提供必要的平臺(tái)、服務(wù)和空間,然后彼此成就。 最后借用一句話:從無到有的是架構(gòu);從表到里的是抽象;從粗到細(xì)的是設(shè)計(jì)。大家對(duì)架構(gòu)師有哪些看法,也歡迎在留言區(qū)留言,我們一起交流討論。 |
|
|