CMMI没教你怎么做
每当我与企业谈及软件开发过程管理时,会得到很多问题反馈。尽管有相当一部分企业,以CMMI证书为目的,把CMMI当做“保健药”,但企业软件开发过程中的问题,却是实实在在的。而且多数都集中在质量问题、进度问题和客户满意度这三个方面。他们很希望能有什么方法,比如CMMI、PMP等理论,能解决这些问题。尽管很多时候,人们对“CMMI究竟是什么”,“PMP到底适用于哪类项目”只有模糊的“感觉”;但对解决问题的饥渴,促使很多公司的领导者认为,只要“引入了先进的管理理念”就能得到改善。结果,事实不出意料的差强人意,参与实施的成员会觉得,这些所谓“先进的管理理念”一点也不适用于他们的公司环境。这种现象甚至普遍到,很多人觉得国外“先进的管理理念”,无法适应中国的国情。
作为既有本土软件开发经验,又熟悉CMMI的主任评估师,我想很中立的说一句:
“并非是CMMI不适用,而是大家对CMMI有着普遍的误解。CMMI不是一整套可以直接拿来用的“做法组合”,而是企业的研发能力成熟度模型。
什么是模型?
就像汽车模型一样,它展示的是一辆汽车的各个部分及其组成关系;而想要造出一台高性能的汽车,光知道部分和组成是远远不够的,还需要实际的制造、组装、调试、测试的过程。所以,CMMI按照过程域展开,对应的就是汽车模型的各个部分及其之间的关系,而每个过程域中的目标和实践,则可以对应成汽车模型某个部分的组成部件,以及制造这些部件,所需要参考的技术标准。”
明确了“模型”的含义,你会发现,这就是CMMI在中国“水土不服”的根本原因:
-
CMMI只说了做什么,却没说怎么做;
-
怎么做是企业自己的事情,只有充分满足企业的独特性,才能持续而稳定的运下去
-
只有持续而稳定的运行,才能反映出企业的软件开发真实水平,换个词就是“成熟度”。
对于CMMI咨询师和企业来说,精力不应该放在如何搭建一个“汽车模型”上。如何“制造汽车”,而且是“性能越来越出色的汽车”,才是企业可以真正获益的地方,亦是咨询师与咨询公司能力的体现。