by 高煥堂 蘋果公司前CEO喬布斯(Steve Jobs)曾說:”你必須相信今日所做的(決策)會(huì)影響你的未來! 所以,今日決策的未來性攸關(guān)個(gè)人或企業(yè)的未來發(fā)展。 今日決策的未來性 架構(gòu)師(Architect)是重要的決策者。他要透過架構(gòu)<設(shè)計(jì)>來創(chuàng)造<目前(今日)決策>的未來性。對企業(yè)而言,所謂未來性就是未來競爭主導(dǎo)性。所以,架構(gòu)設(shè)計(jì)不僅要適應(yīng)未來的變化,而且要讓企業(yè)、產(chǎn)品或系統(tǒng)在未來多變的需求趨勢、時(shí)尚空間里取得市場的競爭話語權(quán)。 架構(gòu)師的職責(zé)是致力于現(xiàn)在決策,并讓它能包容未來的變化,也就是讓<目前決策>具有未來性。架構(gòu)師不是去預(yù)測未來(的標(biāo)準(zhǔn)),不是去關(guān)心<未來決策>、去替未來做決策。架構(gòu)<設(shè)計(jì)>不是要去實(shí)現(xiàn)<需求>。需求是善變、市場主導(dǎo)權(quán)之競爭也往往如流水般不可測;也就是因?yàn)樗奈磥淼牟豢蓽y性,所以我們需要優(yōu)越的架構(gòu)設(shè)計(jì)。 架構(gòu)師的核心思維有4個(gè)元素:愿景、組合、創(chuàng)新、未來性。對于客戶(或企業(yè))而言,愿景是目標(biāo),組合創(chuàng)新是手段;然而對于架構(gòu)師而言,愿景則是手段,組合創(chuàng)新是目的。至于需求(Requirements)代表現(xiàn)實(shí)性。愿景和需求都隨時(shí)間而變,所以架構(gòu)決策必須具有未來性。 例如,在約20多年前,臺(tái)北市興建地鐵時(shí),必須做出當(dāng)時(shí)的<目前決策>:地鐵出口該高出街道幾公分;必須具有未來性:避免未來大雨淹水。如果你是架構(gòu)師(即地鐵建筑設(shè)計(jì)師)會(huì)如何思考呢? 可惜,當(dāng)時(shí)的設(shè)計(jì)師只依賴統(tǒng)計(jì)數(shù)字(依過去400年來臺(tái)北市區(qū)平均水位+60公分高)來<預(yù)測未來>,沒有斟酌當(dāng)時(shí)<目前決策>的未來性。果然在一回臺(tái)風(fēng)過境時(shí),臺(tái)北市地鐵全部成為大水溝,不幸損失了數(shù)百億元新臺(tái)幣。 Mapping from vision to reality 架構(gòu)師清晰的愿景(Vision)并非要準(zhǔn)確預(yù)測世界的未來景象,未來世界是不可知的。但是我們的目前決策會(huì)影響世界未來的發(fā)展軌跡。所以愿景是期望的未來景象;對架構(gòu)師而言,它是手段,不是目的。真正目的是:要找出有助于實(shí)現(xiàn)愿景的目前決策,這樣的決策才真正具有未來性。所以,架構(gòu)師的主要活動(dòng)(Action)是: “從愿景回顧到現(xiàn)實(shí)” (Mapping from vision to reality.) 關(guān)于這項(xiàng)活動(dòng),可以聽聽蘋果公司前CEO喬布斯的敘述,他說: “你不可能在眺望未來時(shí)把生活中的每個(gè)點(diǎn)連接起來,只有回顧時(shí)能才連點(diǎn)成線。” 他所提的就是架構(gòu)師的關(guān)鍵活動(dòng):找到愿景與現(xiàn)實(shí)之間的連線。這是架構(gòu)師必備的修練。 愿景是人們對未來情境的期待。然而,對架構(gòu)師而言,尋找愿景并非最關(guān)鍵之事。反而是透過「從未來回顧現(xiàn)在」的動(dòng)作來找到從愿景到現(xiàn)實(shí)之間的<連線>(或稱途徑)才是最關(guān)鍵的事情。所以,不是等到找出真正的愿景之后,才進(jìn)行”Mapping from the vision to today’s reality”動(dòng)作;反而是在持續(xù)不斷地”Mapping”過程中,逐漸尋覓連線和修正愿景。換句話說,進(jìn)行”Mapping”活動(dòng)是迭代的(Iterative or Spiral)、實(shí)時(shí)的,隨著時(shí)間的推移,現(xiàn)實(shí)持續(xù)變化,連線持續(xù)尋覓,愿景不斷修正,整體團(tuán)隊(duì)對于愿景愈清晰、對于連線愈有信心、愈樂在其中。 架構(gòu)師不斷在尋覓多條行得通的途徑(連線),然后選擇一條<較具有未來性>的途徑給開發(fā)團(tuán)隊(duì)施工。由于是一條具有未來性的途徑,其意味著繼續(xù)走下去,遇到阻力時(shí),會(huì)有足夠的轉(zhuǎn)圜空間。所謂阻力,就包括各方既得利益者的阻礙。因之,架構(gòu)師會(huì)持續(xù)不斷地尋找<無異走廊(Corridors of indifference)>;經(jīng)由這走廊,開發(fā)團(tuán)隊(duì)可以邁向(主人的)目標(biāo),但避免傷害伙伴(如客戶)或別人的私利而招惹阻力。 雖然初期愿景可以從別人而來,但架構(gòu)師也需要培養(yǎng)自己的愿景和洞察力。不然,如果只是一心一意實(shí)踐企業(yè)或客戶的愿景或需求;而不是去實(shí)踐自己的愿景的話。架構(gòu)師就沒環(huán)境來培養(yǎng)愿景了,于是,沒有愿景的架構(gòu)師可能就不是有效架構(gòu)師了;反而是一位初階的開發(fā)者呢! <軟硬整合>架構(gòu)設(shè)計(jì)的未來性 以軟、硬件標(biāo)準(zhǔn)化為例 架構(gòu)師專注的不是未來決策,而是目前決策的未來性。于是,表現(xiàn)在軟件架構(gòu)設(shè)計(jì)(即決策)的未來性上,其最為明顯之處就是:要充分包容未來硬件的創(chuàng)新差異化。君不見,在當(dāng)今智能終端廠商里,軟硬整合做得愈好的,其競爭主導(dǎo)權(quán)愈大,獲利愈豐,架構(gòu)師的地位也愈高。 許多人問我:如何(How to)實(shí)踐<軟硬整合>呢? 我要強(qiáng)調(diào):軟硬整合是狀態(tài)(State)、美好情境(Vision);不是如何做(How-to)。就像孫子兵法所說的<知彼知己>是狀態(tài),而不是指先知己、后知彼等的步驟(How-to)。 例如,在標(biāo)準(zhǔn)化的迷思上;許多學(xué)、研單位的專家們最喜歡談標(biāo)準(zhǔn)化,并且容易獲得政府各單位的支持。身為架構(gòu)師,該支持這標(biāo)準(zhǔn)化論點(diǎn)嗎? 事實(shí)上,崇尚標(biāo)準(zhǔn)化是一個(gè)陷阱。因?yàn)橥菩袠?biāo)準(zhǔn),就會(huì)排除不標(biāo)準(zhǔn),也排除了創(chuàng)新,將嚴(yán)重傷害產(chǎn)業(yè)邁向高峰的機(jī)會(huì)。反而,架構(gòu)師應(yīng)該追求<包容>不標(biāo)準(zhǔn)才對。因?yàn),架?gòu)師的職責(zé)是致力于現(xiàn)在決策,并讓它能包容未來的變化,也就是讓<目前決策>具有未來性。架構(gòu)師不是去預(yù)測未來(的標(biāo)準(zhǔn))、也不是去關(guān)心未來決策。過去的標(biāo)準(zhǔn),會(huì)成為現(xiàn)在的不標(biāo)準(zhǔn);現(xiàn)在的標(biāo)準(zhǔn)會(huì)成為未來的不標(biāo)準(zhǔn);于是架構(gòu)師致力于制定有效的目前決策,去包容未來的標(biāo)準(zhǔn)與不標(biāo)準(zhǔn)。 再如,無論是智能家庭或智慧城市,幾乎都是標(biāo)準(zhǔn)、非標(biāo)準(zhǔn)、開放、非開放并存的空間;所以仰賴高度標(biāo)準(zhǔn)化、寄望完美開放;可能都是烏托邦。如何擘劃一個(gè)能包容標(biāo)準(zhǔn)、非標(biāo)準(zhǔn)、開放、非開放… 的有機(jī)(Organic)架構(gòu),來展現(xiàn)未來性,適應(yīng)未來一切環(huán)境變化,才是正道。 以包容通信協(xié)議為例 架構(gòu)師的基本決策之一是:目前如何挖空,以開創(chuàng)產(chǎn)品或系統(tǒng)的未來性。老子曾說過:”無之以為用,有之以為利”。如果把<無>當(dāng)動(dòng)詞用,就是挖空的意思。把它挖空,才能創(chuàng)造未來的多用途效益。其實(shí),大家都知道房屋墻壁要挖<空>成為門窗,這房屋未來才有用。還有畚箕也要先挖空,將來才能用來裝泥土或其它東西。所以目前決定如何挖空,這個(gè)決策大大影響整個(gè)產(chǎn)品或系統(tǒng)的未來效益,是架構(gòu)師深具未來性的決策。其中,空與無的涵意非常接近,中國哲學(xué)談無,佛學(xué)談空。 基于這個(gè)<挖空>的決策,展現(xiàn)出未來性,讓軟、硬件能適應(yīng)未來的環(huán)境變化。茲試想,有兩個(gè)軟件模塊:C模塊與S模塊;而且兩者之間透過網(wǎng)絡(luò)通信機(jī)制來互通。此時(shí)一般人會(huì)先去尋找標(biāo)準(zhǔn)的通信機(jī)制(如協(xié)議),然后才開發(fā)C和S軟件模塊。這就是預(yù)測未來(通信途徑)了,會(huì)讓軟件架構(gòu)失去未來性,所以不是有效的軟件架構(gòu)設(shè)計(jì)思維! 其解決之道是什么呢? 很簡單,只要<挖空>來包容通信協(xié)議的未來變化,就行了,如下圖所示: ![]() 于此,我來引用著名軟件架構(gòu)師Fred George的話,他曾說: “Kent Beck曾經(jīng)寫道:<代碼就是設(shè)計(jì)與殘酷現(xiàn)實(shí)的黎明交匯>。他的意思是,我們能畫出許多美好的設(shè)計(jì),但最好的設(shè)計(jì)僅僅是被翻譯為優(yōu)雅代碼的那些。一個(gè)無法將愿景(即Vision)帶入代碼(即Reality)的架構(gòu)師將無法洞悉這個(gè)急速變化行業(yè)所呈現(xiàn)的面貌。” 結(jié)語 架構(gòu)師是決策者(Decision-Maker),管理學(xué)大師比得.杜拉克(Peter F. Drucker)指出:<決策往往不是從真相開始的,而是從想法開始。>一位架構(gòu)師對于他在行的領(lǐng)域,如果不產(chǎn)生想法的話,表示他沒有敏銳的愿景和洞察力。沒有想法,而只能依賴需求分析、從中尋找真相,然后采取行動(dòng),是極為危險(xiǎn)的。 由于機(jī)會(huì)存在于未來的復(fù)雜變化中;唯有簡單,才能理解復(fù)雜;谏鲜龅拿翡J洞察力,我們能從復(fù)雜設(shè)計(jì)出簡單,再從簡單掌握復(fù)雜。復(fù)雜與簡單彼此息息相關(guān),在其交錯(cuò)變化韻律中,抓住想不到的機(jī)會(huì),創(chuàng)造絢爛的未來。(請參閱<<架構(gòu)設(shè)計(jì)造形的簡單性>>文章) |