不支持Flash

图文:CodeGear亚太区Malcolm Groves演讲

http://www.sina.com.cn 2007年12月08日 11:51  新浪科技
科技时代_图文:CodeGear亚太区Malcolm  Groves演讲
图为:CodeGear亚太区资深市场销售总监Malcolm Groves演讲(骆磊 摄)

  2007年12月8-9日,2007中国软件技术大会在北京举行。中国软件技术大会自2003年以来已连续成功举办四届,秉承“弘扬个性、促进创新、引爆争鸣、激发活力”的宗旨,目前已成为国内技术水平高,领域覆盖面广,具有极大影响力的年度交流盛典。

  图为:CodeGear亚太区资深市场销售总监Malcolm Groves演讲(骆磊 摄)

  Malcolm Groves:大家上午好,非常感谢有机会能够来到这里给大家做一个发言。看到这么人参加这个会议,我感到非常高兴。

  今天大家可以看到会议的主题是关于最佳实践和创新的,主办方让我讲这个问题我想了很长时间,我想在这次会议上肯定会有很多资深的专家在今天、明天讲很多最佳的实践方式,让你的软件工程和软件设计更加完美出色。我不再讲一些其他的最佳实践,大家也都非常清楚。我在这里从另外一个视角看这个问题,从谨慎的角度来跟大家谈最佳实践。

  大家来开会的时候看到有很多的嘉宾演讲人,大家手里有他们的资料,知道他们来自哪家公司,他们的产品是什么,他们想要卖什么产品,这个很重要。我有两张非常简单的幻灯片,一个幻灯片是关于我们的公司,一个幻灯片是关于我自己。我们是完全做开发的,不做其他,我们百分之百的做开发。我们有很多的产品,大家可以看到,前面几个是大家比较清楚的,我们还有一些比较新的产品。我们的技术有

JAVA等等,我们都是用比较新的技术。

  (图)这些是我们所获得的一些奖,我们最近在美国也获得了年度最佳EHP奖。关于公司我就讲这么多。

  大家为什么要听我的演讲呢?首先自我介绍一下。我是搞软件开发,我也做软件的架构,也做解决方案等等。一般情况之下,如果你是非常好的开发人员,你做的非常好,老板会马上提拔你。我率领我的团队进行软件的开发,当然我们也做过很多非常成功的项目,当然也有一些项目非常不成功,做软件开发肯定是会有很多不成功,如果有人说做软件开发上一直是成功的,那他肯定是在骗你。我曾经也做过关于开发程序的优化咨询工作,而且我也为ALM的供货商工作,去讲最佳实践的问题。对于最佳实践来说,我可以说是有两个层次的经历,我也做最佳实践,我也去推销,同时别人也在向我不断的灌输最佳实践。我的市场部人说我来中国开会讲最佳实践,我的主题是最佳实践并不是非常好,然后他们对我的反映不是特别同意,大家都说我来参加这个会议,有这个主题是很愚蠢的。我希望大家听完我的演讲之后有这样的想法,不是说最佳实践不好,而是需要通过正确的方法来使用最佳实践。

  首先,最佳实践已经有了很长时间的历史,不是什么新鲜的事,已经很多年都有这么一个东西。我为IBM做最佳实践,当时微软已经成了最佳实践之王,摞起来的书比我的个子都高。关于软件开发最佳实践有各种各样的会议、杂志、网站、书等等,都在讲关于软件开发的最佳实践。大家想是不是这样,如果这么多年大家都在讲最佳实践,有各种人研究这个问题,这么多年来我们在软件开发方面是不是非常成功呢?其实我并不想成为一个给大家传播不好消息的人,但是作为一个软件开发产业,我们所做的并不是非常成功的。

  (图)这是2006年的CHAOS报告,每年都在做。大家可以看到一个成功的软件开发只占40%几。也就是说每做三次软件开发有两次都是失败的,这个失败的比率很大。这还不仅仅是唯一坏的消息,另外一个不好的消息,我们没有一个好的趋势,我们看2000年的时候,当时的失败率和现在差不多,没有任何很好的迹象。20年前软件很重要,但是不像现在这么重要,现在如果软件出了问题,即使你不是一个软件公司,也会很大程度影响你的业务,软件出现问题就好象到了世界末日一样。为什么会这样呢?我们在讲最佳实践讲了这么长时间,到现在为止为什么我们的软件开发相比以前没有任何好的改善呢?

  我要讲清楚我的最基本观点,我认为最佳实践并不是不好,或者说是邪恶的东西。我想说的是,如果最佳实践是由一些不是很专业的人或者那些没有经过严格正规训练的人使用,那么最佳实践将会是很危险的。我刚才讲最佳实践并不是不好的,他的好处在于他们可以作为我们研究其他的团队、其他的项目、其他的公司,他们是如何做项目的,我们可以引用最佳实践来研究。另外能够提示我们没有注意到的问题,我在读最佳实践文章的时候,会发现是解决一个问题,而那个问题我一直没有意识到。也就是说对于最佳实践所引出来的一些解决方案很重要,如果你给客户做解决方案的时候,可能更加能够考虑这个解决方案所涉及的所有最佳实践。我想强调,有的时候最佳实践可能是作为你自己解决方案的一个起点。

  很多最佳实践都没有一个前后的背景支持,大家有很多人做软件开发,你们可能有很多人是在同一个支持的行业工作,但是我敢保证你们所在的团队、你们工作的环境等等,所有的背景是不一样的。最佳实践一般来说就是你面临什么样的问题,最佳实践的解决方案是什么以及方法是什么,根本不会考虑你所面对这些问题的背景和环境。一般来说,最佳实践如果写成教科书,这些最佳实践所来自的开发团队都是顶级的开发团队。但是大家所在的开发团队,大部分不是顶级的开发团队,也许有一两个顶级的开发人员,但是有一些人都是比较平均的。如果一个水平参差不齐的团队做最佳实践的话从开始的时候就已经落后了。有很多人有一个误区,认为最佳实践是一个能够很快速解决问题的方法。

  举个例子,如果你想部署你最终的项目,选择SOA肯定不会解决任何问题,如果换成其他技术就会解决这些问题。如果有人说我参加过这个会议谈论过这些问题,你一定要小心了。最佳实践出来之后,大家都知道,没有任何意义所在,我想在座的人,在你周围坐的人肯定有你的竞争对手,这个最佳实践你知道了,别人肯定也知道了。这样最佳实践怎么会给你任何的

