敏捷不是流程、不是潮流,也不只是一套規則。作為 2001 年敏捷宣言的共同起草人,Uncle Bob 寫這本書是為了正本清源:許多團隊只採用了管理實踐(站會、看板)卻跳過技術實踐(TDD、重構),讓敏捷淪為空殼。敏捷的核心動機來自更深的一層——專業主義,以及對客戶合理期望的回應。
🧠 Core Ideas
- 敏捷是「小步前進」的人類本能,不是革命性發明——以小步驟前進、持續衡量、不斷修正方向。早期軟體(如 Mercury 太空艙)就以半天為單位迭代並搭配單元測試。
- 瀑布式是一場美麗的誤會。1970 年 Winston Royce 的論文其實是在「批判」那張階梯圖,但人們只看了前兩頁就把稻草人當成標準,讓軟體業走錯了近三十年。
- 敏捷宣言的四組價值偏好:個人與互動 > 流程與工具;可運作的軟體 > 詳盡的文件;客戶協作 > 合約談判;回應變化 > 遵循計畫。右側並非沒有價值,只是左側在軟體開發中更重要。
- 敏捷不保證成功,它提供數據。Velocity 圖與 Burn-down 圖讓管理者用數據取代希望——「Hope is the project killer(希望是專案的殺手)」。
- Iron Cross 是專案的物理定律:Good、Fast、Cheap、Done 四選三。好的管理者調整各面向的係數,追求「夠好、夠快、夠便宜、完成足夠多」。
- 唯一快的方法就是做好(The only way to go fast, is to go well)。降低品質、停止測試與重構,看似加速實則最糟——這是敏捷把技術實踐視為核心而非選配的原因。
TIP
為什麼軟體不會隨時間變好?因為恐懼。看到醜程式碼,第一個念頭是「該清理」,第二個念頭是「不敢碰」——碰壞了就變我的責任。這種恐懼讓開發者變得無能。想像有個按鈕,按下幾秒就知道系統是綠燈還是紅燈——TDD 就是那個按鈕,它把「無懼的能力(Fearless Competence)」還給你。
⚖️ 生產力為何會隨時間崩塌
新專案初期進展飛快,但混亂會複利。Uncle Bob 把它畫成一個正回饋迴路——理解這個迴路,才懂敏捷的技術實踐為什麼不是奢侈品。
時程壓力的惡性循環
-
程式碼越亂 → 開發越慢。混亂讓每一次改動都更費力、更容易出錯。
-
開發越慢 → 壓力越大 → 越傾向製造更多混亂。趕工時最先被犧牲的就是測試、Code Review 與重構。
-
管理層加人也救不了。Brooks’ Law:在延遲的專案中增加人手只會讓它更延遲——新人需要學習期,而且往往學到的是舊有的壞習慣。
-
打破迴路的槓桿:TDD、Pairing、Refactoring、Simple Design 是技術關鍵,Planning Game 則是對抗時程壓力的解藥。客戶有權期望「年初花兩週的功能,一年後類似的功能也差不多兩週」。
🖼️ 為什麼專業主義是敏捷的倫理基礎
Uncle Bob 把敏捷的理由推到倫理層面。他在小木屋裡數了一下,身邊至少有 30 台需要軟體驅動的電腦;現代社會裡,法律的執行、飛機的飛行、股票的交易全都依賴軟體——寫軟體的人實質上掌控了世界的運作,但「我們做得並不好」。他舉了一連串真實災難:2013 年 Toyota 因程式碼裡的全域變數與義大利麵式結構賠償數百萬美元、737 MAX 的 MCAS 軟體造成數百人罹難、Volkswagen 排放醜聞中 CEO 把責任推給「幾個軟體工程師」。
正因如此,他以 CTO 的視角列出一串「合理期望」:不出爛貨、持續技術就緒、穩定的生產力、低成本的適應性、持續改善、QA 什麼都找不到、測試自動化、要敢說「不」。他強調——你被雇用,更多是因為你「說不的能力」,而非你寫程式的能力。這些期望搭配 Snowbird 會議上由 Kent Beck、Ward Cunningham、Ron Jeffries 制定的「權利法案」(客戶與開發者的權利像手套一樣互補),共同構成了敏捷的骨架:一套由權利、期望與紀律組成、支撐起道德專業的體系。
IMPORTANT
敏捷宣言的四項價值、Circle of Life 的三層實踐(業務、團隊、技術)與這套權利期望,最終都指向同一件事——把程式設計轉變成一門真正且受尊重的專業。這也是為什麼 Uncle Bob 最後把敏捷收束於「軟體工匠精神」:管理實踐給了框架,技術紀律才是靈魂。
🔑 Takeaways
- 敏捷宣言是四組「偏好」而非「非黑即白」:左側(互動、可運作軟體、協作、回應變化)更優先。
- 敏捷不保證成功,它用 Velocity / Burn-down 圖提供數據——「希望是專案的殺手」。
- Iron Cross 四選三;唯一快的方法就是做好,降低品質只會更慢。
- 生產力崩塌是混亂複利的正回饋迴路;TDD 提供「無懼的能力」來打破它。
- 延伸:敏捷把技術紀律收束為「軟體工匠精神」,見 軟體工匠精神與紀律。
No notes yet — jot your takeaways or Q&A here.