国产精一区二区_午夜视频99_免费白白视频_中文字幕一区免费

敏捷史話(十三):我被 Facebook 解雇了——Kent Beck

禪道&敏捷開發
+ 關注
2021-12-13 11:36
627次閱讀

2011年,Kent Beck 加入了 Facebook 。那時的他已年過半百,幾十年的經驗讓他自認為非常了解軟件行業。在 Facebook 的新手訓練營期間,Kent 開始意識到,Facebook 與他所見過的任何公司都不一樣。

Facebook 確實在做真正的敏捷,不僅非常靈活,而且時刻在為改變做準備。在 Facebook 訓練營結束后,Kent 開始探索 Facebook 的代碼庫和文化。他發現,Facebook 用于構建和擴展產品的方法,徹底重塑了他對軟件工程的信念。

Agile history 13 01

Kent 剛加入 Facebook 時,Facebook 有2000名員工,當 Kent 離開時,員工數量擴展到了25000名。Facebook 非常注重6個月的審核周期。每6個月,員工就需要證明自己對 Facebook 產生的影響。而 Kent 對“影響”一詞顯然持有不同意見。

“這是我關心的指標,這是我的工作,這是我個人的影響……”

類似這樣的話,Kent 需要每6個月匯報一次。這確實能使每個人都專注于自己正在做的事,保證每個人對公司有所貢獻。但同時也有一定的缺點,社交工程師可以輕松提取私人信息,會使應用變得更加混亂,員工沒有動力去關注自己工作的弊端,而弊端也無法得到改進,從而引發破窗效應,沒有人會為公司做出一個好的決定。

所以 Kent 認為,Facebook 需要從關注影響向關注決策質量轉移,否則這種“僅對一方有利”的激勵方案,可能會導致類似英國劍橋分析公司倒閉情況的發生。

不管付出成本如何,代價多大,Kent 都只想做正確的事。不幸的是,這次的代價是他失去了 Facebook 的工作。幸運的是,正是他一直以來的堅持,才為軟件開發帶來了創世之舉。


極限編程的誕生

從小到大,Kent Beck 的家庭中都彌漫著技術的味道。他出生于硅谷, 有著一個對無線電癡迷的祖父,以及一個電器工程師父親,因此,小時候的 Kent Beck 就早已成為了業余的無線電愛好者。

長大后,Kent Beck 在世界著名的公立研究型大學——俄勒岡州立大學,取得了計算機科學學士與碩士學位,正式踏上了編程之路。

敏捷史話(十三):我被 Facebook 解雇了——Kent Beck

其實早在讀本科期間,Kent Beck 深受建筑師 Christopher Alexander 的影響,開始研究起了模式。Christopher Alexander 是第一個研究建筑物和社區模式的人,為城鎮、花園等建筑模式確定了統一的模式語言。在此基礎上, Kent Beck 與其他軟件工程師共同開發出了設計模式及實現模式,使代碼編制真正工程化,打造了軟件工程的基石脈絡。

1993年在《 Smalltalk 報告》上,Kent Beck 開始撰寫關于 Smalltalk 模式的專欄,同時結識了另一位使用 Smalltalk 的同仁——Ward Cunningham。Smalltalk 是一個動態且特別適合重構的環境,周期很短,因此使用 Smalltalk 模式能夠快速修改代碼,也可以很快寫出極具功能的軟件。

Kent 和 Ward 在意識到重構的重要性后,他們仔細觀察和分析各種簡化軟件開發的前提條件、可能性以及面臨的困難,希望能創建一套適合重構環境的軟件開發方法。

直到1996年,這個方法問世了。

敏捷史話(十三):我被 Facebook 解雇了——Kent Beck

1996年,Kent Beck 成為 C3(Chrysler Comprehensive Compensation)的項目負責人,在為克萊斯勒公司的全部 87,000多名員工處理薪酬系統問題時,他提出了極限編程方法。為此,Kent Beck 還專門改善了極限編程方法學,并寫了一本《解析極限編程》書籍。

雖然像 Ward Cunningham 、Ron Jeffries 等諸多敏捷大神級人物都先后參與到 C3 項目中,但系統仍然比預定時間延遲了幾個月才上線,而且該系統上線后的性能一直是個問題——只能處理10,000名員工的薪酬問題。最終,克萊斯勒公司在2000年2月終止了 C3 項目。

雖然 C3 項目從根本上來看算不上成功,但從另一個角度看,C3 項目中誕生的極限編程方法和一系列優秀的軟件開發實踐,在軟件工程的發展史上留下了 濃墨重彩的一筆。

面對極限編程這個創新領域,Kent Beck 交出了一份份漂亮的答卷,不斷驗證了極限編程的“存在即合理”。不管是和軟件開發大師 Martin Fowler 合著的奠基之作——《規劃極限編程》,還是《測試驅動開發》《解析極限編程》等系列著作,都讓更多人領略到了極限編程的精髓。


敏捷開發的誕生

2000年春,部分極限編程的支持者以及有助于推動極限編程的革命者們,一起參加了 Kent Beck 在俄勒岡州的羅格里夫酒店組織的“極限編程領導會議”,會議主要內容為如何推動極限編程的發展。

這次會議對極限編程的發展起到了重要作用,同時也掀起了一次軟件革命。

會前,Bob以及其他幾個參會者都相信,像極限編程這樣的輕量級方法將會使整個行業受益,應該會有更多人想要推動這樣一個組織的創建。然而事實并非如此,會議上很多參會者對此并沒有太高熱情。

會議休息時,Martin Fowler 找到 Bob 簡單討論了一番,是否還要再次舉辦一個會議,將會上提議的組織范圍擴大到像敏捷和自適應軟件開發等所有的“輕量級方法”,而不局限于極限編程。他們認為這樣不僅可以提高所有人的積極性,同時還能促使擁護這些方法的人進行更多、更全面的補充。

于是,就有了后來的雪鳥會議。 當然,Kent Beck 的貢獻遠不僅如此。


JUnit 的誕生

對于眾多的 Java 程序員來說, Kent Beck 和 Erich Gamma 共同打造的 JUnit,意義更加重大。也許正是因為這個簡單而強大的工具,才讓更多程序員更加認可和信賴極限編程,從而引發了敏捷開發的浪潮。

敏捷史話(十三):我被 Facebook 解雇了——Kent Beck

軟件大師的手筆和理念構建了一個 簡單而強大的 JUnit,它將 Java 程序員代入了測試驅動開發的時代。JUnit 連續榮獲2001、2002年“Java World 編輯選擇獎”以及2003年“Java World 最佳測試工具”、“Java Pro 最佳 Java 測試工具”等眾多獎項,深受 Java 程序員好評。

Kent 在一次采訪中聲稱,如果像 Scrum 一樣,通過極限編程來獲利,似乎不是特別道德,而且他對認證持保留態度。

很早以前,Kent 曾在中國做了一個很切題的主題演講——“ 務實的理想主義”。現實和理想往往是比較矛盾的,但是在充滿競爭和變化的現代社會,這種矛盾卻無處不在。對軟件開發來說,就需要一個理想的目標。你的目標建立了嗎?請勇敢地去嘗試吧!

[免責聲明]

原文標題: 敏捷史話(十三):我被 Facebook 解雇了——Kent Beck

本文由作者原創發布于36氪企服點評;未經許可,禁止轉載。

資深作者禪道&敏捷開發
禪道&敏捷開發
0
消息通知
咨詢入駐
商務合作