类别‘技术闲扯’的存档

Creation & adaption (2005-11-14)

一次聚会的时候,为了打击一个夸夸其谈的老兄,我告诉他,中国软件业与国外同行的区别,就是两个单词:Creation 和 Adaption。咱们的软件业其实啥也没有,都是在别人的基础上adaption的东西,属于creation的东西少得可怜。这样的东西实在不值得来吹牛。
最近经过几个大项目,有一个成功的项目,从斯图加特transfer过来的一套东西,咱们在这个基础上作新的项目,这个项目做的很好,从计划到执行,堪称完美。另外一个项目,大部分都是从新开始创建,没有摹本,所有的东西都需要全新的规划,这个项目很糟糕,项目一拖再拖,deadline完全被抛弃。所有的事情,一再证明,中国程序员只会模仿,不会创新,没有创意。
经验和知识,到底哪一个重要?动手和学习,哪一个对人更好?问出这些问题很可笑,在中国,10个小学生有9个都会告诉你正确的答案。每一个人都有正确的答案,可是事实上,99%的人都没有搞清楚事实的真相。前几天我们这里来了一个硕士,谈论的时候知识面很广,什么理论都能掰上一通,可是干活的时候就很怪。他习惯了从网上找源码,然后来修改使用。分配好module以后,我看着他找资料找了好几天,我们这里不能上网,他就从自己的硬盘里找资料,一直找不到合适的或者说是相关的,几天之后,他有点茫然,不知道怎么下手。开会的时候,他什么都说不出来。从工作之后,我见过很多很多这样的程序员。
前几年,那时候我在北京,那时候流行软件工程,各个公司都开始搞cmm认证。我所在的公司和中科院某所联合,结果来了很多博士硕士博导什么的,到我们封闭开发的现场,给我们讲软件工程,讲项目管理等等的东西。我们问问题,干嘛要这样?为什么需要做这个?我们不需要做这个,能省略掉吗?他们的回答,大都是根据理论应该这样,最好这样,这样才好,等等这样没有营养的答案。有一次聊天的时候,我问过他们中的一个,你们完整的做过这样的项目吗?回答让我很沮丧,他们所有人几乎都没有做过项目的经验,他们所讲的,只是国外的课本,和软件工程的理论、约定俗成的规定。那时候我哑然失笑,做工程的,没有经历过就来扯这么大一通,这不扯淡嘛。我后来开始了解国内的所谓软件工程和cmm认证,大部分其实都是根据书本上的理论来硬套。小学的时候,老师告诉我们不但要知其然还要知其所以然,可惜我们都忘掉了。怪不得到现在,也没有几个搞得好的。
因为我们没有经历过,所以我们只知道该怎么样,不知道为什么该这样。就像没有源头的水,终归是没有活力的。所以要创新,实在是一件很困难的事情。刚到上海的时候,和同行们聊天,他们很自豪的高速我,中国软件业的起点很高,中国通信业的起点很高,我们一开始就作很高阶的东西,云云。在我看来,这样的行业,起点高,一点好处都没有,没有经历过失败的,就无法知道现在的方法合理在哪里。有过项目失败的教训和实例,才能真正明白项目管理的方方面面。好几年前,看国外的很多案例,实话说,大部分都看不懂,因为没有经历过,看过就忘了对案例一点理解都谈不上。直到最近,经历过好些失败的成功的项目之后,再回过去看,才明白人家讲的到底是什么意思。
回到creation和adaption上来,现在都很实惠,国外有的东西,咱们干嘛不用呢,惰性,是每个人根深蒂固的东西。所以看看,中国大部分的东西,都是在人家的基础上,作作adaption,甚至简单的作个汉化,就敢拿出来亮。这样的大环境里,creation,太艰难了。