📅  最后修改于: 2021-01-10 03:13:33             🧑  作者: Mango
能力成熟度模型(CMM)是用于开发和完善组织的软件开发过程的过程。
该模型定义了一个日益组织化和持续成熟的过程的五级演化阶段。
CMM由软件工程学院(SEI)开发和推广,SEI是由美国国防部(DOD)推动的研发中心。
能力成熟度模型用作衡量组织软件过程成熟度的基准。
SEICMM有两种方法:
能力评估:能力评估提供了一种评估组织的软件过程能力的方法。能力评估的结果表明如果承包商被授予工作,承包商可能会表现出色。因此,软件过程能力评估的结果可用于选择承包商。
软件过程评估:组织使用软件过程评估来提高其过程能力。因此,此类评估仅用于内部使用。
SEI CMM将软件开发行业分为以下五个成熟度级别。 SEI CMM的各个级别都经过设计,因此组织可以轻松地从头开始缓慢地建立其质量体系。
临时活动是此级别的软件开发组织的特征。描述和遵循的过程很少或没有。由于软件生产过程不受限制,因此不同的工程师遵循他们的过程,结果,开发工作变得混乱。因此,它也被称为混沌水平。
在此级别上,建立了基本的项目管理实践,例如跟踪成本和进度。使用大小和成本估算方法,例如函数点分析,COCOMO等。
在此级别上,定义并记录了管理和开发活动的方法。在组织范围内,对操作,角色和职责有共同的了解。未定义通过方法,过程和产品质量的方法。 ISO 9000达到此水平的目标。
在此级别上,重点是软件指标。构成两种度量。
产品指标衡量正在开发的产品的功能,例如其尺寸,可靠性,时间复杂度,可理解性等。
流程指标遵循所使用流程的有效性,例如平均缺陷纠正时间,生产率,每小时检查发现的平均缺陷数,每个LOC在测试过程中检测到的平均故障数等。软件过程和产品质量为进行测量,并满足产品的定量质量要求。各种工具(如帕累托图,鱼骨图等)用于测量产品和过程质量。流程指标用于分析项目是否令人满意。因此,过程测量的结果用于计算项目绩效,而不是改善过程。
在此阶段,将收集过程和产品指标。评估过程和产品测量数据以持续改进过程。
除SEI CMM级别1以外,每个成熟度级别都有几个关键流程区域(KPA)的特征,这些区域包含组织应重点关注的领域,以将其软件流程改进到下一个级别。图中显示了每个级别的焦点和相应的关键过程区域。
SEI CMM提供了一系列关键领域,这些领域需要重点关注,以使组织从一个成熟度升级到另一个成熟度。因此,它提供了一种在各个阶段逐步提高质量的方法。每个步骤都经过精心设计,以使一个步骤可以增强已经建立的功能。