敏捷史話(八):敏捷的破局之道——Martin Fowler

敏捷開發社群發表於2021-03-03

在 Martin Fowler 的世界裡,任何事情都有最優解。


1963年,Martin 出生於英格蘭的沃爾索爾(Walsall),也在同樣位於沃爾索爾的瑪麗女王文法學校中接受中等教育。在這裡的鄉村中,他度過了一段簡單、愉快的少年時光。

上了中學之後,Martin 接觸到了策略桌遊。在桌遊的“廝殺”中, 如何從複雜的局勢中找出最簡潔、直觀的破局之法,就成為他想要尋找的答案,也成為日後他解決任何事情的目標。

1986年,Martin 畢業於倫敦大學學院,獲得了電子工程與電腦科學的學士學位。自此,Martin 踏入了軟體領域。

重構


畢業後,Martin 分別在 Coopers & Lybrand 和一家名為 Ptech 的小型科技公司工作了一段時間。之後,又作為一名獨立顧問,為世界各地的公司提供相應的幫助。

在觀察了多家公司的工作模式之後,Martin 發現, 由於軟體需要不斷地修復 Bug 並新增新特性,這會讓原本的程式碼庫變得繁雜,導致之後的工作進度越來越緩慢。

舉一個很簡單的例子:假設我們有一個抽屜,最初,裡面只有三四樣物品,這樣我們很輕鬆地就能找到並拿出某一物品。但當抽屜內放置的物品越來越多時,再想要找到特定的物品就非常困難了。

那麼,如何用一種簡單、直觀的方式來解決這一問題呢?Martin 想到,為了應對更改逐漸疊加的這一情況,可以用重構程式碼來減少這些不必要的複雜性。於是,Martin 開始籌備《重構》一書,希望能夠將程式碼重構的實踐帶給更多的公司與團隊。

1991年《重構》出版發行,這本書成功地推動了“重構”實踐的普及,幫助程式設計師們編寫出易懂、易維護的程式碼,同樣也開闢了一個“炒熟飯”的市場,指導了企業或開發者,如何將“爛程式碼”重構。這之後,Martin 又分別於2013年和2018年出版了《重構:Ruby 版本》及《重構:改進現有程式碼的設計》,以指導職業 Ruby 程式設計師實踐重構,並指出:重構並不是出現在專案計劃中的一項特殊任務,而應該是程式設計活動中的一個常規部分。

Martin 認為,重構其實很簡單,只需將複雜的事情拆分開。

《敏捷宣言》


隨著應用軟體的蓬勃發展,軟體開發的升級成本越來越高,Martin Fowler 開始轉而追尋軟體開發的最佳實踐,“輕量”方法論漸入人們的視野。

隨後,Martin 為了形成全面運動的核心,開始同 Robert C. Martin、Alistair Cockburn 著手組織一個關於“輕量”方法論的聚會。

會中,Martin 與 Ward Cunningham 兩人對會議進行了全面的調節,快速制定出了會議流程與決策方法。就這樣,雪鳥會議開始了。

回憶起二十年前的那場會議,Martin 認為,參與雪鳥會議的這十七個人並沒有什麼特殊之處,他們也並不是唯一擁有這些價值觀和原則的人。他們在隨後掀起的敏捷運動中沒有任何特殊的地位,也並沒有要把自己建立在這樣一個地位上的願望。

實際上, 對於敏捷軟體的未來,每個人都擁有發言權。

“bliki”的誕生 


對 Martin 來說,記錄是一個非常好的習慣。一方面,在與行業夥伴進行深入交流後,能夠產生一些靈感碰撞產生的火花;另一方面,他會親自思考實踐並抽象總結,然後通過出版物、部落格、網站等,同大家分享自己的理念。

Martin 的寫作之路,早在20世紀就出現了苗頭。90年代末,Martin Fowler 為《分散式計算》寫了一篇專欄。同時,Martin 接觸到了一位出版社編輯,也陸續在 Addison-Wesley 公司出版了一系列的書籍,包括:《分析模式:可重用物件模型》、《UML 精粹:標準物件建模語言的簡明指南》、《重構:改進現有程式碼的設計》等。

在21世紀初,Martin Fowler 又在《IEEE軟體》雜誌的設計專欄做了五年的編輯。這幾段專欄作者以及編輯的經歷讓 Martin 體驗了從文章產出、校對到發表的全流程。與需要經過複雜校對稽核的流程相比,Martin 更傾向於自己掌握主導權。

與此同時,blog 開始流行,很多人開始邁入 blog 大軍的行列,Martin 也躍躍欲試。但在接觸了 blog 後不久,他對此有了一些微詞。在他看來,blog 中簡短的文字就如同天空中的煙花: 稍縱即逝、無法保留。給他類似感受的,還有 wiki——一個很容易就會導致資訊複雜、冗長的網站。因此,他決定建立一個介於 wiki 和 blog 之間的網站,既能像 blog 一樣釋出一些簡短的想法,又能像 wiki 一樣建立一個交叉連結的主體。

很快,一個名為“martinfowler.com”的 bliki 網站誕生了。一開始,Martin 會在網站上時不時地更新自己的文章,文章內容涵蓋了軟體開發領域的方方面面。隨著網站越來越受歡迎,他認為,是時候以這一網站為平臺來幫助更多作者增加曝光度了。所以,Martin 開始在網站中逐步增加他人的文章,並對收到的每一篇文章都進行仔細地審查,以確保網站內容的質量。

現今,已年近古稀的 Martin Fowler,同妻子住在波士頓市郊。在工作之餘,他們會去度假、攝影、徒步,也會將沿路的風景、人文分享給自己的讀者。這些日常不僅帶給了 Martin 很多工作中的靈感,也激發了他寫作的動力。或許, 問題的最優解,就藏在生活的每一處小細節中。

相關文章