前段時間讀了吳曉波的《激蕩三十年》含衔,講述的是從改革開放1978年中國最近40年企業(yè)的演進(jìn)史事煎娇。后來網(wǎng)友又推薦了這本《置身事內(nèi)》二庵,讀完之后,大有體會缓呛,深感國家與地方之間的博弈催享。有這樣的體會,大概是因為這兩年跟著領(lǐng)導(dǎo)做了點關(guān)于企業(yè)級架構(gòu)方面的事吧哟绊,能感受到部門與部門間的利益矛盾因妙,部門在公司愿景下的讓步等等邏輯。
下面主要是談?wù)勛约涸诩軜?gòu)方面的一點小理解票髓,主要是從下面兩個方面闡述:
軟件架構(gòu)中的最佳實踐問題
新中國成立之初的國家制度攀涵,基本就是照著前蘇聯(lián)的搞法,照搬過來洽沟,到了國內(nèi)實施以故,起初效果還行,一旦有了點起色裆操,就漸漸不那么奏效了怒详,各種問題,比如承包制踪区。隨著鄧公一系列的改革開放策略昆烁,“摸著石頭過河”,“不管黑貓白貓缎岗,捉住老鼠就是好貓”静尼,走中國特色社會主義道路,經(jīng)濟(jì)發(fā)展一路高歌密强。
最佳實踐茅郎,對于程序員其實一點也不陌生蜗元,日常各種文章或渤,各種書籍,都能看到類似 “XXX最佳實踐” 奕扣。我們也一直走在尋找各種最佳實踐的路上薪鹦,比如Git的最佳實踐,微服務(wù)的最佳實踐惯豆,DDD的最佳實踐等等池磁。大家一直再說最佳實踐,技術(shù)分享楷兽,圈子氛圍挺好的地熄,但作為受眾,不顧思考芯杀,不加以裝飾的端考,直接運用到自己的團(tuán)隊或公司雅潭,似乎顯得就不那么嚴(yán)謹(jǐn)了。
在我工作的第5個年頭(2018年)里却特,我接觸了微服務(wù)扶供,k8s,中臺等裂明,相對比較熱門的技術(shù)思想椿浓,以至于我天天學(xué),夜夜學(xué)闽晦,恨不得把它們?nèi)繉嵺`在自己的項目里扳碍,那一年,我的“夢想” 得以現(xiàn)實尼荆,這些個東西都落地了左腔,然后我卻迷茫了,因為真的很痛苦捅儒,太累了液样,以至于有些東西根本搞不定。原來大廠們搞得熱火朝天的東西巧还,別家的公司的最佳實踐鞭莽,到了我們這邊,只是做不完的技術(shù)債麸祷。
好的架構(gòu)澎怒,到底是什么樣的?第二年我離職了阶牍,決定換個山頭看看喷面。
后來,我明白走孽,那些聲稱的最佳實踐惧辈,真的有很多是描述并不嚴(yán)謹(jǐn)?shù)模思抑皇前炎罟怩r的一面給了你磕瓷,而忽略給你提到他們的業(yè)務(wù)場景(背景)盒齿。所以,最佳實踐困食,應(yīng)該是在特定場景下的最佳實踐边翁,不可能一個方案解決所有問題,矛盾總是會存在的硕盹。最佳實踐符匾,是演進(jìn)出來的,不可能一蹴而就瘩例。我們很難預(yù)見多年以后會發(fā)生什么啊胶。作為合格的架構(gòu)師芒澜,需要了解一個方案適用的場景,更要了解該方案不適用的場景创淡,就像雷總說的 “ 決定不做什么跟決定做什么一樣重要”痴晦。
或許架構(gòu)最佳實踐可以這樣做
- 梳理并理解當(dāng)前業(yè)務(wù)場景;
- 抽象業(yè)務(wù)概念琳彩;
- 挑選最佳實踐的選型誊酌,了解選型的適用和不適用的場景;
- 結(jié)合抽象模型露乏,定義選型碧浊;
書里面作者介紹了一些制度政策,就和這最佳實踐問題一樣瘟仿,很多西方的東西箱锐,到了中國就不靈了,還是需要結(jié)合自身的現(xiàn)狀劳较,做出合理的決策驹止。
軟件架構(gòu)中的邊界問題
邊界,一個很好理解的詞观蜗,但在很多事情里它總是相對模糊臊恋,比如公司的業(yè)務(wù),它的邊界在哪墓捻,是由公司的使命和愿景決定抖仅,然而這兩者本身就很大而空(個人理解)。
但是如果有客觀評價標(biāo)準(zhǔn)砖第,那么它的邊界可能就很簡單了撤卢,比如比較明顯的是國家的領(lǐng)土邊界,全世界都認(rèn)可的梧兼,經(jīng)緯線定位放吩。所以遇到這樣的事,按照標(biāo)準(zhǔn)來就好了袱院。
但世間事往往都并非如此屎慢,比如架構(gòu)的邊界瞭稼,在哪忽洛,往往就很模糊,難定环肘。
架構(gòu)里的邊界欲虚,我們常常用Scope,職責(zé)悔雹,或者目標(biāo)复哆,來說明系統(tǒng)的邊界在哪欣喧,具體點就是一個系統(tǒng)做什么和一個系統(tǒng)不做什么。明確清晰定義后梯找,以便于降低系統(tǒng)復(fù)雜度唆阿,以便于防止后期跨團(tuán)隊的扯皮等等問題。
邊界的定義很難锈锤,我的小tips
- 調(diào)研驯鳖,調(diào)研,調(diào)研久免,盡可能去與一線人員溝通最根本的業(yè)務(wù)場景浅辙,而不是簡單的轉(zhuǎn)述;
- 梳理總結(jié)你的幾條核心邏輯阎姥,少就是多记舆,不要為自己的系統(tǒng)攬?zhí)嗟穆氊?zé);
- 找利益相關(guān)人達(dá)成一致呼巴,重要泽腮;
- 以發(fā)展的眼光看待邊界,隨著業(yè)務(wù)的發(fā)展可能會需要根據(jù)現(xiàn)實不斷調(diào)整衣赶;
- 最后盛正,可以打破邊界約束的是規(guī)模經(jīng)濟(jì),雖然不是你的Scope屑埋,但做在你這收益最高豪筝;
抓主要的,其他的不確定的摘能,就讓子彈飛一會续崖,當(dāng)清晰了再做,也不遲团搞。
關(guān)于邊界問題严望,作者在書中介紹了,省與省的交界處逻恐,因為有利益相關(guān)像吻,早期這些地方都是偏“三不管”地帶,地方財政很少會管此處复隆,后來國家財政巧妙地介入拨匆,才慢慢化解了此問題。
好了挽拂,贅述一番惭每,這本書還是非常推薦程序員朋友讀讀。