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