也谈Google春运交通图的开发

来源:互联网 发布:佳能打印软件下载 编辑:程序博客网 时间:2024/04/30 15:13

      前日,李开复同志在南京接受采访时说,谷歌的春运交通图是工程师用一天一夜的时间开发出来的,并且此举来自于软件工程师的想法。程序员的创意,用一天一夜实现, 充分彰显了Google程序员强大的技术实力和强烈的社会责任感。在此,向这位程序员表示我崇高的敬意!

        行此文,不是想对春运交通图的细节进行评说,只想说一点。这一点就是我莆一听说此事的第一反应,就是我们现在到底应该怎样来开发软件。

        我国的软件产业越来越规范,越来越International,多数公司将CMM、ISO奉若神明,竞相追逐。但凡一个项目,无不要经过详细的可行性分析,立项、需求调研,概要/详细设计、编码、功能/集成测试,然后才能上线。整个过程还必须要严格的配置管理、计划管理、风险管理并辅以大量的文档,缺一不可。各个环节人员各司其职,各就其位,相互咬合,协同工作。似乎唯此,才能交付理想的系统,才能获得客户的满意度,更重要的是,好像这样才能符合公司所谓的规范。

         我无意对这样的做法做出反驳,有所偏见,相反,我所负责的工作也是这样来做的,公司也引以为傲。我们的CMM马上要奔5了。只是,这样的做法真是一副万能药吗?能适合所有的软件项目吗?长此以来我是一直打着问号的。有句话说得好:细节决定成败。我赞成。但上述这一套的软件工程规范却不见得完全适用。过分繁琐的细节和要求,有时反而会成为项目进展的绊脚石,运用不当,事倍功半。

         回到开头的例子,如果Google的那位程序员严格按照规范来做:先去进行些可行性研究,然后打个报告给Leader,leader来个批示,呈给Manager,Manager再交给Advance Manager,最后辗转到Boss李开复老师那儿,都Ok了,再制定个计划,联络设计部、编码部、测试部、设备部相关同事,组建团队,再评审,再设计,评审,再编码,审核,再测试,改Bug,再测,最后再上线,得!想必到那时广铁路段早就畅通无阻了。当然,你可以说春运交通图的功能少,而且是在原来的地图上加的功能,不用经过那么多的过程,Google的工程师都是高手,质量也能保证。对!不过咱只是借此举个例子说明问题,细节不必太过计较。

         过程规范了,最理想的情况是项目可控,人员分工明确,职责明确,质量能保证。可这确实需要付出相当的代价!时间、人力,成本,这些都是pm们要考虑的。早就听说过有句话,在中国,不缺少软件开发基础人才,缺少的是软件开发的管理人员,为什么缺?就是因为这本来就是一个很有难度的领域,在国外尚不能很好的把控,何况乎国内?

          我做程序员,最烦的就是写文档,虽然我也承认有些文档确实不写不行写了很有意义,可就是不想写。另外一个烦的就是别人叫我coder,每每我都较真的跟别人解释我是programmer,不是coder。我脑子里coder跟programmer差别是很大的:前者就是编码的,印象中很机械的那种,比如时下诸多软件外包公司的同行们(我可没有贬低兄弟们的意思);后者呢,是软件工程师,编码只是其一部分工作,还能进行程序设计,级别高一些(不知我这样理解对不对)。不过在规范里,programmer的空间似乎被挤压了。

           最后说一点,很欣赏开复老师对Google程序员的态度。这说明Google是一家开明、包容的公司,在其中的每一个人,只要你有好的创意,你就有发挥的空间,不必限于规定,束住手脚。这是我等程序员们多么梦想的事情啊!

        

原创粉丝点击