康威定律

原文鏈接:https://www.solves.com.cn/it/cxkf/jiagou/2019-10-14/6061.html

Soft skills are always hard than hard skills. 軟技能比硬技能難。

老板聽說最近流行“微服務(wù)”薯鳍,問架構(gòu)師咱們的系統(tǒng)要不要來一套踩验?老板又聽說最近流行“中臺系統(tǒng)”岳掐,問架構(gòu)師咱們要不要搞起來菜谣?其實,這些問題不用老板問人柿,關(guān)注技術(shù)發(fā)展趨勢的架構(gòu)師每當聽到新的技術(shù)或解決方案此再,都會暗中思忖是否應(yīng)用到系統(tǒng)中讼渊。然而棍潘,用或不用瓶籽,總不能憑感覺吧匠童。此時,如果你能靈活運用康威定律塑顺,那么做出的判斷將更加完美汤求。

康威定律

康威定律是馬爾文·康威1967提出的:“設(shè)計系統(tǒng)的架構(gòu)受制于產(chǎn)生這些設(shè)計的組織的溝通結(jié)構(gòu)俏险。”通俗的來講:產(chǎn)品必然是其(人員)組織溝通結(jié)構(gòu)的縮影扬绪。

跨部門溝通是非常難的竖独,系統(tǒng)各個模塊的接口也反映了它們之間的信息流動和合作方式。

每個架構(gòu)師都知道的康威定律挤牛,你確定不來看看莹痢?

康威定律可謂軟件架構(gòu)設(shè)計中的第一定律,起初只是在雜志上的發(fā)表墓赴,后經(jīng)過《人月神話》這本軟件界圣經(jīng)的引用竞膳,并命名為康威定律(Conway’s law),因此得以推廣诫硕。

只通過簡單的描述可能無法理解康威定律的精髓所在坦辟,原文中康威定律可總結(jié)為四個定律:

  • 第一定律 組織溝通方式會通過系統(tǒng)設(shè)計表達出來。
  • 第二定律 時間再多一件事情也不可能做的完美章办,但總有時間做完一件事情锉走。
  • 第三定律 線型系統(tǒng)和線型組織架構(gòu)間有潛在的異質(zhì)同態(tài)特性。
  • 第四定律 大的系統(tǒng)組織總是比小系統(tǒng)更傾向于分解藕届。

第一定律

Communication dictates design挪蹭。

組織溝通方式?jīng)Q定系統(tǒng)設(shè)計。

這條定律重點是講組織架構(gòu)和溝通對系統(tǒng)設(shè)計的影響休偶。組織的溝通和系統(tǒng)的設(shè)計之間緊密相連梁厉,特別是復(fù)雜系統(tǒng),解決好人與人的溝通才能有一個更好的系統(tǒng)設(shè)計椅贱。

《人月神話》中總結(jié)出了隨著人員的增加溝通成本呈指數(shù)增長的規(guī)律:溝通成本 = n(n-1)/2懂算。舉例說明一下:

  • 5人項目組只冻,需要溝通的渠道是 5*(5–1)/2 = 10
  • 15人項目組庇麦,需要溝通的渠道是15*(15–1)/2 = 105
  • 50人項目組,需要溝通的渠道是50*(50–1)/2 = 1,225
  • 150人項目組喜德,需要溝通的渠道是150*(150–1)/2 = 11,175

這也是為什么互聯(lián)網(wǎng)公司都追求小團隊的原因之一山橄。溝通的問題會帶來系統(tǒng)設(shè)計的問題,進而影響整個系統(tǒng)的開發(fā)效率和最終產(chǎn)品結(jié)果舍悯。

第二定律

There is never enough time to do something right, but there is always enough time to do it over航棱。

時間再多一件事情也不可能做的完美,但總有時間做完一件事情萌衬。

人手永遠是不夠的饮醇,事情永遠是做不完的,但可以一件一件來秕豫。這不就是軟件行業(yè)中“敏捷開發(fā)”模式所解決的問題嗎朴艰。面對這樣的狀況观蓄,敏捷開發(fā)可以做到不斷迭代、持續(xù)交付祠墅、快速驗證和反饋侮穿,并持續(xù)改進。

再牛的開發(fā)也會寫出bug毁嗦,再全面的測試覆蓋率也無法測出所有的問題亲茅。解決方案不是消滅這些問題,是容忍一些問題的存在狗准,然后通過適當?shù)脑O(shè)計(冗余克锣、監(jiān)控、高可用設(shè)計)當問題發(fā)生時能夠快速解決驶俊。

幾個開發(fā)人員的小公司娶耍,去追求微服務(wù)、去追求中臺架構(gòu)饼酿,這是追求完美嗎榕酒?不是,是找死故俐。

好的架構(gòu)不是買來的想鹰,也不是設(shè)計出來的,而是根據(jù)業(yè)務(wù)落地生根長期演化來的药版。

第三定律

There is a homomorphism from the linear graph of a system to the linear graph of its design organization辑舷。

線型系統(tǒng)和線型組織架構(gòu)間有潛在的異質(zhì)同態(tài)特性。

