他改變了人類開發軟件的模式,他被開發者們尊為“教父”,他從不與媒體談論技術以外的事情。這個謎一樣的科學家Martin Fowler,終于首次敞開心扉,講述自己的故事。
“Martin Fowler!”“Martin Fowler!”6月21日,在第三屆“敏捷中國”技術大會北京開幕式上,近千名技術開發人員都表現出異常的興奮。
在觀眾熱烈的掌聲和興奮的期盼中,蓄著大把胡子、穿著襯衫、一身休閑打扮的Martin Fowler走上講臺,開始侃侃而談。沒有講稿,也無需講稿,因為有關技術的一切,他早已爛熟于心。
從“意外”到“教父”
從上個世紀80年代開始,Martin Fowler就一直從事軟件開發工作。說起走上這條路的原因,他的回答卻很簡單:“其實這是個意外。我在學校學的是計算機專業,我覺得很感興趣,就繼續從事這個工作。”
上個世紀80年代中期,正是軟件行業蓬勃發展的時期,Martin對面向對象開發這個新領域發生了興趣。他開始把面向對象的思想應用到商業信息系統的開發中去,并很快成了這方面的專家。而正是這個興趣,讓Martin遇到了對他產生終身影響的人。
“他叫Jim Odell,也是一個技術專家。”Martin說。那時候,Martin在當時美國最大的一家咨詢公司工作,負責軟件開發技術方面的工作,而Odell作為一個獨立的軟件咨詢師,恰巧跟Martin在同一個工作組,共同從事一些面向對象開發的研究。
“當時我們一起做概念建模,還有驅動開發。我非常享受跟他一起工作。”說起這些,Martin的眼光從深邃開始變得閃爍,似乎陷入了深深的回憶之中。
隨后,在Jim Odell的鼓勵下,Martin也開始寫書。他的思想,從面向對象開發到重構,從UML建模到XP開發(極限開發),開始越來越多地被人了解,他成了開發人員心中的大師。
2001年2月,17名像Martin Fowler這樣、在軟件開發各領域有所建樹的大師們,匯聚在猶他州Wasatch山脈中的一處滑雪場內,用3天的時間放松、討論。他們想改變傳統的以文檔為驅動的、笨重的軟件開發模式。
于是,在這個非正式的集會上,誕生了一個在軟件開發歷史上具有里程碑意義的“文件”,這就是被 廣為稱頌的《敏捷軟件開發宣言》,而“出生在英國的Martin Fowler,則讓全美國人學會了‘Agile(敏捷)’這個詞的發音”。《敏捷軟件開發宣言》的網站上這樣記載Martin。
傳統的軟件開發,開發者得先研究清楚用戶所有的需求,再開發出一套完整的方案。這不僅使得開發 周期長,而且整套方案中決不允許有任何紕漏,否則用戶的需求就無法滿足,而對開發者來說,更改也非常困難。而敏捷開發則是從用戶核心需求入手,在短時間內 拿出一個原型,然后根據用戶的其他需求增加模塊,同時修改和完善,屬于“可以讓汽車一邊跑,一邊換輪子”的開發方式,非常適合對開發周期要求越來越短的商 業軟件開發。
敏捷開發徹底改變了人類開發軟件的模式。
低調的自由主義者
事業上的巨大成就,讓Martin Fowler被技術人員奉為膜拜的對象,但他卻低調得讓人難以捉摸。
照理說,“教父”級的人物應該游走在全球各大城市之間,頻繁地參加各種學術交流和演講。而被技 術開發人員視為全球最受歡迎的演講者之一,Martin Fowler卻很少參加這類活動。Martin說: “我覺得人們給我的關注太多了,我不喜歡被關注。我就是一個普通的人,住在普通的房子里,開普通的車,吃普通的飯,有時間就去騎騎自行車,或者和我的妻子 去郊游。”
就連“教父”這個稱呼,他給出的惟一評價也只有兩個字——奇怪。“這個名字是別人給的,我談不上喜歡,也說不上不喜歡。就是有點奇怪,因為教父在電影和小說里,都是強盜那樣的人。”
相比之下,每每在做自我介紹時,Martin Fowler更愿意稱自己為“作家和咨詢師”,而他最喜歡的工作,則是現在的狀態——每天主要的精力都用來寫書和鉆研自己感興趣的軟件技術。“寫書是我最大的享受,這樣的生活很自由。”
的確,Martin是一個不折不扣的自由主義者,他做事的理由永遠很簡單,就是感興趣。也因為如此,Martin做了很多年的獨立軟件咨詢師,為的就是“獨立工作的公正性和創造性”。直到1999年,他開始為ThoughtWorks做一些咨詢工作。
ThoughtWorks完全開放的工作空間讓Martin感到驚訝,他發現在這里工作,溝通 是完全平等的。而更重要的一點就是,Martin發現,ThoughtWorks的工程師都有很強的技術能力,有些甚至不比自己差,只是不如自己有名。而 且他們離商業軟件開發非常近。
因此,Martin最終決定接受ThoughtWorks的加盟聘書,而且無論多忙,都會特意去各個項目組走走,給別人一些意見,也從別人那里了解商業軟件開發的最新動向。
采訪手記
離開技術就難受
在采訪中,Martin給自己下了這樣一個定義,“一個喋喋不休的人”。
第一眼見到Martin的時候,他剛跟技術人員結束討論,原定上午10點開始的采訪,因此推遲了15分鐘。進入采訪的會議室,這個絡腮胡的男人還沉浸在剛才的興奮中,很用力地握了握記者的手。
但當得知記者此次采訪的目的并沒有太多地關注技術時,我在他臉上看到了很明顯的失望,淺淺地說了一句: “噢,好吧。我喜歡說技術,不喜歡說自己的事情,所以我看情況,能說多少就說多少吧。” 正如Martin自己所說,他不喜歡被太多地關注,所以采訪開始得并不順利。
盡管如此,Martin還是很認真地配合著采訪,比如,當在提到一些書籍、人名時,他都會非常仔細地寫下來,就像對待軟件開發一樣,盡量做到嚴謹。
而這些小細節,也透露出這個軟件開發大師身上的一些特質。當問題一旦與技術相關,Martin 的話雖然不是太多,但可以很明顯地感受到他的目光會變得炯炯有神,手勢也會比以前多起來。如果問題和技術沒什么關系,比如他事業中的一些經歷,或者家人、 朋友時,他就會很認真地想一想,但談的就很少。
“在Martin的頭腦中,興奮點似乎只有技術。”ThoughtWorks的員工告訴記者。“Martin很不喜歡接受采訪,除非純談技術,否則對他來說簡直是受罪。”
(李響 計算機世界報)