Aaron之无主题空间

皆主题,此谓无主题。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
2004年12月14日 星期二

记得周末难得看一次电视,是第一财经的,具体什么栏目忘记了,是久仰大名的郎咸平说中国的传统文化和中国的高科技,节目还特意用诸葛亮和鲁迅象做背景,并用火箭等象征高科技。其很多观点十分新颖,并使我甚有感触。

其让我印象深刻的就是其国内"中餐馆"模式的研发理念。让我愈加相信软件开发过程的重要性,再加上前几天看到网上对Ivar访谈文章,以至使我似乎能够看到国产软件的出路了。这样说是有点夸张的,其实不过是更加坚定了我努力的方向:软件开发过程及开发项目管理。找了很多年"为什么中国的软件水平比印度人差"的原因的国内软件精英,多少应该从郎这里获得些启发吧?

前几年,看到很多人在为这个问题困扰时,也有很多有识之士去印度考察,带回来一堆感慨和感叹。也即同时,国人上下开始高呼:文档,要文档!其彭湃之势简直就是给人"文档将拯救中国软件业"的感觉。那时,总在网上看到"跪求××软件开发文档模板"之类的帖子,并从者甚众!可是,当越来越多的"文档模板"给了你时,你又发觉了什么?发觉文档并未如"还魂丸"一样给国产软件以起死回生之效,相反觉得做文档时那么累,最关键的是:文档并不是象想象中那么管用。说直接点,找了很多模板写了很多文档,这些文档却在开发过程中渐渐被抛之脑后——写了也没用。鄙人同样曾遭遇此情此景!问题在哪里呢?

问题在于:我们在为了"做文档"而做文档,我们不是为了提高开发质量而做文档。如果你说是,那么也只是你认为是而已。哲学一点说:形而上学;通俗一点说:知其然却不知其所以然。请问强调要写文档的同仁们:有没有想过,为什么有了文档就可以提高开发质量?

……

不管答案是什么,我都不care,因为问题本身就有问题,没人说有文档就可以提高开发质量。原因是:很多很多文档写的什么都不是,不够格,涂鸦而已,绝不可以作为软件文档,更不用说作为"开发依据"、"交流手段"了。问题又在哪里呢?这又要回到前面很多人"跪求软件文档"了,很多人在得到"文档很重要"的信息时,却不知道如何下笔;秉承中国八股文传统,一窝蜂似的去找模板。找来模板吭哧吭哧一节节填进去,完事!很多文档就是这样出来的。更壮观的是,不同的人针对同一需求写出来的文档天南海北;一个公司的各个项目组之间更是乱七八糟。文档编写没有Review、没有Rework,这样的文档质量不堪入目!更要命的是,这种质量改进的方式导致了很多人对于ISO9000、CMM的印象就是“要做很多文档”(坦白说,我由衷的鄙视这种想法)!

终于说到了ISO9000和CMM。
我最早的公司实施过ISO9000并顺利通过,但当时记得好像只有部门经理以上级别的人忙的要死,说要“背很多东西”(我考)。而公司大部分人不知道ISO9000是什么东西,能感受到的就是公司多了几个大牌子,上面写着公司的质量方针。没有任何针对员工的培训!几年后我随便翻阅了一下公司的质量手册,当时记得有一章节写的关于组织内各种角色的职责的时候,看了一下总经理的职责,大致意思是:向所有员工表述公司质量方针以及质量的重要性,并努力推行质量政策。可是当时大部分人都没有被告知ISO9000是什么东西,我们通过这个玩意儿有什么好处,大家以后应该怎么做。这样就通过了!我估计很多公司是这样通过的。
再说CMM。大概在2002年或是2003年春天,我看到新闻说:杭州今年60个软件企业将一起通过CMM3评估。2002前后,我记得国内过CMM3的屈指可数吧,所以当时看到这个新闻很是咯噔一下:CMM也开始批发了嘛?CMM当时在大家心目中还处于“崇高地位”,所以我还是很担心被搞得象ISO9000一样。就像一种高雅艺术被庸俗化的感觉,很痛心的说!

尤其这两年,大家都看到了,国内CMM2、CMM3的软件公司如“雨后春笋”般的出来了,不知道是祸是福。我曾痛苦的、无声的祈求:企业老总们,请你们不要象糟蹋ISO9000一样来糟蹋CMM了!!

那么CMM真的是医疗我们软件质量硬伤的灵丹妙药嘛?事实是,还没有等到验证这个问题的时刻,CMM已经被毁掉了。其实无论是ISO9000、还是CMM,他们都应该能在一定程度上保障软件公司的产品质量,可是其实施很难。这是什么原因呢?人?环境?社会背景?关于下面的话题不敢多说,我想会在我的其他随想中零星的谈点。

我在Bleum呆过,我在Bleum的时间正好是Bleum通过CMM Level 4的时间。对在Bleum的经历体会、感想颇多,也因此找到了现在的兴趣:项目管理、开发过程。我有这样的兴趣是我觉得我看到了国产软件与Bleum这样的公司的差距,似乎知道怎么实现我辈“振兴民族软件”的长梦了。(笑,呵呵)我还因此“断言”:国产软件下一波的热潮必然是:开发过程和软件质量,以及真正的项目经理。或许这会是下一轮淘汰的渔网。

这个开发过程就是郎咸平说的“麦当劳”的生产工艺了。这个生产工艺能让全世界的麦当劳的口味、品质一样。有人会说,现在公司没有开发过程也可以做很好的软件的。是的,就像中餐馆一样,做菜的一切感觉都尽在不言中。可是一旦走了这个大师傅,这个馆子可能也就完蛋了。这也是很多软件公司受制于“核心开发人员”的原因吧。