軟體架構・絮語

Automate everything, make life easier!

請循其本

老子曰:「五色令人目盲,五音令人耳聾。」 所以,最近我越來越喜歡從原始定義或目標下手。 原理通了,邏輯通了,再加一點點創意及想像力,很多東西都是順理成章就推導得出來。 像物件導向設計領域常見的 SOLID 原則,或是再精煉出來的「五則皆變」觀點,深刻體會後,你可以推導出許多 design patterns 或 bad smell 論述。 溯源能力是很重要的,才不會被狀似革新,實則舊瓶裝新酒或跨領域借用的「新觀念」所迷惑。 像近年來很潮的 DevOps,你可以說是革新,因為它的的確確顛覆許多公司的陳年作風;但你也可以說它只是舊瓶裝新酒,只是把 Lean Thinking...

READ MORE

改變的框架

前幾天在 Twitter 寫道: --- Quote: 2016-06-24 Tweet #1 為什麼會把兩者相提並論呢? 對我來說,高德拉特代表一種極度陽剛的思維角度,薩提爾代表一種極度柔軟的治療角度。 這麼形容,並不代表他們是分處「剛」與「柔」兩個極端;相反的,越深入研究,越可體會出剛柔相濟的妙境。像高德拉特在《絕不是靠運氣》書中,演示了許多極度柔軟的「TOC...

READ MORE

《鳳凰項目》私房標題

The Phoenix Project 作者如是說: Dr. Eliyahu Goldratt wrote his seminal book, The Goal: A Process of Ongoing Improvement, in 1984. [...] My coauthors and I studied this book for nearly a decade, getting ready to write The Phoenix Project. In many ways, I view our book as an homage to The...

READ MORE

從「改變」角度看《魔戒》

今年一月,參加 David Ko 舉辦的一場「敏捷轉型」活動,從中學到了一個有趣的分析工具:Lean Change Canvas。 知道了一個好東西,自然要追本溯源,加深加廣。於是,研讀了相關資料: 精實改變畫布 推廣敏捷的第一要務是什麼 Lean Change Method: Enabling Lean and Agile Transformations at Scale Lean Change LiveLessons (Video Training): Achieving Agile Transformation with Kanban, Kotter, and...

READ MORE

有了 Agile,為什麼還要有 DevOps?

今晚,受 Agile Community Taiwan 之邀,在 Agile Meetup Taipei 給了一場演講:【有了 Agile,為什麼還要有 DevOps?】 之所以會給這場演講,是因為之前在討論區、在演講、在講課時,總是會收到這類的 Q&A: DevOps 是不是在花大錢搞新技術?商業噱頭? DevOps 只是大雜燴? DevOps 只與 Agile 有關? DevOps 就是 Dev 把魔爪伸到 Ops 嗎? DevOps...

READ MORE

向遊戲學習

前一篇文章〈向工廠管理致敬〉提到,最近為了準備一場 Agile/DevOps 演講,我特地研讀了數本原典,希望能對某些核心的思考元素來一場溯源之旅。 啃原典,其實還有另一個原因:為了好好替今天要去大玩特玩的小火車遊戲⋯⋯喔,不,是為了替今天要專程去上的一門【102...

READ MORE

向工廠管理致敬

身為徹頭徹尾的軟體人,在軟體產業待久了,總會對「硬」一點的產業,尤其是製造業,有莫名的成見,以為他們是僵固的、反人性的。從 1972 年「軟體危機」引發的論述當中,更加深軟體人的印象:製造業的經驗,是無法直接套用到軟體界的;我們是截然不同的國度。 不過,近十年來許多軟體界的流程改革,尤其是同屬 Agile 陣營的 Scrum 及 Kanban,居然有許多元素是從製造業偷竊學習而來:由 Toyota 引領風潮的 Lean Production 及 JIT,是相關文獻最常引述的;但其實還有從 TOC 學來的流程分析及改善手法。 因此,最近為了準備一場 Agile/DevOps...

READ MORE

Docker 端出 Unikernel 路線的第一道菜

Docker 在三歲生日派對時,宣佈要提供「不須透過 VirtualBox」的 Docker engine for Mac/Windows,許多人方才驚覺:今年一月併購 Unikernel Systems 公司,原來早就隱含著這麼一層用意。 [1] Unikernel Systems 這家公司,代表作是 Xen 陣營的 MirageOS;因此,併購之後,Docker Inc 已充分掌握古代的 hypervisor 及現代的 unikernel 技術,更朝向技術自主的獨立路線邁進。 我一直認為,Docker 這家公司,對技術路線有非常獨到的眼光。 就像當年 Docker 先以 LXC...

READ MORE

多工切換:有趣的 Lean 觀點

AlphaGo 四勝一負,贏了李世乭九段。 論人工智慧,我只學到樸素的類神經網路而已;論圍棋,我連初段都沒達到。但畢竟是兩方面都沾上一點點看熱鬧的資格,所以,我也樂得看了五場賭上人類尊嚴的科技盛事。 看熱鬧的網路鄉民,對這五場比賽,自是大發議論品頭論足。 我畢竟身在電腦圈,對於電腦本位的觀點,自認略有能力判斷嘴炮與否;但對於圍棋本位的觀點,就沒辦法分辨了。找職業棋士的發言,比較保險。 首先是 AlphaGo...

READ MORE

POLP:最小權限原則

在我開的 Ansible Workshop 中,不管是課前的【許願池】,還是課程現場的 Q&A,總有一個熱門議題:「如何確保系統是安全的?」 說實在的,這是大哉問,不是單獨一門組態管理課就能探討到令人滿意的地步(資安也不是我所擅長的,汗⋯⋯)。不過,被問到的次數太多了,我還是給個簡單的導引吧。 系統安全有許多層次。以 Learning Linux Security 教學課程的大綱來看,至少涵蓋幾個層次: Booting:作業系統開機環節 Kernel:作業系統核心 Services:典型系統服務 Users and...

READ MORE