小心定律就在你身邊 – 五個系統設計常用的定律

讀到每个程序员都该知道的五大定理5 laws every developer should know),感覺這些可以應用在系統設計上的定律,應用在社會和人生上也没有違和感。

文中提到的五個定律分别是

  1. 墨菲定律 Murphy’s law
  2. 高德納定律 Knuth’s law
  3. 諾斯定律 North’s law
  4. 康威定律 Conway’s law
  5. 帕金森瑣事定律 Parkinson’s law of triviality

1. 【墨菲定律 Murphy’s law】

“只要有可能出錯,就一定會出錯。”
“Anything that can go wrong will go wrong.”

如果殺人祭天有用,就殺吧。但如果換另一個人還是有可能出錯,這時獵女巫是没有用的,系統性問題要用備源、防呆、容錯、再確認等等機制處理。

舉例:從 815 大停電談「系統的崩壞」

2. 【高德納定律 Knuth’s law】

“在時機未到時優化是萬惡之源。”
“Premature optimization is the root of all evil.”

浪費就是罪惡,根據 TOC 限制理論,任何時後都只會有一個瓶頸在限制組織或個人的成長,所以只要專注於找出目前的瓶頸,和改善瓶頸的産能就够了。不需要在非瓶頸的地方投入資源改善,因為對整體産出價值不但没有幫助,還浪費了投入的時間和心力。

舉例:8張圖帶你看高鐵三新站中,為何彰化站人潮比雲林和苗栗站少

3. 【諾斯定律 North’s law】

“每一個決定都是一次取捨。”
“Every decision is a trade off.”

天底下没有白吃的午餐,任何事情都有好有壞,想要獲得就要有所犠牲,不論是系統設計或人生,都是如此。

舉例:柯P說「你要一例一休,就永遠成不了大人物!」

4. 【康威定律 Conway’s law】

“一個組織的系統設計,會反映出組織本身的溝通結構。”
“Organizations which design systems … are constrained to produce designs which are copies of the communication structures of these organizations.”

白話的說,從産品和服務呈現的狀態,可以推測出一個公司内部的溝通情况,甚至是組織架構。所以改變組織架構或增加溝通渠道,都可以改變産品或服務的走向。而從政府提供的服務只要是跨部門就會有斷層,也可以判斷出政府溝通是缺乏横向鏈結的,甚至在組織架構的設計思維就是刻意讓部門互相制衡。

舉例:獨木舟不合法? 業者:政府踢皮球

5. 【帕金森瑣事定律 Parkinson’s law of triviality】

“組織成員會投入不成比例的心力在瑣事上。”
“Members of an organisation give disproportionate weight to trivial issues.”

做瑣事簡單又容易看到效果,還可以讓自己看起來很忙。反而重大的事情,要做好需投入很多時間心力醞釀研究和凖備,還要忍受過程中看不到立即成效的失落感。80/20 法則說明了,只要專注於百分之二十能帶來最大價值的工作,選擇戰場不做低價值的工作。

舉例:前瞻 8800億預算 1分鐘過關

作者: Yves Lin

Trying being agile in the fun way. 喜歡并相信敏捷與正念,期許能帶入一些不同的思維,能讓華語圈不只軟體產業,都可以更高效幸福,開心自在。

發表迴響

%d 位部落客按了讚: