架構(gòu)師必備的七種能力
架構(gòu)師,這個職業(yè)在大部分人眼中,認為他們在IT領(lǐng)域無所不能,不但擁有高超的架構(gòu)決策能力,還精通各項主流技術(shù)領(lǐng)域。
在發(fā)生問題時,他們能夠快速診斷故障并解決,在推進項目時,他們能夠精準掌控各方面信息來源。
企業(yè)對架構(gòu)師的期望可能會更高,認為他們是能夠推動整個科技文化轉(zhuǎn)型的關(guān)鍵要素,是能夠調(diào)動各個科技團隊融合的核心角色。
不知在你們心目中,架構(gòu)師的形象是怎樣的,是“超級英雄”還是“救世主”,但至少從我這二年對架構(gòu)師的理解和認識而言,他們可能都不是。
甚至他們僅僅是一個聽上去比較高端的職業(yè)罷了,只不過是被大多數(shù)人給神化了,導(dǎo)致那些對架構(gòu)師并不了解的人們,對他們產(chǎn)生了誤解。
所以,今天就和大家聊一下,在我的心目中,架構(gòu)師到底是怎樣的人物,他們的價值體現(xiàn)在哪里,以及他們應(yīng)具備哪些基礎(chǔ)能力。
決策能力
架構(gòu)決策,就是在不確定的情況下對架構(gòu)設(shè)計做出決定,而架構(gòu)設(shè)計是架構(gòu)師最關(guān)鍵的工作,那么毫無疑問,想成為一名優(yōu)秀的架構(gòu)師,那得先成為一名優(yōu)秀的決策者。
架構(gòu)決策前一般都會經(jīng)過深思熟慮,從而在面對諸多不確定因素的情況下,能夠做出最佳的架構(gòu)決策,但有一些架構(gòu)師在做出架構(gòu)決策前,會陷入無休止的糾結(jié)中。
殊不知,這不但沒有快速解決問題,甚至還可能會產(chǎn)生額外的隱形成本,并且在某一時刻后,這些隱形成本將會發(fā)酵,并引發(fā)風(fēng)險及問題。
所謂三思而后行,并非適用于任何決策,至少在架構(gòu)決策上并不完全適用,對于那些可逆的決策,即便沒有十足的把握,架構(gòu)師也應(yīng)當(dāng)機立斷。
Martin Fowler曾提出過這樣的觀點:“架構(gòu)師最重要的任務(wù)之一就是消除軟件設(shè)計中那些不可逆的決策。”你沒聽錯,架構(gòu)師應(yīng)把更多的精力花費在判斷決策是否可逆,若不可逆,則通過延遲決策,來爭取更多的時間去消除它。
要知道,架構(gòu)決策有時候需要與時間進行賽跑。因為,往往“最佳時刻”的架構(gòu)決策比“最佳”的架構(gòu)決策更具有價值。
溝通能力
架構(gòu)決策需要適量的信息,但這些信息從來就不會從天而降,架構(gòu)師應(yīng)當(dāng)快速識別架構(gòu)決策可能會影響的相關(guān)利益方,并與他們充分溝通來獲取信息。
大部分傳統(tǒng)企業(yè)的架構(gòu)師,經(jīng)常會端坐在象牙塔中,繪制那精美絕倫的架構(gòu)高階藍圖,而面對架構(gòu)決策,僅憑借別人的成功經(jīng)驗,草率的做出架構(gòu)決策。
優(yōu)秀的架構(gòu)師應(yīng)當(dāng)拋開頭銜,放下姿態(tài),不斷游走在相關(guān)利益方之間,他們可能是業(yè)務(wù)人員,或者是研發(fā)人員,甚至是高層領(lǐng)導(dǎo),從而去尋找輔助架構(gòu)決策的線索。
通過溝通,架構(gòu)師可以充分洞察各方背后真正的意圖,并站在不同的客觀視角,透徹分析不同架構(gòu)決策給相關(guān)利益方所帶來的優(yōu)劣勢。
通過溝通,架構(gòu)師可以解決他們之間語言障礙,同時也給對方帶來一些他人的見解,并重新喚醒對方的思考和創(chuàng)造能力。
架構(gòu)師的溝通能力不僅僅只是簡單的信息傳遞和反饋,它更重要的作用是能夠產(chǎn)生一種連接,這種連接可以穿透不同人中間所設(shè)置的屏障,并設(shè)法幫助他們達成共識。
取舍能力
快速架構(gòu)決策固然重要,但快速并不代表盲目,架構(gòu)師仍然需要判斷哪些方面對他們當(dāng)下而言更重要或更有價值。
既要、又要、還要只可能發(fā)生在虛擬世界,在現(xiàn)實世界中他們需要舍小取大,適可而止,從而做出合理的架構(gòu)決策,而其中必然需體現(xiàn)出架構(gòu)師的取舍能力。
剛從研發(fā)轉(zhuǎn)為架構(gòu)的入門架構(gòu)師,他們往往會花費更多的精力投入在技術(shù)層面,因為,他們堅持崇尚性能優(yōu)越、健壯性高的應(yīng)用系統(tǒng)。
這本身并沒有錯,但不應(yīng)盲目追捧,并脫離現(xiàn)實情況,他們應(yīng)該縱觀全局,并在技術(shù)、成本、業(yè)務(wù)等之間徘徊,在盡可能短的時間內(nèi),尋找出它們的平衡支點。
架構(gòu)決策的背后是不斷取舍的過程,而取舍的目的是實現(xiàn)架構(gòu)決策的合理。由此可見,取舍能力對于架構(gòu)決策的重要性。
取舍能力還能夠充當(dāng)溝通能力與決策能力之間的一種協(xié)調(diào)器,從而實現(xiàn)在有限的資源下,能夠讓相關(guān)方的利益總和最大化。
認知能力
同樣的信息,不同人的理解可能會產(chǎn)生截然不同的結(jié)果,這取決于每個人的認知能力,而這種能力可以幫助架構(gòu)師如何正確的取舍及決策。
雷達里奧曾說過:“如果你覺得過去的自己能力差,說明經(jīng)過積累與不斷的迭代,現(xiàn)在的你比過去的你有所提高。”
聽上去似乎很奇怪,但這其實是一種認知能力的提升,是從認知第一階段“不知道自己不知道”邁向第二階段“知道自己不知道”的一種體現(xiàn)。
提升認知能力的捷徑是學(xué)習(xí),但學(xué)習(xí)并不是盲目的,它需要帶有一定目的性,例如:碰到的技術(shù)問題、架構(gòu)決策所需知識,這樣才能更好的提升學(xué)習(xí)效率及記憶效果。
隨著架構(gòu)師認知能力的提升,不但能讓他們在面對事物時,看清事物全貌,并從多維度視角去看待問題,還能讓架構(gòu)師突破自身瓶頸,提升上限空間。
架構(gòu)師不但需要從“不知道自己不知道”向“知道自己不知道”邁進,還要再向“知道自己知道”跨越,從而做出更正確的架構(gòu)決策。
實踐能力
架構(gòu)師通過決策,讓利益相關(guān)方達成一致,并明確工作目標,但他們的工作只是剛剛開始,還需要通過實踐來觀察結(jié)果,從而來驗證架構(gòu)決策是否正確。
不少企業(yè)中的架構(gòu)師都被賦予了架構(gòu)決策權(quán),他們只負責(zé)給出決策結(jié)論,不負責(zé)或輔助產(chǎn)研團隊落地實施。這種有權(quán)無責(zé)的反模式并不提倡。
架構(gòu)師需要對架構(gòu)決策承擔(dān)責(zé)任,他們需要確保當(dāng)前的行動與當(dāng)時的決策,始終保持一致,否則可能會導(dǎo)致結(jié)果與預(yù)期相差甚遠,甚至還將會影響后續(xù)決策的有效性。
架構(gòu)師需要時刻觀察實踐所帶來的影響,從而不斷對架構(gòu)決策進行求證,及時發(fā)現(xiàn)問題,盡早調(diào)整方向,避免更多損失,從而形成一個良性循環(huán)。
要知道,世界上再杰出的架構(gòu)師,也只能盡量保證大部分架構(gòu)決策的正確性,但無法保證永遠正確。
架構(gòu)師不是無所不知的“先知”,但他們可以通過不斷的實踐來降低架構(gòu)決策最終失敗的概率。實踐才是檢驗真理的唯一標準。
傳道能力
架構(gòu)實踐的成功經(jīng)驗,將是一種財富或資產(chǎn),它不應(yīng)該被當(dāng)作傳家寶進行封存,而是應(yīng)該將它們進行傳承,從而降低企業(yè)中的架構(gòu)決策風(fēng)險。
因此,優(yōu)秀的架構(gòu)師不僅是一名優(yōu)秀的決策者,他們還應(yīng)當(dāng)時刻轉(zhuǎn)換身份,充當(dāng)一名合格的教練或布道師。
公開及分享是架構(gòu)師傳道的基本手段,在內(nèi)部他們可以頒布適用于內(nèi)部的規(guī)范指南,及開展培訓(xùn)課程,在外部,他們可以發(fā)表學(xué)術(shù)論文,及與同行業(yè)進行學(xué)術(shù)交流。
傳道還能增加架構(gòu)師的影響力,提升他人對架構(gòu)師的信任度,使架構(gòu)決策前的溝通變得更有效,提升他人對架構(gòu)師的認可度,使架構(gòu)決策后的結(jié)論變得更有說服力。
架構(gòu)師一個人的成功并不稀奇,稀奇是如何能夠讓周圍人一起成功,畢竟成就別人才是最好的成就自己。
所以,架構(gòu)師如何提升周圍人的架構(gòu)能力,將是他們面臨的最大挑戰(zhàn)之一,否則,總有一天自己將成為瓶頸。
總結(jié)能力
總結(jié)這兩個字可能你并不陌生,從小時候讀書到長大后工作,都可能或多或少被要求寫過總結(jié),它可以是一份學(xué)習(xí)總結(jié)或是一份工作總結(jié)。
但總結(jié)并不是對近半年或一年的工作依次闡述,這樣的內(nèi)容不但冗長毫無重點,而且缺乏分析與思考,它將變得毫無價值。
架構(gòu)師需要自驅(qū)式的對以往每一次架構(gòu)決策后的實踐情況進行總結(jié),他們需要通過總結(jié),不斷反思,不斷進步。
架構(gòu)師不但需要對成功案例進行總結(jié),沉淀方法論,運用于未來的架構(gòu)決策,更需要對失敗案例進行總結(jié),尋找不足,彌補差距,增強認知來提升架構(gòu)決策能力。
可以發(fā)現(xiàn),總結(jié)的讀者并不是別人,而是自己,它將會變成架構(gòu)師最有力的核心武器,也將成為架構(gòu)師最好的成長方式。
但總結(jié)能力并不會與生俱來,架構(gòu)師需要有意識地刻意練習(xí),這也就是我輸出文章的原因之一,它可以讓我持續(xù)保持不斷前進的動力。
寫在最后
本文僅以我當(dāng)前對架構(gòu)師的了解程度,對架構(gòu)師這個職業(yè)所必備的七項基礎(chǔ)能力,進行了簡要闡述,它可能并不完全,但缺一不可。
七項基礎(chǔ)能力相輔相成,為了便于讀者能夠體系化的理解它們之間的作用,我還繪制了如下基礎(chǔ)能力關(guān)系圖供大家參考。
希望這篇文章對于剛成為架構(gòu)師或即將成為架構(gòu)師的你們會有所幫助。也希望自己能夠繼續(xù)堅持,做難而正確的事。