《Clean Agile》Podcast 準備稿:敏捷的初衷與鐵十字
書名: Clean Agile 敏捷整潔之道(Back to Basics) 作者: Robert C. Martin(Uncle Bob) 系列: Reading Uncle Bob(恩普拉氏) 公開標題建議: Reading Uncle Bob|Clean Agile.敏捷到底是什麼:回到 2001 年那間滑雪小屋 (1/6) 涵蓋範圍: 第1章 Introduction to Agile + 第2章 The Reasons for Agile
背景速覽
這是 Reading Uncle Bob 系列的第四本書、《Clean Agile》的起手集。這本書 2019 年出版,副標就叫「Back to Basics」——回到基本功。為什麼要寫?因為 Uncle Bob 是 2001 年 Snowbird 會議、簽下 Agile Manifesto 的 17 人之一,他眼睜睜看著「敏捷」這個詞被商業化、被掏空、被簡化成只剩管理儀式,於是親自跳出來說:你們講的那個敏捷,已經不是我們當年講的那個了。這集講兩件事:敏捷從哪來(歷史與鐵十字),以及敏捷為何而存在(專業主義與權利法案)。
一句話重點
敏捷不是一套讓你「開發更快」的流程,而是一套盡早讓你知道自己處境有多糟的回饋機制——它的真正目的是用數據消滅「希望」,讓管理者能在鐵十字(品質、速度、成本、完成度,四選三)上做出誠實的權衡。
值得討論的重點
1. Waterfall 是一場美麗的誤會——而且誤會了三十年
這段超適合開場,因為它顛覆認知。1970 年 Winston Royce 那張著名的階梯流程圖,根本不是在提倡瀑布式開發——那是他用來「批判」的稻草人。但人們只看了論文前兩頁的圖,沒讀後面的反駁,就把它奉為標準做法。一個被誤讀的圖,主導了整個產業三十年。Waterfall 為什麼一直失敗?因為需求從不固定、分析設計沒有明確完成標準、問題總在截止日前兩週才爆發——然後團隊陷入 Death March(死亡行軍),而管理層的反應竟是「下次做更多分析和設計」,Uncle Bob 叫這個 Runaway Process Inflation(失控的流程膨脹)。這是整本書最好笑也最有教育意義的一段歷史。
2. 「小步前進」不是發明,是人類五萬年的本能
Uncle Bob 刻意把敏捷的起源講得「不浪漫」:以小步驟前進、持續衡量、不斷修正——這是人類協作五萬年來最直覺的做事方式。連 1960 年代 Mercury 太空艙的控制軟體團隊都在用半天一個迭代、搭配單元測試。換句話說,敏捷不是 2001 年發明的新東西,2001 年只是「重新發現」並命名了它。順帶一提,「Agile」這名字本身是「一堆壞選項裡最不差的」——Uncle Bob 自己偏好「Light Weight」,但被嫌暗示「無足輕重」。
3. 鐵十字與「希望是專案的殺手」
這是這集的思想核心。所有專案都受制於一條物理定律:Good、Fast、Cheap、Done——四選三。好的管理者不會要求四項都 100%,而是調整係數。敏捷的全部意義,就是提供數據讓管理者理性權衡。兩張圖是核心武器:Velocity Chart(速度圖,看團隊每迭代完成多少點)和 Burn-down Chart(燃盡圖,看離里程碑還剩多少)。然後是那句金句:Hope is the project killer.(希望是專案的殺手。) 敏捷的目標之一,是「在希望殺死專案之前,先消滅希望」——敏捷不是讓你跑更快,而是讓你盡早知道自己跑不到。
4. 為何而敏捷:因為我們的軟體正在殺人
第2章把調子拉到倫理高度。Uncle Bob 在小木屋裡數了一下,身邊至少 30 台電腦,全靠軟體驅動。問題是——我們寫得並不好。Toyota 暴衝案、Boeing 787 發電機停機、737 Max 的 MCAS 害死數百人、Volkswagen 排放醜聞 CEO 把鍋甩給「幾個軟體工程師」。他的論點很重:總有一天某個工程師的疏忽會在瞬間害死上萬人,屆時政治人物會指向我們。敏捷的紀律,是把寫程式變成一門受尊重的專業的第一步。 這也是為什麼他列出整套「合理期望」(不出爛貨、持續技術就緒、穩定生產力、無懼的能力、QA 不該找到任何問題)和「權利法案」(客戶權利與開發者權利像手套一樣互補)。
注意事項
⚠️ 別把這集講成「敏捷萬靈丹」。書裡白紙黑字寫著:Agile 本身不保證專案成功,它只是個產出數據的框架,在敏捷框架下照樣可能因為爛決策而失敗。這個誠實的免責聲明很重要——它正是 Uncle Bob 跟那些「賣敏捷」的顧問最大的區別。
⚠️ 「四選三」的鐵十字容易被聽眾理解成「所以品質可以犧牲」。要立刻澄清:Uncle Bob 的立場剛好相反——The only way to go fast, is to go well.(唯一快的方法,就是做好。) 四個係數裡,品質是唯一不該被當作調節旋鈕的;要調,調的是 Scope(範疇)。降品質從來不會加速,只會更慢。
⚠️ 「估算不是承諾」這條(開發者權利法案的核心)很容易跟業務方產生衝突。提醒聽眾:這不是工程師推卸責任的藉口,而是要求雙方都誠實——開發者誠實估算、業務方誠實接受估算會變動。
專家補充
💡 替整個《Clean Agile》系列「定錨一個立場」會很加分:這本書是 Uncle Bob 在 2019 年的「正本清源之作」,火力其實對內——對著「已經墮落的敏捷產業」開砲。所以讀這本書的最佳姿態,不是「學一套新流程」,而是「聽一個創始人抱怨他的孩子被養歪了」。這個框架會讓整季都很有戲。
💡 鐵十字(Iron Cross / 品質、速度、成本、範疇)其實是專案管理的老概念,傳統叫「Project Management Triangle(鐵三角)」。Uncle Bob 加上「Done」變成四維,並強調敏捷的貢獻是「提供數據讓你誠實地在這四維上權衡」——這是他對老概念的再詮釋,值得點出縱深。
💡 「Brooks’ Law:在延遲的專案中增加人手只會讓它更延遲」出自 Fred Brooks《The Mythical Man-Month》(人月神話,1975)。這本書是軟體工程管理的聖經,而 Brooks 正是 Reading 系列裡另一條值得拉的線。可以順口預告:人月神話講的是「大團隊為何難」,敏捷講的是「小團隊如何好」——剛好互補。
討論問題
🎙️ 開場鉤子:「你知道嗎?主導我們產業三十年的『瀑布式開發』,其實源自一張作者本人用來批判的圖——大家只看了論文前兩頁,就把反面教材當成了標準答案。今天我們從這個美麗的誤會講起。」
🎙️ 自問自答:「敏捷到底是為了讓我們開發更快,還是別的?」——答案是「別的」。敏捷不是加速器,是早期預警系統:它讓你在第四、第五個迭代就準確預測『這專案會 delay』,好讓管理者趁早調整範疇,而不是等到截止日前兩週才崩潰。
🎙️ 拋給聽眾:「回想你做過最痛的一個專案——那個痛,有多少其實是『太晚才知道做不完』造成的?如果你在第三週就拿到誠實的數據,故事會不會不一樣?」
🎙️ 帶走的一題:「這禮拜,找出你團隊裡那個沒人敢碰的『希望』——『我們應該趕得上吧?』把它換成一個數字:照目前速度,我們有幾成把握?」
更大範圍關聯
- Reading Uncle Bob 全 6 本的座標:Clean Code(品味)→ Clean Architecture(架構/SOLID)→ Clean Coder(職業態度)→ Clean Agile(流程與紀律) → Clean Craftsmanship → Functional Design。前三本講「個人怎麼把 code 寫好」,這本《Clean Agile》把鏡頭拉到「團隊怎麼把專案做好」,是系列的轉折點。
- 敏捷經典對話:本集直接呼應 Agile Manifesto(agilemanifesto.org,264 個字的原典)。延伸閱讀:Kent Beck《Extreme Programming Explained》(XP 原典,Uncle Bob 全書以 XP 為骨架)、Ken Schwaber《Agile Project Management with Scrum》。
- 管理思想史:鐵十字接傳統專案管理鐵三角;Brooks’ Law 接《The Mythical Man-Month》;Scientific Management 接 Frederick Taylor——這集等於把敏捷放進「人類如何組織工作」的百年脈絡裡。
- 在 [軟體工程領域切分藍圖] 的位置:這本書落在「工程實踐/流程方法」一格,與 Clean Code/Architecture 的「設計品質」一格相鄰互補。
- 軟體工匠運動的伏筆:第2章的「專業主義/倫理」基調,是第7章 Software Craftsmanship 運動的種子,本集可埋一筆。
錄製建議
- 建議時長:約 22 分鐘。配比:歷史與 Waterfall 誤會約 8 分(最有戲,慢慢講)、鐵十字與兩張圖約 7 分、為何而敏捷/倫理與權利法案約 7 分。
- 討論策略:用「Waterfall 是被誤讀的稻草人」這個反差開場,立刻抓住聽眾。中段把鐵十字畫出來(口播時用「品質、速度、成本、完成度,四個你只能選三個」),帶出「希望是專案殺手」這句記憶點。結尾拉高到倫理層次——「我們的軟體正在殺人」——讓這集不只是流程介紹,而是一個專業的召喚。
- 這是《Clean Agile》起手,花 40 秒介紹這本書的定位:這是創始人的正本清源之作,火力對內。建立整季「聽 Uncle Bob 抱怨敏捷被養歪」的基調。