【IT168 技术文章】
前面提到软件过程的三个流派:CMU-SEI的CMM/PSP/TSP;ISO 9000质量标准体系;ISO/IEC 15504(SPICE)。这里主要比较一下CMM和ISO 9000质量标准体系中的9001的异同。
ISO 9000族国际标准是在总结了英国的国家标准基础之上产生的,因此,欧洲通过ISO 9000认证的企业数量最多,约占全世界的一半以上。受此影响,相当多的欧洲软件企业选择了ISO 9001认证。
在基本原理方面,ISO 9001和CMM都十分关注软件产品质量和过程改进。尤其是ISO 9000:2000版标准增加持续改进、质量目标的量化等方面的要求后,在基本思路上和CMM更加接近。它们之间的主要的差别是状态上的差别。ISO 9001侧重于"机构保证在设计、开发、生产、安装及服务过程中与指定的要求一致".而CMM侧重于"支持一个机构评估及改进他们的系统的工程能力"及"指出机构选择的模型的不足之处".
CMM和ISO 9001阐述了一个机构应该将他们如何做的观点写下来,然后去做,最后检查他们是否按照他们说的去做了。ISO 9001所关注意的是确保合格的人员所作的过程记录是有效的,并且开发生产出满足质量要求的产品。CMM在能力层次概念之间切开,作一件事情是第1级层次的概念,写下所做的事情是第2级层次的概念,有一定组织水平的写作是第三级层次的概念,等等。SE-CMM同样衡量管理能力,如第四级层次,连续处理问题的能力,第五级层次的概念。
这两个标准都涉及了产品的开发和产品的质量,但CMM在产品的设计和开发的细节作了较多要求,而ISO 9001在产品的开发过程和产品本身的质量细节作了较多要求。CMM 建立了系统工程能力模型第三级模型,而ISO 9001则无此内容。CMM没有对产品存储设备的测试作出要求,而ISO 9001则有此要求。
ISO 9001要求与质量管理体系相关的所有工作人员的经过授权并签字的质量记录(见条款4.1.2.1)。它还要求足够的资源,包括提供必要的员工培训等(见条款4.1.2.2)。第四节要求对机构的每个过程都要有记录。这是SE-CMM第2级的基本要求。从ISO 9001的角度来看SE-CMM,至少SE-CMM的第二级及以上级别才能和ISO 9001相提并论。
由以上可以得出ISO 9001和CMM既有区别又相互联系,两者不可简单的互相替代;取得ISO 9001认证并不意味着完全满足CMM某个等级的要求 ;取得CMM第2级(或第3级)不能笼统的谈可以满足ISO 9001的要求 .