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

讀到每个程序员都该知道的五大定理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分鐘過關

五育中消失的群育 – 談如何團隊合作

今天聽實習生們四個月實習的心得分享,蠻多的共通收穫是『第一次以團隊方式把事情做出來』,即使之前在學校有專題團隊,但也是各自分工不合作,大家分派工作最後再組合起來。而在實習過程中,成員利用 Scrum 的方式,及時了解每個工作的進度,互相支援遇到的問題,密集的分享和學習,還有一群很雞婆的哥哥姐姐們噓寒問暖,都是之前沒有的體驗。

回想我們從小都聽說要『德智體群美』五育俱全,但我之前也從來不知道群育是什麼,頂多就是玩玩團康,組組球隊。學校不但不鼓勵還懲罰合作的行為(比如作弊 XD)。但不能怪老師,我想除了投票『服從多數、尊重少數』,老師也沒有受過如何教導團隊合作的訓練。

我也是在這幾年在 Scrum 中找到答案,除了快速迭代、適應變化這個優點外,我覺得 Scrum 的重點價值是以團隊為主體運作,讓團隊取得個人所沒有的特性,比如團隊比個人反脆弱、團隊比個人的視野更廣、盲點更少。但要讓團隊有這些特性不是容易的事,我認為有三個觀察點:

  1. 成員是否都能安心的表達自己想法?
  2. 成員的個性與觀點是否夠多元?
  3. 團隊有沒有好的決策模式?

繼續閱讀「五育中消失的群育 – 談如何團隊合作」

多維度的思維模型 – 領導者的蜕變心得

我在​領導者的蜕變一書中最大的學習是:不同思維的階段有不同的修練,需要不同的協助。

書中說對如何識别思維,和如何提升思維解釋的很詳細,他把思維模型分為四種:以我為尊、規範主導、自主導向、内觀自變。

而我的記憶力不是很好,每次要說概念這都說不清楚,剛好最近又跟伙伴瞎扯到多次元,如星際效應三體等等不同次元的互動情况。因有互相印證的地方,又容易記,就分享給大家我的 Mapping table。

  • 以我為尊:一維
  • 規範主導:二維
  • 自主導向:三維
  • 内觀自變:四維


要靠高維度協助低維度升級,因低維度無法理解高維度,就像小朋友(三維)撕漫畫(二維),漫畫上的角色没辦法理解發生什麼事,只會覺得外星人出現。

而我認為至少要二維願意往三維的思維才適合跑敏捷。

【如何幫助思維升級】
一維到二維:提供具體範例和操作方法(守)

二維到三維:協助重新定義和質疑權威(破)

三維到四維:引導揭露假設與質疑應然(離)

四維以上:持續探索未知觀點

【不同維度的思維】
一維思維【直線】:只有『我』的觀點,跟我不一樣的觀點不存在,如直線以外都是未知。

二維思維【平面】:我和他人的直線構成平面成為『我們』的觀點,跟我們一樣就是對,不一樣就是錯,就如同紙的兩面。

三維思維【立體】:眾多個不同觀點交錯形成『我、他人、情境』立體化的思維,可以從上下左右多個角度思考並保持主體性,可運用别人的觀點强化自己的論點。

四維思維【單形】:利用别人的觀點升級自己的思維系統。相對三維而言,四維不利用别人觀點强化自己論點,甚至會改變每次的互動模式,不惜把思維系統曝露在風險中。

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

【一千年前的敏捷宣言】

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

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

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

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

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

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

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

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

 

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

初一十五不一樣 – 引導後的結論是正確答案嗎?

相信每個問題都有正確答案,這是我受過理工訓練後最大的恩賜,也是最大的業障。所以我剛剛接觸引導的時候,最大的疑惑是『花了這麼多時間引導和討論,但這結論真的是正確的嗎?』

比如說討論主題是『有效團隊合作的要素有那些?』,可能有些結論是强勢領導加服從紀律,有些說是僕人式領導加自由發揮,有些要素可能還互相矛盾,比如和同事有深刻的私交超友誼更好,相對於下班後絕對不要跟同事碰面卸下面具露出真面目。甚至可能同一群人討論出來的結論,三天後再討論一次的結果又變了,那到底哪個是正確的答案呢? 繼續閱讀「初一十五不一樣 – 引導後的結論是正確答案嗎?」

異數:超凡與平凡的界線在哪裡閱讀心得

成功的關鍵因素是什麼?為什麼某些人成功?成功靠的是實力還是運氣?

看完這本『異數:超凡與平凡的界線在哪裡』後,我覺得這本書根本是西方版本的『一命、二運、三風水、四積德、五讀書』:

命:天生資質與時代趨勢
運:家庭教育
風水:身處環境的文化
積德:廣結善緣建立關系
讀書:持續練習一萬個小時

成功是偶然的時間空間加上必然的勤奮努力。換句話說,成功靠的大都是機緣,出生的地點、環境、日期、所在的文化,都決定了我們能到達的大約高度,而我們自身能掌控的只有一萬小時的練習,和選擇對的環境(孟母三遷是有根據的)。 繼續閱讀「異數:超凡與平凡的界線在哪裡閱讀心得」

Agile Tour Taichung 2017『空手、緊握、到放手 – 敏捷路上學到的5件事』台中敏捷旅程分享心得

收到 Max Lai 關於敏捷旅程台中的 Keynote 分享邀請時,我真的蠻高興的。第一因為出生於台中,對台中總是有一份特殊的情感。第二是分享的主題是組織轉型,剛剛好跟十月在新加坡敏捷年會分享的主軸相同,只要英翻中就好,順便一魚多吃

根據我在新加坡年會的經驗,原本預計講個40分鐘,但30分鐘就說完了,幸好因為談的是大家都會有的痛點和共同經歷,所以發問很熱烈,十多個提問把時間完美的佔到45分準時結束,大家都以為我是故意留很多時間提問的XD。比預期時間快的原因是上臺後的緊張語速加快,而且每次準備的故事都會東漏西漏,時間一定會快一些。而台中的分享時間是一個小時,讓我有點傷腦筋,要如何補足剩下的20分鐘又可以彌補我口條不好的缺點呢。 繼續閱讀「Agile Tour Taichung 2017『空手、緊握、到放手 – 敏捷路上學到的5件事』台中敏捷旅程分享心得」