什么是软件过程及能力成熟度评估
“软件过程及能力成熟度评估”(简称SPCA)是软件过程能力评估和软件能力成熟度评估的统称,是信息产业部会同国家认证认可监督委员会在研究了国际软件评估体制,尤其是美国卡内基-梅隆大学SEI所建立的能力成熟度模型能力成熟度模型CMMI,并考虑国内软件产业实际情况所建立
的软件评估体系。
SPCA依据的评估标准是SJ/T 11234和SJ/T 11235,这两个标准是在深入研究了CMM、CMMI、ISO/IEC TR15504、ISO9000、TL 9000以及其他有关的资料和文件以及国外企业实施CMM的实际情况后,结合国内企业的实际情况,以CMMI作为主要参考文件最终形成的,这两个行业标准由信息产业部于2001年5月1日发布实施。
SJ/T 11234《软件过程能力评估模型》针对软件企业对自身软件过程能力进行内部改进的需要,与CMMI连续表示形式基本相同。该模型有22个过程,分为4大类,即:过程管理类、项目管理类、工程化类和支持类,每个过程能力从0到5划分为6个评估等级,每个等级包含了通用目标、通用惯例、特定目标和特定惯例,它们组成一套衡量准则。按此准则对实际运行的过程进
行评估,可以确定当前软件过程的能力状态。对每个过程评估后,可以得到企业软件过程能力的一条“谱线”。企业还可以针对软件开发项目,根据项目的目标和要求,有针对性地“弄清楚”有关过程的能力状态,实施必要的过程改进,以支持项目的完成。
SJ/T 111235《软件能力成熟度模型》针对软件企业综合能力第二方或第三方评估的需求,与CMMI分阶段表示形式基本相同。该模型用成熟度1~5个等级来描述综合软件能力。与SJ/T 11234相同,也有22个过程方面。除了成熟度等级1外,每个等级包含若干个过程方面,每个过程方面的实施情况由相应目标和惯例的实施情况体现。采用这种衡量准则可以评估软件企业的综合能力——软件能力成熟程度。
SPCA评估遵循《软件过程及能力成熟度评估指南》,该指南是国家认监委和信息产业部2002年8月共同发布的利用SJ/T11234或SJ/T11235实施评估的操作指南。评估过程由经过培训的专业队伍以评估参考模型作为确定过程的强项和弱项的基础而对一个或多个过程进行检查。从不同用途考虑,评估分为内部过程改进评估和顾客选择评价两种。
目前,国家认证认可监督管理委员会(CNCA)和信息产业部已经联合发布《软件过程及能力成熟度评估监督管理办法》,CNCA授权的中国认证机构国家认可委员会(CNAB)和中国国家认证人员培训认可委员会(CNAT),已制定和试点实施“软件过程及能力成熟度评估”认可规则,并成立SPCA工作组,以推动中国软件过程及能力成熟度评估的实施。
实施SPCA的作用和意义
软件过程及能力成熟度评估可以规范软件开发过程及其管理、规范市场竞争、帮助企业进行内部软件过程改进、降低软件开发风险、增加软件企业的市场竞争力。
我国政府一直重视软件产业的规范和发展,强调提高我国软件开发和软件产品质量的重要性。国务院于2000年6月颁发的“18号文件” 《鼓励软件产业和集成电路产业发展的若干政策》第五章第十七条明确提出鼓励软件出口型企业通过ISO 9000系列质量保证体系认证和CMM认证,其认证费用通过中央外贸发展基金适当予以支持。目前各省市、高新区、软件园都有对通过软件能力成熟度评估的企业给予资金奖励的制度。随着SPCA中国国家认可制度的建立和实施,对于通过SJ/T 11234和SJ/T 11235评估的企业将可得到更多得政策支持。
随着我国经济市场的日益成熟,与信息产业部建立的计算机信息系统集成资质认证体制一样,SPCA评估及其评估结果在市场化运作中将会起到越来越重要的作用。广大用户和企业也越来越接受和认可SJ/T11234和SJ/T11235标准,并将作为企业招投标,选择合作伙伴的一项指标,也是进行第二方评估或评价的依据。这对我国软件企业和产业的提高、发展和壮大也将产生积极的影响。
SPCA的实施与评估
企业实施SJ/T11234或SJ/T11235并进行评估,一般需进行如下7个阶段:标准培训、组织职能建立和文件体系完善、文件评审、差距分析、持续支持、中期评估、最终评估。其中各阶段的目的如下:
标准培训:旨在建立公司人员的软件过程改进意识,了解过程改进原理,以利SJ/T11234或SJ/T11235实施。
组织职能建立和文件体系完善:建立实施SJ/T11234或SJ/T11235的职能机构,明确职责;识别公司现存软件过程和文件,完善软件过程定义并建立完整的文件体系。
文件评审:评审文件体系的适用性,识别文件的改进之处。
差距分析:进行现状分析,识别与SJ/T11234或SJ/T11235的每个过程方面的差距,并制定一个行动计划来覆盖识别出的差距。
持续支持:实施持续支持以实施过程改进,并覆盖差距分析阶段识别出的差距。
准备性检查:对软件过程改进实施情况进行评估,为最终评估做准备。
最终评估:使用《软件过程及能力成熟度评估指南》的方法进行最终评估并定级。评估包括三个阶段:准备阶段、现场阶段和报告阶段。
SPCA与CMM/CMMI的区别
SPCA是信息产业部和国家认可委联合发布的“软件过程及能力成熟度评估” 的简写,SPCA所依据的标准是:SJ/T11234《软件过程能力评估模型》和SJ/T11235《软件能力成熟度模型》,评估方法按照《软件过程及能力成熟度评估指南》进行。
SPCA评估所依据的两个标准参考了CMMI-SE/SW1.02版,也分为阶段式(SJ/T11235)和连续式(SJ/T11234)两种描述形式。SJ/T11235和CMM/CMMI的结构类似,分为初始级、已管理级、已定义级、定量管理级、持续优化级5个等级;SJ/T11234与ISO15504的结构类似,分为未完成级、已执行级、已管理级、已定义级、定量管理级、持续优化级6个等级。企业可以选择任意一种模型进行过程改进。
SPCA与CMM/CMMI的评估过程、依据标准等十分类似,其重要区别是: SPCA评估必须以法人机构的名义,并且该机构必须获得中国国家认可机构认可,其评估结果得到中国政府承认和国家产业政策支持。