转:敏捷释放软件能量

Posted by Admin L in Thinking in Programming & Software on 10-12-2011.

记者:新华航空
原文地址:不详
_____________________________________

敏捷释放软件能量
Agile Energy Free Software

软件开发是一个不断学习的过程,一定要不断地接触新技术和知识,不断地学习巩固自己,才能真正地在软件开发里获得最后成功
To achieve the success in software development requires you to learn consistently the new technology and to beef yourself up constantly

敏捷是一种开发方式
新华航空:非专业人士对您可能不够了解,能简单介绍一下您自己吗?
马丁•福勒:也许由ThoughtWorks同事介绍更好一些。
ThoughtWorks中方代表:马丁•福勒有16年的软件开发经验,近几年主要帮助各企业将前沿技术应用于关键业务信息系统中。他目前供职ThoughtWorks,是这间跨国企业的首席科学家。
ThoughtWorks是一家跨国专业IT服务公司,总部设在美国芝加哥,并在加拿大、欧洲、澳大利亚、中国及印度等国家和地区设有分公司。
新华航空:我们知道,您此次中国行,是来参加第10届北京国际软件博览会暨首届“敏捷中国”软件技术大会。请您介绍一下什么是敏捷?这是一种软件开发的技术还是一种理念?
马丁•福勒:敏捷是一种开发方式。传统的说明性方法论采用的是一种由上而下的项目管理途径,来建立一种命令和控制体系。这些方法论的假设基于,只要有足够的计划和管理,成果就可以预测.风险就可以避免。
当客户的业务和技术都保持相对稳定的时候.这些方法论很有效。然而,对于那些与日俱增的战略性软件项目来说,说明性的方法变得既不能提供企业所需要的灵活性,也不能提供企业所需要的市场进入速度。大多时候.最终的结果不是高价值的软件,而是一大堆分析结果,它们只会在某个经理的书架上积满灰尘。这和在白板和键盘上发生的变化……或者,真正的商业需要来说。相差太远了。
敏捷方法基于非常严谨的过程。实际上许多这些实践都已经有着充分的定义,能够直接纳入开发工具之中。例如.单元测试框架,持续集成工具.带重构的开发环境,就构成了新一套开发工具,让人们能够更快更好地创建软件。
很早以来的研究已经证明,唯一能对软件生产力产生重大影响的,是人。然而,奇怪的是,敏捷方法是第一套基于人们实际软件开发特点的软件工程实践。
新华航空:除了行业的技术人员之外,还有什么人应该了解敏捷?
马丁•福勒:依我个人的看法,任何人都需要了解敏捷,知道它的精髓所在。现代企业需要快速推出新业务.快速响应业务变化,敏捷软件开发帮助企业获得这种能力。
当然很多东西不知道并不影响生活,但知道了,会活得更有乐趣。你永远无法预
知哪一些知识你永远也用不到。

