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

讀到每个程序员都该知道的五大定理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 大停電談「系統的崩壞」 繼續閱讀「小心定律就在你身邊 – 五個系統設計常用的定律」

看歷史學敏捷 – 從人性出發

【一千年前的敏捷宣言】

很久很久以前,唐太宗李世民放了三百多個死刑犯回家,說明年秋天時回來報到再殺他們頭。到第二年時,没想到神奇的事情發生了,死刑犯竟然一個没少的回來送死。

在那個時代,没有半個人在路上病死、老死、或被野獸吃掉,真的是老天保佑。唐太宗龍心大悦,認為在自己用心良苦的教化下,連死刑犯都變好人講信用,就把三百多個犯人都大赦放生,傳為千古佳話。

直到宋朝反骨的歐陽修把這事件批評說這是從上到下串通演出的撒狗血劇情(上下交相賊),從一開始就劇透了。皇帝要聖名,放走了就算不回來也没損失。萬一真的有人跑了,長眼的官員也知道要抓幾個替死鬼充數。囚犯也不是白痴,知道皇帝要耍仁慈,回來的一定不會死,打個折大不了去邊彊種菜。

歐陽修在《縱囚論》說:『不可爲常者,其聖人之法乎?是以堯、舜、三王之治,必本於人情,不立異以爲高,不逆情以幹譽。』

超譯:『有智慧的人不會笨到去設計不能普遍適用的規定。規定要從人性出發,不是跟大家不一樣就是厲害,也不要挑戰人性來刷版面。』

簡單的說,就是敏捷宣言第一條所說的:

【個人與互動 重於 流程與工具】

只要是有權限可以制定規定的主管,都應該好好思索這句話。

 

圖片來源:https://memesuper.com/categories/view/37ee3d0030e724c6a90cd001224b8d7fa07d1569/human-nature-meme.html