這個有爭議的軟體開發方法,陪伴一代程式設計師走過了 18 年
作者:熊節 / 插畫:虎頭錘

一、生於滑雪度假村,它的名字叫敏捷
敏捷是一種重視質量、追求快速反饋的軟體開發方法。
2001 年 2 月,美國猶他州雪鳥滑雪度假村,“敏捷軟體開發聯盟”成立,並簽署“敏捷宣言”。僅僅幾個月後,林星、石一楹等國內的先行者開始翻譯引進與敏捷相關的資料,敏捷引入中國。
敏捷對行業的影響遠不止幾個程式設計實踐,說它影響了 Java 技術棧的變遷,說它引領了 DevOps 和持續交付的潮流,甚至,說它在軟體發展史上是濃墨重彩的一筆,都不為過。
敏捷中國之於中國 IT 行業的發展,是同樣甚至更大的影響。
然而,敏捷在技術人士中具有很大的爭議,有人將敏捷奉為圭臬,有人對敏捷嗤之以鼻。大家對敏捷的態度為何有天壤之別?
二、成年禮——首個傳紀,《敏捷中國史》
2019 年 2 月,敏捷正式誕生 18 個年頭。對於熱愛它的人士,對於貶低它的人士,《敏捷中國史》的出現無疑是大家重新認識敏捷的一個重要契機。
作為中國敏捷十餘年發展歷程的親歷者與推動者,資深老程式設計師熊節從整個中國 IT 發展程序審視敏捷,參閱無數資料(光是寫作過程中的引用文獻就有 400 多篇),打造了《敏捷中國史》。
通過《敏捷中國史》,熊節帶你一起重新經歷一代程式設計師的青蔥程式設計歲月,與你一起梳理中國軟體工程領域 20 年發展的關鍵脈絡。你會對如下問題的認識更為深刻:
-
如今很多人所認識的敏捷跟 Martin Fowler、Kent Beck 等先驅主張的敏捷有何不同?
-
70 後與 80 後老程式設計師當年是如何突破自身技術瓶頸,將敏捷引入中國的?
-
敏捷是如何從一個名不見經傳的小流派,到如今,從自由職業者,到創業小團隊,再到大型公司,無不接納並大力應用它的?
-
IT 領域最有影響力的巨頭阿里、騰訊、華為的技術成長是如何深度融入敏捷方法的?
接下來讓我們看幾個典型的場景,先睹為快。
三、感受無數資深程式設計師當年如何突破技術瓶頸
《敏捷中國史》是一部一線技術人士“低視角”親歷的 IT 發展史,這才是中國 IT 業真實的發展樣貌——並非像新聞稿和鴻篇鉅著所寫那樣高屋建瓴,反而是由無數普通人自覺或不自覺、主動或被迫、有心為之或機緣巧合的行動一點點塑造起來。
《敏捷中國史》中記錄的一線普通 IT 從業者,當年初出茅廬,時常受困於各種技術問題,如今,它們中的很大一部分仍然奮鬥在行業一線,不過,已經成為很多人心中的“大佬”。大佬當年遭遇了哪些技術難題,他們是如何突破瓶頸的?
場景一:
這幾天,莊表偉一直在反思開發“中國上海”網站的過程。年初啟動專案時,老闆讓他估工作量,他估了一個數字以後,老闆直接乘以 2 報給了甲方。起初他還有些不以為然,誰知專案一做起來,進度一拖再拖,最後竟然比老闆報給甲方的工作量還超出了些,到最後逼著團隊連更連夜加班才趕上時間節點。
第一次帶團隊的莊表偉這才意識到,帶著一支團隊做一個上規模的專案,跟自己一個人做些單機軟體,是有很大區別的。這種差異體現在哪裡,他一時還說不清。
場景二:
孟巖彼時在網路上聲名鵲起,重要的原因之一是他在 2001 年 2 月釋出的一篇文章:《VC 不是夢想,C++ 需要自由的心》。在中文世界裡用“夢想”、“自由”這樣的詞彙來描述一種程式語言,就算他不是第一個也差不太遠。把當年如日中天的微軟批評為“封閉”、並振臂疾呼“在我們程式設計師的心中,沒有凱撒,我們可以把你當朋友,但是你別想做我們的主子”、“不自由,毋寧死”,這在當年看來是極具開創性和震撼力的觀點。
場景三:
“那臺監視器用了一段時間,陳總看上面也沒什麼特別的東西,每天都是一塊綠色,可能覺得也沒什麼用吧,新員工入職的時候就分配給別人用了,”何曉東答道,“後來我們去工商局駐場的時候都忘了這事。可能還是應該有這麼一個監視器好些,不然也不至於測試都失敗了我還不知道。”
“唉,你們呀,叫你們做的事情,幾天不來看全都走樣了,也難怪你們專案趕得辛苦。”石一楹長嘆一口氣,“好在你們專案總算也上線了,有點小 Bug 修修補補,大問題不會有了。下一個專案爭取把這些動作做得再標準一點吧。”
四、首次集中揭祕 IT 巨頭阿里、騰訊、華為的敏捷故事
華為敏捷“三步走”策略
2008 年,徐直軍出任華為產品與解決方案總裁,主抓產品研發。甫一上任,“小徐總”就提出了“三年把華為建設成為中國從事研發人員嚮往的地方”的戰略目標。這一目標拆解到產品與解決方案體系下屬的系統工程部,就落實到了 全面推行敏捷 上面。
經過 2008 年在核心網、無線等產品線的試點, 華為研發體系內部達成共識 :敏捷/迭代開發已經成為業界主流軟體開發方法。
系統工程部並定義出了 公司敏捷推行的“三步走”策略 ,將敏捷實施分為專案級、版本級和產品級,要求 2009 年重點全面推進專案級敏捷,版本級敏捷進行試點,計劃 2010~2011 年在版本級敏捷試點基礎上進行逐步推廣。
敏捷匯入之於騰訊是進化
即便確定了敏捷的大方向,騰訊從未像通訊企業、尤其是華為那樣搞過自上而下的敏捷轉型運動。當時在研發管理部任高階專案經理的肖德慧認為,這是由騰訊的文化決定的。
在高速發展的網際網路環境下,騰訊團隊本身已經具備了擁抱變化、重視反饋、快速釋出、快速改進的“敏捷基因”,因此敏捷的匯入對於騰訊而言不是轉型、而是進化,不需要、也不適合以自上而下的轉型運動形式開展。
在這樣的企業大背景下,騰訊研發管理部沒有設計全公司敏捷轉型的整體路線,而是以平臺和服務的形式給各個產品團隊提供幫助,由團隊主動選擇。
研發管理部繼承了騰訊一貫的 產品思維 ,把敏捷也當做產品來運營,並定義出騰訊敏捷的 5 大特性。
壓力驅動下的阿里自發敏捷
2005 年 8 月,雅虎以 10 億美元投資和雅虎中國全部資產為代價,換取阿里巴巴 40% 的股份。這筆交易不僅解決了阿里的燃眉之急,而且讓阿里獲得了雅虎中國一批優秀的工程師。其中雅虎中國廣告團隊整體切換成阿里廣告團隊,並於 2007 年成立阿里媽媽。
阿里的敏捷之旅,就發端於這支團隊。據當時在阿里媽媽負責過程改進的李宇回憶,這支團隊最初是在 2006 年 3 月開始試用 Scrum,並結合了極限程式設計的一些實踐,經過近兩年的試點、推廣和改進,到 2008 年已經在全部門採用。
阿里媽媽開始使用敏捷方法的 出發點非常簡單 :業務希望每個月能定期上線,技術團隊就對應地制定了每月一個專案的排期。
五、瞭解中國軟體工程近 20 年發展脈絡
張鬆老師在《敏捷中國史》推薦序「敏捷畫卷:中國軟體史的精彩側影」中說,如果把軟體開發當成一個謎題,數代的軟體人在過去的 50 年裡前赴後繼地嘗試解決這個謎題,不過到今天為止,全世界不管是碼農還是碼神,我們仍在這個謎題當中痛苦掙扎。
中國用 20 年的時間邁過了西方 50 年的軟體工程發展史。《敏捷中國史》中一個個鮮活的故事和嚴謹的資料考證一起,描繪了敏捷方法在中國軟體產業的土壤中一步步發芽、傳播的畫卷,構成了中國軟體史一個精彩的側影。
《敏捷中國史》不僅幫讀者在巨集觀層面理清了中國軟體工程領域在過去 20 年裡發展的關鍵脈絡;一系列從業者的經歷巧妙串聯,更讓讀者從個體視角體驗歷史,瞭解眾多普通的軟體人是如何參與著歷史和創造著歷史。
接下來,讓我們更好地瞭解歷史,並致力於創造屬於 IT 人的更好歷史。
敏捷是一種重視質量、追求快速反饋的軟體開發方法。它對行業的影響遠不止幾個程式設計實踐,說它影響了 Java 技術棧的變遷,說它引領了 DevOps 和持續交付的潮流,甚至,說它在中國 IT 發展史上是濃墨重彩的一筆,都不為過。
然而,敏捷在技術人士中具有很大的爭議,有人將敏捷奉為圭臬,有人對敏捷嗤之以鼻。
大家對敏捷的態度為何有天壤之別?如今很多人所認識的敏捷跟 Martin Fowler、Kent Beck 等先驅主張的敏捷有何不同?70 後與 80 後老程式設計師當年是如何突破自身技術成長困境,將敏捷引入中國的?敏捷是如何從一個名不見經傳的小流派,到如今,從自由職業者,到創業小團隊,再到大型公司,無不接納並大力應用它的?IT 領域最有影響力的巨頭阿里、騰訊、華為的技術成長是如何深度融入敏捷方法的?
作為中國敏捷十餘年發展歷程的親歷者與推動者,資深老程式設計師熊節從整個中國 IT 發展程序審視敏捷,通過本課程帶你一起重新經歷一代程式設計師的青蔥熱血歲月,與你一起梳理中國軟體工程領域 20 年發展的關鍵脈絡。
不止於敏捷,你會切實感受到整個中國 IT 行業、乃至中國經濟的發展。
【課程目錄】
作者簡介:
作者:熊節,現任寶尊電商成都研發中心總經理,曾任 ThoughtWorks 總監諮詢師、 CSDN 技術主編。
IT 行業打拼 18 年,在金融、零售、政府、電信、製造業、全球醫療等行業的資訊化建設方面有著豐富經驗。翻譯了《重構》《軟體工藝》《實現模式》等行業重要著作,是中國 IT 浪潮中敏捷發展的領航者之一。熊節擁有利物浦大學 MBA 學位。
插圖:虎頭錘,旅居墨爾本的老程式設計師,北郵博士、北大碩士,15 年程式設計經驗。目前從事支付系統相關業務,曾轉戰區塊鏈、通訊行業。敏捷倡導者、手繪愛好者。