成就永远在下一个项目中
新华航空:作为“首席科学家”,您的日常工作是什么?
马丁•福勒:我的生活分为两大部分.居家和旅游。我所说的旅游,就是不定期地到任何一个需要我的地方,去传播我的观点,向人们介绍一些新的工作方式。居家的时候,我要更新自己的网站。同行之间会探讨许多技术问题.我需要不时给予回应。我要种花,要写文章。有时候.我也会写一些与IT无关的博客,当这些文章有了一定的累积之后,将结集出版。
新华航空:说到写文章,您的著作一直处在软件技术的最前沿,如何保持自己的知识更新?如何得到大量的项目经验?
马丁•福勒:更新是一个重要的过程,也是必须的过程。任何一种观念和技术都必须时时更新.对于我来说.不断地和别人交流与沟通,广泛地汲取,是获取信息的最佳渠道。
许多交流,在开始的时候并没有目的.但可以在进行的过程中激发灵感。我的长处并不是自己如何去写程序,解决具体的问题,而是善于把一些非常复杂的问题简化。这恐怕也是一些中国同行把我称为”教父“的原因,因为我在软件开发领域所做的一些工作,确实很像在“布道”。我们都知道很多道理是相通的.也许其他行业的某一个小改进,跨行业运用到另外一个行业之中,就会引起巨大的变革。说到这些,恐十白要列举大量的案例,说一天
也说不完。
新华航空:那么,中国成为您旅游目的地的原因是什么?是您个人有兴趣还是您所供职公司的需要?
马丁•福勒:应该说公司需要更多一点.当然这不意味着我个人不愿意来。我很愿意。中国这些年经济与科技都有了长足的发展.我所供职的公司认为这里有很大的市场,我们的技术应该能得到更充分的发挥。另外.东方的神秘文化对我们有着相当地吸引力,我们想把中国的传统文化融入最新的软件开发理念之中。
中西合璧的软件开发理念也许会在原来的基础上有所提升。
新华航空:您说到中国传统文化,她在您的心目中有怎样的印象?
马丁•福勒:我这是第二次来到中国,还无法对中国有很具体的印象,所以,这个问题,我回答不了。
新华航空:那我们可以理解为您对中国并不了解,但坚信这里土壤肥沃。是这样吗?
马丁•福勒:对中国的了解,是公司的人正在做的事情。我只要知道这里有人需要敏捷即可。有多少人想知道,是做市场的人应该负责的,我们有不同的分工。我只负责对这些想知道的人传播我对软件开发的认识,而现在,还仅仅是开始,未来会是什么情况.到时候用案例说话。
新华航空:听说您有一个别称叫“软件开发教父”,请问这个称呼是怎么来的,是因为您的成就还是别的原因,您自己清楚吗?
马丁•福勒:我不太清楚这个称呼的来源.当我出现在中国的时候.有人告诉我”你是软件开发教父”,当时我很惊讶。“教父”给我的第一个印象就是马龙•白兰度的电影,那个电影充满了暴力.和我并没有任何联系。如果是在美国,相信没有人会这样叫我,但在中国.这或许是一种尊敬。我非常感谢同行们的厚爱,不过我一向不太注重自我的评价.关于我有哪些成就.为什么会成了“教父”,我自己恐怕很难弄清楚,何况,这些恐怕也不重要。
对于从事技术研究的人来说,所谓的成就.永远在下一个项目之中寻找。
努力培养自己的精英
新华航空:我们都知道世界上没有任何一种技术是万能的,请问敏捷更适用于什么样的企业?能够给他们带来什么帮助?
马丁•福勒:是的,任何技术都有局限性,理论也一样。在不同的环境里,同样用技术手段解决问题可能会得到截然相反的结果。
以我们自己的经验来说,敏捷更适合于那些规模不是特别大,又愿意进行技术创新的企业。没有需求就没有市场,一个不想变通的企业,去说服它接受某种技术手段,某种思维方式,很困难也很没有必要,毕竟我们不是救世主。而小规模的企业,组织架构之间的关系相对简单.与敏捷的思路更为契合,当我们的目标一致,思想也达成了共识,很显然,中间环节越少,越不会造成信息的传播损耗,也就越容易获得成功。
新华航空:这些企业该如何着于实施敏捷呢?
马丁•福勒:要让软件获得最大的价值就是每个参与的人员都必须要了解软件本身.尤其是管理层,他必须要非常密切关注这个软件的走向。这也是我们现在所做的工
作,我们要求我们的领导人或者管理人员能够更加有效地管理。管理高层如果要获得尊重的话.必须要能够有能力领导这个项目小组,这个项目小组所做的工作很大程度是跟技术有关。
最重要的就是技术是否有价值,管理层要心知肚明。
新华航空:为什么最近这几年敏捷会成为热门话题?
马丁•福勒:如果我们用旧的方式思考软件的话,也许我们就只会看分析师、设计师,这是线性的.从上到下的过程。但是比如说有一个工作小组,有六七个人,他们的协作非常好,而且也正是以他们为中心.去看开发者的综合需求,再做分析。这样,他们成了整个过程的中心。这就体现了敏捷在软件开发中的方式。
我们需要的是协作,软件开发不是靠单个层面上的人或者哪个角色才能体现出来
的。我们需要的就是在沟通和不断互动的过程中不断获得最好的结果。
新华航空:也就是说,您所倡导的软件开发更注重用户信息反馈?
马丁•福勒:反馈是整个过程非常中心的一个价值体现。因为它必须要有非常明确的编程过程,同时我们面临着各个层面的问题。比如测试的时候会有—些问题和故障出现,我们如果有了这样好的方法论引导的话,整个系统运作过程中都能快速找到问题
出在哪个层面?
有些人会开玩笑的说使用者不会告诉你,他总不知道他们应该从这个系统中获得
什么东西,这个概念他们实际上很模糊,他们只会说要什么,有什么需要?那么运行的
过程可能会出现转变,当你把产品交给他的时候有些人可能会说不符合他的要求。我们所做的工作就是在这样的一个软件开发过程中和平地和他进行沟通.不断获得客户满意度的反馈,而且不断收集新需求以改变我们的版本。在这样迭代的过程中也许就会改变软件生命的走向。上一次迭代在下几个迭代周期中会得到改变。
之后在生产或者上市这个软件的时候,即使这种反馈会让每次迭代所做的反馈不一样,但是我们可以保证每一次出现的结果都是能够基本上获得满足的。
尤其是我们必须要抓住每一次好的机会,因为每一步都必须保证价值能够得到体
现。比如说,从这软件中应该最大限度的获取它的价值。尤其这个软件运作开始地时候就应该不断地在改进过程中,不断的延续.如果有新需求出现的时候,这种新的需求也是运作新价值的一个动力。而且,我们的这种软件必须要容纳性很高,也就是可以容纳新需求的产生。
敏捷的目的就是为了适应新的需求,制造新的机会。同时,如果我们进入了变化
非常快速的环境,对于互联网来说,可能它会不断地出现新特点,我们就必须每天时时刻刻审视它的反馈是否获得了满足?我们有一群人必须要做一个测试.然后再寻求一答案。解决我们现在做的事情是否是为了一个目标而进行的。
新华航空:敏捷在欧美的普及情况如何?有没有更新的开发方法出现,与敏捷有什么区别?
马丁•福勒:我不能给你提供具体的百分比数字,来明确敏捷与其他的方法相比,普及到了一个怎样的程度,但有一个事实也许能够说明问题:这些年,我们在欧洲基
本上不需要再做业务推广,去打广告或者搞相关的活动等等,倒是越来越多的业外人士(包括媒体)主动与我们联系,有些人需要我们提供有关技术支持为他们解决问题.有些人也像你刚才所说.处于职业的敏感,关注敏捷的发展,予以不同程度不同角
度的报道。
就目前来说,敏捷依然是非常前卫的开发理念,不那么容易被超越.短时间之内也不见得能有更新的方法来取代它。
新华航空:您认为中国的企业和欧美有什么区别?他们对于敏捷的态度如何?敏捷能够给他们什么帮助?
马丁•福勒:我还没有真正和中国的企业打过交道,所以无法说明他们和欧美的企业有什么区别。
我想说的是.在软件开发行业,印尼的实验室和美国硅谷的实验室都有可能做出惊人之举,地域限制已经不是问题。关于企业,我的同事告诉我前几年中国全盘引进的西方管理模式和系统,并没有考虑到本地应用的细节问题,相当于一种复制行为,具体运行过程中会有各种隐患出现。有很多技术在落地之后根本无法运用,造成大量的资金浪费。这些年中国的企业更注重与自己的实际情况相结合.不单纯复制,而要参与研发。所有人都看到了一个事实,中国的企业渴求成长,也在迅速成长.也许有一天,会是欧洲国家全盘引进中国的技术与管理模式,重复当初他们对中国所做的一切。这些都很难说。
新华航空:从访谈中不难发现,您好像对非专业之外的话题缺乏兴趣。如果可以选择,您喜欢被问到哪些问题?
马丁•福勒:我不是一个刻意的人.要去安排和选择喜欢什么不喜欢什么。我知道面对媒体需要足够的适应能力.因为你无法预知记者要问什么,而拒绝回答显然是不够礼貌的。但是相比较而言,作为一个搞技术的人,我想我和我的同行都更善于对所从事的专业畅所欲言。
新华航空:抱歉我们不能追问技术细节,我们不是一个软件开发方面的技术杂志。我们的职业需要是对新生事物感兴趣,并让更多的人知道。
马丁•福勒:你说得有道理,但敏捷开发并不是一个新生事物,在中国至少也推广了5年时间。
新华航空:这似乎说明这个推广不算成功,还只是一种业界的普及,所有的商业软件最终都是要给普通人用才能产生价值。
马丁•福勒:是的。敏捷开发实际上也努力缩短程序员与用户之间的距离,大家并没有主从的关系,而应该结为同盟。
新华航空:去年,您第一次来中国的时候,曾经说过“中国正处在自己软件开发历史的十字路口。”在您看来,中国软件开发业面临的首要问题是什么?
马丁•福勒:中国软件开发业面临的首要问题是缺乏对软件开发重要性的认识。中国不应把本国的优势确定为拥有比西方成本更低廉的程序员,而要,努力培养自己的精英。刚才已经说过,印尼的实验室和美国硅谷的实验室都有可能做出惊人之举,地域限制已经不是问题。一个拥有顶尖人才的小团队一定能胜过由中庸之辈组成的大集合,即使前者可能要付出更高的成本。
新华航空:如果请您给中国的程序员们提一个建议,您会怎么说?
马丁•福勒:如果一定要我给一个建议,我会说软件开发是一个不断学习的过程,一定要不断地接触新技术和知识,不断地学习巩固自己.才能真正地在软件开发里获取最后成功。

【赞赏 / Reward】

微信         支付宝         PayPal

Post a comment