這個有爭議的軟件開發方法,陪伴一代程序員走過了 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 年編程經驗。目前從事支付系統相關業務,曾轉戰區塊鏈、通信行業。敏捷倡導者、手繪愛好者。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章