康威定律,每個架構師都應該研究下的定律!

架構系統前,架構師的首要任務是盡最大可能找出所有利益相關者,業務方,產品經理,客戶/用戶,開發經理,工程師,項目經理,測試人員,運維人員,產品運營人員等等都有可能是利益相關者,架構師要充分和利益相關者溝通,深入理解他們的關注點和痛點,並出架構解決這些關注點。

康威定律,每個架構師都應該研究下的定律!

架構的目標是用於管理複雜性、易變性和不確定性,以確保在長期的系統演化過程中,一部分架構的變化不會對架構的其它部分產生不必要的負面影響。這樣做可以確保業務和研發效率的敏捷,讓應用的易變部分能夠頻繁地變化,對應用的其它部分的影響儘可能的小。

康威定律,每個架構師都應該研究下的定律!

人是複雜社會動物

第一定律

Communication dictates design

組織溝通方式決定系統設計

組織的溝通和系統設計之間的緊密聯繫,在很多別的領域有類似的闡述。對於複雜的系統,聊設計就離不開聊人與人的溝通,解決好人與人的溝通問題,才能有一個好的系統設計。相信幾乎每個程序員都讀過的《人月神話》(1975年,感覺都是老古董了,經典的就是經得起時間考驗)裡面許多觀點都和這句話有異曲同工之妙。

康威定律,每個架構師都應該研究下的定律!

系統越做越複雜,功能越來越多,外部市場的競爭越來越劇烈,投資人的期待越來越高。但人的智力是有上限的,即使再牛逼的人,融到錢再多也不一定招到足夠多合適的人。對於一個巨複雜的系統,我們永遠無法考慮周全。Eric認為,這個時候最好的解決辦法竟然是——“破罐子破摔”。

康威定律,每個架構師都應該研究下的定律!

在問題發生時,能自動回覆,微服務組成的系統,每一個微服務都可能掛掉,這是常態,我們只有有足夠的冗餘和備份即可。即所謂的 彈性設計(Resilience) 或者叫高可用設計(High Availability)。

康威定律,每個架構師都應該研究下的定律!

最後,北京尚學堂提醒如果一位具有相當聰明才智的人跟我意見不同,那麼對方的主張必有我尚未體會的奧秘,值得加以瞭解。與人合作最重要的是,重視不同個體的不同心理、情緒與智能,以及個人眼中所見的不同世界。與所見略同的人溝通,益處不大,要有分歧才有收穫。


分享到:


相關文章: