环境不好,CMM也不能救命
gigix 2003-04-11 10:19:07 zhang_qxian:
现在国内的软件企业能够活得了10年的寥寥无几,为什么?因为技术落后?因为没有采用C++或者Java?没有采用面向对象?没有采用极限编程?没有采用CMM?
我不知道。但我知道企业生存的困难!!!“有些时候,我总觉得国内软件公司的分工不是很明确,往往一个人要干多项工作.”这不仅是小公司的做法,就是大公司恐怕大多数项目也是如此!!!为什么?根本的一点就是企业要赚钱养活我们,要在市场上生存。恶魔对于项目利润的分析有其道理,也比较实际。这对于以项目(而非产品)生存的企业尤其深刻。项目的三要素是“时间、质量和成本”,三者其实都是为了赚钱的最终目的。我们程序员只有在最短的时间内,以最好的软件质量和最少的成本完成项目的开发,才能为企业创造利润,但真正能够做到这一点的程序员有多少呢?我们在狂热追求技术进步的时候,我们为企业创造利润的能力究竟有多大的提高?我们学技术仅仅是为了自己的爱好,仅仅为了孤芳自赏或者成为炫耀的资本?换句话说,我们学C++的真正目的是什么?我们扪心自问,谁能说句实在话?
当然,我们不是工具,不是“人件”,软件也没有什么银弹来解决自己的危机。炒作也许有炒作的必然,盲从也许有盲从的必然,我们谁都无法干涉别人的自由。在座的各位都是有思想的人,都会为自己的言语找到理论的根据,然后理直气壮的在这里辩论,真理是越辩越明的。
既然话题都已经谈开了,我不妨讲讲对CMM的看法。从我们公司CMM的推广情况来看,效果并不理想。(1)高层推动,下层敷衍。高层对CMM非常重视,下了死命令,要求必须要几月过几级。中层经理迫于压力,也一再推动。但真正到了项目经理和程序员这一级,反而意见最大。为什么?他们认为“文档多了,工作量大了,工资又不涨,我凭什么作?我有空多看看书,多了解新技术也比干这玩意强啊”。所以,尽管上面大张旗鼓,下面却是敷衍了事,文档只重格式不重内容,几乎都是废纸。我和一个QA聊过,她意见颇大。她认为搞就认真搞,不搞就算了,如果是敷衍,还不如不搞。这正说明了,恶魔所说的“国内对软件工程的热情大都来自程序员本身”在我们公司并不存在,呵呵。我们公司的程序员是反对软件工程的,呵呵。
(2)为什么大家不愿推动CMM呢?CMM究竟能够给我们带来什么?从CMM的实际内容来看,强调的是软件开发的成熟度,是将软件开发流水线化,期望软件开发过程成为可控过程。但在实际的情况中,这太理想化了。一个2个月的50万的项目,如果严格按照CMM规范,只写这些文档就要花3周,还有多少时间好好编程,多少时间好好测试?所以执行起来难度很大,项目经理和程序员意见很大。但反过来说,CMM在大项目的运作上倒是有一定的意义。但是大项目的获得在中国是多么的困难,我想恶魔、梦魇和Schlemiel(维特根斯坦的扇子) 这些资深撰稿人肯定深有体会。(3)我们会学习,但我们会用吗?也许我们知道按照CMM按部就班的开发软件,开发出的软件质量也许比原来有所提高,但周期可能也比原来长。难道CMM是这么死板的东西?我们难道不能根据项目的具体情况进行剪裁吗?我们非要按照国家机关式的一步步签字评审吗?我不知道别的公司或者外国公司是怎么执行CMM的,但我可以肯定的是,在中国,即使过了CMM 5 级,也不见得对软件质量的控制到了99.9%的成功率。
科特勒说:"很奇怪,我很难理解你们中国人的思维。这些公司在市场上没有竞争力干嘛要在市场上生存。我唯一能够给他门的建议就是趁早关门"。 但是,这些公司关门了吗?没有,他们在市场上捣乱,我挣不到钱,你Y的也别想挣。这就是中国很多企业的生存之道,什么双赢,只要我自己赢就成,管市场秩序?开什么玩笑?我记得有个咨询公司的讲师来公司将项目管理,有一个“红黑大战”的实际案例。如果双方想着双赢,肯定合作愉快,最终双方的收益能够都得到最大。但实际操作中,乙方违背了这一原则,只想自己赢,市场乱了。好,甲方一看乙方不合作,自己损失惨重,那好了,我不能置企业员工生死不管啊,我也捣乱。结果乙方收益也是负的。所以,中国软件企业的环境,难啊!