夏雪:從架構(gòu)分析三國中蜀漢,引發(fā)架構(gòu)思考啟發(fā)
軟件架構(gòu)設(shè)計需要以長遠的眼光以宏觀視角從整體出發(fā),深入分析外部環(huán)境、競爭對手與內(nèi)部資源,明晰各方面的關(guān)注點,并平衡他們之間的利益,使大家可以明確目標,達成共識,解決主要矛盾。這些要求和做法同創(chuàng)建、治理一個國家是十分相似的,下面我將從架構(gòu)的角度去分析三國中蜀漢的歷史,并總結(jié)由此帶來的架構(gòu)思考與啟發(fā)。
求架構(gòu)“三顧茅廬”, “隆中對”定架構(gòu)方略
東漢末年,國企衰敗,各地涌現(xiàn)了大量新建企業(yè)。其中一個,就是劉備。劉備旗下?lián)碛屑夹g(shù)大牛關(guān)羽、張飛、趙云,一直活躍在后漢時期,也順利完成了剿滅黃巾軍項目中的子任務(wù)。但由于缺少整體經(jīng)營思路,一直在平原縣、徐州等地以手工作坊式的工作模式做著臨時項目,后來因為政府關(guān)系惡化(鞭笞督郵)、無法與強大的競爭對手(曹操、呂布)抗衡而不能穩(wěn)固市場,先后投奔公孫瓚、曹操、袁紹、劉表,過著顛沛流離、寄人籬下的生活。經(jīng)理劉備迷失了,我到底應(yīng)該做怎樣的定位,要制定怎樣的戰(zhàn)略方針,又如何去實現(xiàn)它呢?對,他現(xiàn)在急需的是一名架構(gòu)師,在徐庶、司馬徽的推薦下,劉備三顧茅廬欲聘諸葛亮為架構(gòu)師。
孔明那份特殊的簡歷在劉備登門之前就已經(jīng)準備好了,在面試過程中,他向劉備展示了他為其量身定制的架構(gòu)概覽。
他首先分析了當前大環(huán)境:
自董卓已來,豪杰并起,跨州連郡者不可勝數(shù)。
然后又分析了主要競爭對手:
曹操比于袁紹,則名微而眾寡。然操遂能克紹,以弱為強者,非惟天時,抑亦人謀也。今操已擁百萬之眾,挾天子而令諸侯,此誠不可與爭鋒。孫權(quán)據(jù)有江東,已歷三世,國險而民附,賢能為之用,此可以為援而不可圖也。
那么機會有哪些:
荊州北據(jù)漢、沔,利盡南海,東連吳會,西通巴、蜀,此用武之國,而其主不能守,此殆天所以資將軍,將軍豈有意乎?益州險塞,沃野千里,天府之土,高祖因之以成帝業(yè)。劉璋暗弱,張魯在北,民殷國富而不知存恤,智能之士思得明君。
我們的優(yōu)勢在哪里:
將軍既帝室之胄,信義著于四海,總攬英雄,思賢如渴。
架構(gòu)決策:
如果能占據(jù)荊、益兩州,守住險要的地方,和西邊的各個民族和好,又安撫南邊的少數(shù)民族,對外聯(lián)合孫權(quán),對內(nèi)革新政治;
愿景:
霸業(yè)可成,漢室可興!
這番分析深深打動了劉備,他即刻成立蜀漢項目組,項目近期目標為取得荊州、益州,外交策略為結(jié)好孫權(quán),遠期目標是壟斷全國,并正式聘請諸葛孔明為架構(gòu)師。
實施戰(zhàn)略架構(gòu)一:孔明巧析關(guān)注點,說孫權(quán)共同抗曹
“外結(jié)好孫權(quán)”是劉備集團戰(zhàn)略架構(gòu)中重要的外交策略。時下正值曹操揮師南下取了荊州,揚言要順流而下,席卷江東,諸葛亮認為此時正是聯(lián)合孫權(quán)的時機。對于是否抗曹孫權(quán)集團內(nèi)分為兩種意見,一方是以張昭為首的迎曹派,建議投降曹操,而另一方是以周瑜、魯肅為首的抗曹派,堅決主張抗曹。孫權(quán)是戰(zhàn)是降拿不定主意。要說服孫權(quán)集團聯(lián)盟,首先得找出集團真正的決策者?!皟?nèi)事不決問張昭,外事不決問周瑜”反映了孫權(quán)集團的頂層組織關(guān)系,張昭、周瑜只是被“問” 的,而真正“決”的,還是孫權(quán)。于是孔明深入分析這位主要干系人,摸清他的主要關(guān)注點:
1、孫權(quán)繼承父兄基業(yè),是要成就一番霸業(yè)的,肯定不甘屈服于曹操。
2、曹操來勢洶洶,兵多將廣,孫權(quán)擔心戰(zhàn)敗。
針對第一點,孔明巧用激將計,聲稱曹操勢大,如果孫權(quán)猶豫不決,還不如早早投降了好,至于我家主公劉備是皇氏宗親,是有氣節(jié)的,寧肯失敗也是不會投降的。在這樣的刺激下,激發(fā)出孫權(quán)內(nèi)心不愿投降的想法,當即表示一定要抗曹。
但是,劉備能出多少力?我們勝算如何呢?孔明接下來分析了雙方戰(zhàn)力,劉備雖然新敗于新野,但還有兵士萬人,侄子劉琦也有萬人,曹操雖然兵多,但遠來疲憊,又不善于水戰(zhàn),而且軍隊中還有很多荊州兵其實是被逼上前線的老百姓,軍心不穩(wěn),如果您能派幾萬精兵,與劉備共同抗曹,肯定可以打敗他。如此打消了孫權(quán)的顧慮,堅定了只要孫劉聯(lián)合,就可以打敗曹操的信心。
孔明通過深入分析主要干系人的關(guān)注點,并利用優(yōu)秀的溝通技巧使對方認同了解決方案,成功建立了孫劉聯(lián)盟,最終取得了赤壁之戰(zhàn)的勝利,為劉備贏得了寶貴的喘息之機,并爭取到了反攻荊州的機會。
實施架構(gòu)戰(zhàn)略二:得荊州、奪益州
赤壁之戰(zhàn)打敗曹操之后,劉備迅速將矛頭指向了架構(gòu)中的第一軍事目標:荊州。雖然環(huán)境與架構(gòu)決策時已經(jīng)發(fā)生了變化,荊州已經(jīng)被曹操攻占,但由于曹操新得荊州民主不穩(wěn),并且赤壁新敗士氣低落,另外主要兵力還被東吳牽制,所以劉備很順利地攻下了荊州四郡:長沙、零陵、桂陽、武陵。后來又向盟友孫權(quán)“借”得南郡,從而占得荊州七郡中的五郡,實現(xiàn)了架構(gòu)目標:荊州。
隨后,又以荊州為根據(jù)地,由諸葛亮、關(guān)羽鎮(zhèn)守,劉備以協(xié)助劉璋抗擊張魯為名協(xié)軍師龐統(tǒng)發(fā)兵西川。劉備以張松、法正為內(nèi)應(yīng),駐扎當?shù)厥辗诵?,后與劉璋決裂,奪下了益州。并且果然如“隆中對”中“智能之士思得明君”的判斷,攻蜀期間先后有大量蜀將投降,使劉備整體實力大增。至此,劉備又實現(xiàn)了另一個架構(gòu)目標:益州。
荊州、益州是劉備集團整體發(fā)展架構(gòu)的兩個軍事要點,集團上下在架構(gòu)實施過程中目標明確,時機得當,由龐統(tǒng)、法正、諸葛亮三位著名架構(gòu)師直接參與,并堅持“外結(jié)好孫權(quán)”的戰(zhàn)略方針,于是順利地實現(xiàn)了架構(gòu)方案,實現(xiàn)了奪取荊州、益州的架構(gòu)目標,形成了三足鼎立的局面。
忽略架構(gòu)戰(zhàn)略,關(guān)羽、劉備先后殞命
劉備集團奪取荊州、益州之后,成功搭建起了“隆中對”中的物理架構(gòu),為統(tǒng)一中原、匡復(fù)漢室的終極目標奠定了基礎(chǔ),但同時,又帶來了新的危機。劉備的強大,引起東吳老板孫權(quán)的密切關(guān)注,如果劉備背信棄義,掉轉(zhuǎn)槍頭向我開火怎么辦?此時,主要干系人的利益發(fā)生了變化,劉備變強,等于孫權(quán)變相地變?nèi)趿?,原來把荊州借給劉備是要當防守曹操的盾,現(xiàn)在卻要小心變成劉備進攻自己的矛。于是在關(guān)羽攻打樊城時孫權(quán)下了一著棋來試應(yīng)手,他想與關(guān)羽聯(lián)姻,娶關(guān)羽的女兒當兒媳婦,但關(guān)羽不但不答應(yīng),還辱罵了使者,這使孫權(quán)大怒,派呂蒙趁虛夜襲荊州,殺了關(guān)羽。丟了荊州和關(guān)羽的劉備大怒。不顧蜀漢諸大臣的勸告,興全國之兵進攻東吳,結(jié)果被陸遜火燒連營,命喪白帝城。
“外結(jié)好孫權(quán)”是蜀漢戰(zhàn)略架構(gòu)的重要方針,違反這一架構(gòu)方針是荊州、夷陵兩戰(zhàn)失敗的主要原因。當外敵強侵之時,兩股弱小的勢力結(jié)為聯(lián)盟是互惠互利的做法,但當一方變強時,這種平衡即被打破,原來的架構(gòu)就會受到?jīng)_擊,這就需要架構(gòu)師去平衡各方面的利益,使大家重新達成共識,使大家能夠維持穩(wěn)定的架構(gòu)格局。從事后來看,這兩戰(zhàn)沒有勝者,由于盟友反目,大戰(zhàn)又使雙方國力受損,最終蜀漢和東吳被先后滅國,這恐怕是孫劉聯(lián)盟所有干系人都不愿意看到的結(jié)果。遺憾的是,此兩戰(zhàn)諸葛亮都沒有直接參與,甚至也沒有拿出關(guān)鍵意見去平衡各干系人的利益,保證架構(gòu)方案的貫徹實施,使實現(xiàn)偏離了架構(gòu)設(shè)計,打了兩場大敗仗,蜀漢實力大損。
不穩(wěn)定的架構(gòu),諸葛亮“死而后已”
蜀漢發(fā)展到后主時期,經(jīng)過荊州、夷陵兩戰(zhàn),戰(zhàn)略架構(gòu)已經(jīng)遭到了嚴重破壞。首先,丟失了重要組件荊州。荊州本是蜀漢重要的戰(zhàn)略要地,是戰(zhàn)略架構(gòu)中的重要組件。因為荊州四通八達,與益州成犄角之勢,在進攻時可以同益州一齊做并發(fā)處理,在防守時互為援助起到負載均衡的效果。丟失了它,進攻就只能從益州單進程發(fā)起,路途崎嶇遙遠,不利于供給,同時防守又少了牽制點,使益州直接面對對方的壓力。再者,荊州之戰(zhàn)、夷陵之戰(zhàn)瓦解了孫劉聯(lián)盟。東吳作為蜀漢架構(gòu)中的合作伙伴外部系統(tǒng),是重要的外部IT資源,它可以分擔蜀漢在攻防兩端的性能壓力,沒有它,蜀漢就只能獨立地完成攻防任務(wù)。除此之外,蜀漢還面臨著人才青黃不接、人口稀少、土地面積較小等問題,如果按正常發(fā)展,魏蜀之間差距將越來越大,亡國將成定局。是維持現(xiàn)狀運行?還是打破原架構(gòu)思想尋找突破?諸葛亮作出了主動北伐的架構(gòu)調(diào)整,希望能夠找到新的機會,但很遺憾,實力強大的北魏堅持司馬懿穩(wěn)固防守的架構(gòu)策略,最終把諸葛亮慢慢拖死了,蜀漢也最終走向了滅亡。
架構(gòu)的調(diào)整,需要付出巨大的成本和代價,所以需要在初期充分論證,設(shè)計穩(wěn)固、易擴展的架構(gòu)體系,并且需要在架構(gòu)實施階段積極跟進,保證架構(gòu)方案被正確理解、正確實現(xiàn),否則,千里之堤毀于蟻穴,任何違反架構(gòu)思想的做法都是一顆顆定時炸彈,等到它們爆炸時,無論繼續(xù)持續(xù)現(xiàn)狀還是重新調(diào)整都很難再得到理想的效果。
架構(gòu)思考
從蜀漢的歷史我們可以看出架構(gòu)對國家發(fā)展的重要意義,前期優(yōu)秀的架構(gòu)設(shè)計+充分有效地執(zhí)行讓流浪的劉備有了根據(jù)地,有了雄據(jù)一方三足鼎立的實力,但中期違背架構(gòu)方針使蜀漢付出了慘痛的代價,損失了君主、名將和精兵、損失了戰(zhàn)略要地,后期已經(jīng)很難再對已被破壞的架構(gòu)做出調(diào)整,勉力支撐一段時間后,最終亡國。
通過以上的思考與分析,我認為架構(gòu)師在架構(gòu)工作中,有以下幾個方面是需要特別注意的:
1、在初期,應(yīng)站在全局出發(fā),了解客戶的愿景和目標,深入分析客戶所處的大環(huán)境、分析其主要競爭對手、分析現(xiàn)有資源、分析合作伙伴,明確實現(xiàn)目標的關(guān)鍵成功因素有哪些,這樣才能夠作出適合客戶的架構(gòu)解決方案。
2、善于分析組織,找出真正的決策者,站在他的立場去了解、理解、分析他的關(guān)注點,他的目標和顧慮,通過優(yōu)秀的溝通能力使他理解你的設(shè)想,對目標達成共識,接受你的解決方案。
3、架構(gòu)是一種平衡的藝術(shù),干系人之間的利益有可能是有沖突、有矛盾的,這就需要架構(gòu)師多換幾種思維角度,從長遠出發(fā)?從全局出發(fā)?從他實質(zhì)的內(nèi)心需求出發(fā)?……找出平衡點,使干系人達成共識是架構(gòu)師的目標,是架構(gòu)是否穩(wěn)定、能夠準確執(zhí)行的基礎(chǔ)。
4、架構(gòu)師必須參與到架構(gòu)的實施過程中,保證架構(gòu)方案可以從售前階段順利平滑過渡到實施階段,確??蛻艚鉀Q方案按照設(shè)計思路實施,避免錯誤的實施給架構(gòu)造成破壞,帶來額外的成本和風險。
作者:夏雪 。微博:@simnba糊涂
來源:伯樂在線
- 目前還沒評論,等你發(fā)揮!