架構(gòu)師最重要的工作是思考。思考導(dǎo)致決策,或者選擇。
為決策而思考
架構(gòu)師思考的出發(fā)點(diǎn)是成就受益人的利益,目的就是為了最終做出決策。在開始的時(shí)候,往往會(huì)有一些明顯的途徑,也會(huì)有一些隱含的途徑。架構(gòu)師要根據(jù)所掌握的信息,結(jié)合自身的知識、經(jīng)驗(yàn),盡可能找出所有的途徑,思考哪條途徑是最合適的。在這個(gè)過程中,有一些途徑會(huì)很快被排除。排除一條途徑的依據(jù),首先是軟件的價(jià)值,其次是軟件的假設(shè)和前提。良好的實(shí)踐是記錄這些思考過程中被排除的途徑,特別是對于經(jīng)驗(yàn)不是特別豐富的架構(gòu)師來說,這非常重要。
需要特別提出的是,不要因?yàn)椴痪稠?xiàng)技術(shù)而排除可行的途徑。因?yàn)橐话闱闆r下,技術(shù)對軟件價(jià)值的影響是次要的。比如,當(dāng)你在JSF和struts之間搖擺的時(shí)候,把這個(gè)問題提出來討論,是更好的做法。
決策需要依據(jù)
決策是合理的(Reasonable)選擇。架構(gòu)師需要考慮各種選擇的優(yōu)缺點(diǎn),再根據(jù)實(shí)際情況,找到支持決策的依據(jù)。因?yàn)閭€(gè)人及項(xiàng)目等多方面的原因,這些依據(jù)也可能是不充分的。但這不要緊,最重要的是,決策要有依據(jù),這就夠了。在思考和討論的過程中,對于反面的意見(不支持決策的依據(jù)),也要充分考慮和記錄,因?yàn)椴恢朗裁磿r(shí)候,這些因素會(huì)因環(huán)境、認(rèn)識的變化而由假成真,如果沒有相關(guān)的記錄,你會(huì)為此而失去一次寶貴的成長機(jī)會(huì)。:)
有時(shí)候也需要選擇
人的智力是有限的,眼界也是有限的。有時(shí)候你會(huì)發(fā)現(xiàn)幾條路徑很難說哪個(gè)更優(yōu)一點(diǎn)。這時(shí)候你面臨的就是選擇,像擲骰子一樣。這是架構(gòu)設(shè)計(jì)中風(fēng)險(xiǎn)最大的地方。墨菲定律說:“凡事只要有可能出錯(cuò),那就一定會(huì)出錯(cuò)。”(Anything that can go wrong will go wrong.)把這個(gè)選擇記錄下來,只要可能,就要來重新評價(jià)。
如果沒有選擇的余地
任何時(shí)候,如果你感覺只有一種選擇(或者你毫無理由的排除了其他選擇),這可能說明:
1. 你的知識還不夠,過早進(jìn)入架構(gòu)設(shè)計(jì)的領(lǐng)域,對你不是一件好事;或者
2. 你憑借感覺做決策,實(shí)在不適合做架構(gòu)師這樣的工作。
by 非魚。Technorati 標(biāo)簽: architecture, decision, choice
為決策而思考
架構(gòu)師思考的出發(fā)點(diǎn)是成就受益人的利益,目的就是為了最終做出決策。在開始的時(shí)候,往往會(huì)有一些明顯的途徑,也會(huì)有一些隱含的途徑。架構(gòu)師要根據(jù)所掌握的信息,結(jié)合自身的知識、經(jīng)驗(yàn),盡可能找出所有的途徑,思考哪條途徑是最合適的。在這個(gè)過程中,有一些途徑會(huì)很快被排除。排除一條途徑的依據(jù),首先是軟件的價(jià)值,其次是軟件的假設(shè)和前提。良好的實(shí)踐是記錄這些思考過程中被排除的途徑,特別是對于經(jīng)驗(yàn)不是特別豐富的架構(gòu)師來說,這非常重要。
需要特別提出的是,不要因?yàn)椴痪稠?xiàng)技術(shù)而排除可行的途徑。因?yàn)橐话闱闆r下,技術(shù)對軟件價(jià)值的影響是次要的。比如,當(dāng)你在JSF和struts之間搖擺的時(shí)候,把這個(gè)問題提出來討論,是更好的做法。
決策需要依據(jù)
決策是合理的(Reasonable)選擇。架構(gòu)師需要考慮各種選擇的優(yōu)缺點(diǎn),再根據(jù)實(shí)際情況,找到支持決策的依據(jù)。因?yàn)閭€(gè)人及項(xiàng)目等多方面的原因,這些依據(jù)也可能是不充分的。但這不要緊,最重要的是,決策要有依據(jù),這就夠了。在思考和討論的過程中,對于反面的意見(不支持決策的依據(jù)),也要充分考慮和記錄,因?yàn)椴恢朗裁磿r(shí)候,這些因素會(huì)因環(huán)境、認(rèn)識的變化而由假成真,如果沒有相關(guān)的記錄,你會(huì)為此而失去一次寶貴的成長機(jī)會(huì)。:)
有時(shí)候也需要選擇
人的智力是有限的,眼界也是有限的。有時(shí)候你會(huì)發(fā)現(xiàn)幾條路徑很難說哪個(gè)更優(yōu)一點(diǎn)。這時(shí)候你面臨的就是選擇,像擲骰子一樣。這是架構(gòu)設(shè)計(jì)中風(fēng)險(xiǎn)最大的地方。墨菲定律說:“凡事只要有可能出錯(cuò),那就一定會(huì)出錯(cuò)。”(Anything that can go wrong will go wrong.)把這個(gè)選擇記錄下來,只要可能,就要來重新評價(jià)。
如果沒有選擇的余地
任何時(shí)候,如果你感覺只有一種選擇(或者你毫無理由的排除了其他選擇),這可能說明:
1. 你的知識還不夠,過早進(jìn)入架構(gòu)設(shè)計(jì)的領(lǐng)域,對你不是一件好事;或者
2. 你憑借感覺做決策,實(shí)在不適合做架構(gòu)師這樣的工作。
by 非魚。Technorati 標(biāo)簽: architecture, decision, choice