竞争力呢?

  如果说正式模拟成功是很不困难的,如果模拟成功用几个最佳实践能够解决很多问题,我们不会有三分之二开发是失败的事实,这个信息可能让大家比较沮丧,希望我没有让大家感到不舒服或者灰心。也许大家感觉我在浪费大家的时间。其实并不是这样,我们可以用比较好的方法来面对这个问题。

  要尽可能多的最佳实践,要尽可能多的来这种会议,要了解最佳实践是什么。即使你不会学习最佳实践或者不会采用他们,但是你一定要知道如果不了解这些事情是不可能成功的。与最佳实践相比,对我来说更重要的是最不佳的实践。我们了解其他公司好的做法、成功的做法,要想模拟成功是很难的,如果我们了解他们所失败的案例,避免那些错误则是非常有效的。这点是最重要的,你在决定使用任何最佳实践的时候,一定要了解你所在的环境,自己所在的公司、总体的情况,一定要对自己诚实。你一定要对自己诚实,也不能对别人撒谎,一定要知道你的开发团队并不是所有的人都是最好的。一定要认识这个事实。

  我们刚才讲的要了解自己,要学习,要了解最佳实践,另外要对自己诚实,知道自己开发团队的优点在哪、缺点在哪。我们是解决问题的人,我们遇到任何困难把它当作问题解决掉。有的时候我们在开发程序上出现问题,开始研究,希望找到解决方案能够解决这个问题,就像我刚才说的例子不会取得成功,有的人没有想到马上解决,先了解这个问题、分析问题,然后想怎么解决问题,这样的人可能会成功。所以出现问题,当做你开发实践中的一个挑战去解决。因此可能会有一些最佳实践帮助你解决问题,因此你一定要想清楚,你的问题也许和其他人的问题不一样。我们在遇到问题的时候,很多人有这种习惯的想法,一遇到问题就作为一个成绩把它解决,这是比较危险的。我认为很多公司在解决问题的时候,开始并不是在写程序,他们是用一个白板来分析这些问题。因为很多问题开始并不是软件,而是人的问题。所以我们在软件出现问题的时候,不要想解决,要看它如何在我们的系统当中运转,然后再考虑解决。一般来说技术并不是问题的根源。

  我们研究问题是独特,因为你的业务环境不一样,开发团队不一样,所在行业也是不一样的,也许你的问题和其他的问题在某些方面是一致的,靠完全抄袭并不能解决问题。我们要尽可能的来参加今天这样的会,听一些非常优秀的演讲者在讲什么,他们最佳的实践方案是什么,他们在卖什么样的产品,要清楚的了解这些内容。永远不要相信快速解决方案,如果一个问题能够非常快速的解决就不是问题了,所以出现任何问题一定要先思考,它并不是没有解决方案,它需要你的思考和挑战,我们在开发团队里面也喜欢这样的挑战。

  最后我想说的是大家都是非常聪明智慧的人,关于任何最佳实践的内容要批判的来看,看它和你所在的工作环境有没有可适用性。谢谢大家。

发表评论 _COUNT_条
Powered By Google
不支持Flash
·《对话城市》直播中国 ·城市发现之旅有奖活动 ·企业邮箱换新颜 ·邮箱大奖等你拿
不支持Flash