這一定律是第一定律的具體應(yīng)用槽片。想象一下如果公司的組織架構(gòu)是這樣的:團隊是分布式何缓,每個團隊都包含產(chǎn)品、研發(fā)还栓、測試碌廓、運維等角色。而此時系統(tǒng)是單塊的剩盒,項目溝通和協(xié)調(diào)的成本是巨大的谷婆,弄不好還會打起來。

每個架構(gòu)師都知道的康威定律辽聊,你確定不來看看纪挎?

如果將單塊的系統(tǒng)拆分成微服務(wù),每個團隊負責自己的部分跟匆,對外提供對應(yīng)的接口即可异袄,互不干擾。系統(tǒng)效率將得到提升玛臂。這與軟件設(shè)計中的高內(nèi)聚烤蜕、低耦合是相通的埠帕。

每個架構(gòu)師都知道的康威定律,你確定不來看看玖绿?

直白的說就是想要什么的系統(tǒng)就搭建什么樣的團隊敛瓷,有什么樣的團隊就搭建什么樣的系統(tǒng)。需要前后端分離的系統(tǒng)就搭建前后端分離的團隊斑匪,反之呐籽,擁有前后端分離的團隊,可以設(shè)計前后端分離的系統(tǒng)蚀瘸。當然狡蝶,如果能統(tǒng)籌管理,擁有重組團隊或設(shè)計系統(tǒng)架構(gòu)的權(quán)利贮勃,那就再好不過了贪惹。通常情況下讓兩者形成1:1的映射關(guān)系,更加高效寂嘉。

第四定律

The structures of large systems tend to disintegrate during development, qualitatively more so than with small systems奏瞬。

大的系統(tǒng)組織總是比小系統(tǒng)更傾向于分解。

“話說天下大勢泉孩,分久必合硼端,合久必分≡幔”系統(tǒng)越復(fù)雜珍昨,越需要增加人手,人手越多句喷,溝通成本也呈指數(shù)增長镣典。分而治之便是大多數(shù)公司選擇的解決方案。分不同的層級唾琼,分不同的小團隊兄春,讓團隊內(nèi)部完成自治理,然后統(tǒng)一對外溝通父叙。

小結(jié)

架構(gòu)不僅僅需要技術(shù)神郊,在大公司尤其需要政治肴裙,所謂的架構(gòu)的政治趾唱。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蜻懦,隨后出現(xiàn)的幾起案子甜癞,更是在濱河造成了極大的恐慌,老刑警劉巖宛乃,帶你破解...
    沈念sama閱讀 222,807評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件悠咱,死亡現(xiàn)場離奇詭異蒸辆,居然都是意外死亡,警方通過查閱死者的電腦和手機析既,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評論 3 399
  • 文/潘曉璐 我一進店門躬贡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人眼坏,你說我怎么就攤上這事拂玻。” “怎么了宰译?”我有些...
    開封第一講書人閱讀 169,589評論 0 363
  • 文/不壞的土叔 我叫張陵檐蚜,是天一觀的道長。 經(jīng)常有香客問我沿侈,道長闯第,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,188評論 1 300
  • 正文 為了忘掉前任缀拭,我火速辦了婚禮咳短,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蛛淋。我一直安慰自己诲泌,他們只是感情好,可當我...
    茶點故事閱讀 69,185評論 6 398
  • 文/花漫 我一把揭開白布铣鹏。 她就那樣靜靜地躺著敷扫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪诚卸。 梳的紋絲不亂的頭發(fā)上葵第,一...
    開封第一講書人閱讀 52,785評論 1 314
  • 那天,我揣著相機與錄音合溺,去河邊找鬼卒密。 笑死,一個胖子當著我的面吹牛棠赛,可吹牛的內(nèi)容都是我干的哮奇。 我是一名探鬼主播,決...
    沈念sama閱讀 41,220評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼睛约,長吁一口氣:“原來是場噩夢啊……” “哼鼎俘!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起辩涝,我...
    開封第一講書人閱讀 40,167評論 0 277
  • 序言:老撾萬榮一對情侶失蹤贸伐,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后怔揩,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體捉邢,經(jīng)...
    沈念sama閱讀 46,698評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡脯丝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,767評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了伏伐。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宠进。...
    茶點故事閱讀 40,912評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖藐翎,靈堂內(nèi)的尸體忽然破棺而出砰苍,到底是詐尸還是另有隱情,我是刑警寧澤阱高,帶...
    沈念sama閱讀 36,572評論 5 351
  • 正文 年R本政府宣布赚导,位于F島的核電站,受9級特大地震影響赤惊,放射性物質(zhì)發(fā)生泄漏吼旧。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,254評論 3 336
  • 文/蒙蒙 一未舟、第九天 我趴在偏房一處隱蔽的房頂上張望圈暗。 院中可真熱鬧,春花似錦裕膀、人聲如沸员串。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽寸齐。三九已至,卻和暖如春抄谐,著一層夾襖步出監(jiān)牢的瞬間渺鹦,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評論 1 274
  • 我被黑心中介騙來泰國打工蛹含, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留毅厚,地道東北人。 一個月前我還...
    沈念sama閱讀 49,359評論 3 379
  • 正文 我出身青樓浦箱,卻偏偏與公主長得像吸耿,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子酷窥,可洞房花燭夜當晚...
    茶點故事閱讀 45,922評論 2 361

推薦閱讀更多精彩內(nèi)容