他改变了人类开发软件的模式,他被开发者们尊为“教父”,他从不与媒体谈论技术以外的事情。这个谜一样的科学家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很不喜欢接受采访,除非纯谈技术,否则对他来说简直是受罪。”