软件能力成熟度模型:CMM
CMM
为企业的软件过程能力提供了一个阶梯式的进化框架,阶梯共有五级。第一级只是一个起点,任何准备按CMM 体系进化的企业都自然处于这个起点上,并通过它向第二级迈进。除第一级外,每一级都设定了一组目标,如果达到了这组目标,则表明达到了这个成熟级别,可以向下一级别迈进。
从纯粹的个人行为发展到有计划有步骤的组织行为…
第一级:初始级(Initial);
第二级:可重复级(Repeatable);
第三级:已定义级(Defined);
第四级:受管理级(Managed);
第五级:优化级(Optimizing)。
从纯粹的个人行为发展到有计划有步骤的组织行为…
第一级:初始级(Initial);
第二级:可重复级(Repeatable);
第三级:已定义级(Defined);
第四级:受管理级(Managed);
第五级:优化级(Optimizing)。
初始级
初始级的软件过程是未加定义的随意过程,项目的执行是随意甚至是混乱的。也许有些企业制定了一些软件工程规范,但若这些规范未能覆盖基本的关键过程要求,且执行没有政策、资源等方面的保证时,那么它仍然被视为初始级。
u 关注点:
工作方式处于救火状态,不断的应对突如其来的危机;
工作组:软件开发组、工程组;
u 提高:
需要建立项目过程管理,建立各种计划,开展QA 活动。
可重复级
根据多年的经验和教训,人们总结出软件开发的首要问题不是技术问题而是管理问题。因此,第二级的焦点集中在软件管理过程上。一个可管理的过程则是一个可重复的过程,可重复的过程才能逐渐改进和成熟。可重复级的管理过程包括了需求管理、项目管理、质量管理、配置管理和子合同管理五个方面;其中项目管理过程又分为计划过程和跟踪与监控过程。
通过实施这些过程,从管理角度可以看到一个按计划执行的且阶段可控的软件开发过程。
u 关注点:
规则化
引入需求管理、项目管理、质量管理、配置管理、子合同管理等;
引入工作组:测试组、评估组、质量保证组、配置管理组、合同组、文档支持组、培训组;
u 提高:
SEPG、建立软件过程库和文档库。
已定义级
在可重复级定义了管理的基本过程,而没有定义执行的步骤标准。在第三级则要求制定企业范围的工程化标准,并将这些标准集成到企业软件开发标准过程中去。所有开发的项目需根据这个标准过程,裁剪出与项目适宜的过程,并且按照过程执行。过程的裁剪不是随意的,在使用前必须经过企业有关人员的批准。
u 关注点:
文档化,标准的一致的;
软件过程标准化文档化,质量可以得到控制;
工作组: SEPG、软件评估组。
u 提高:
对软件过程定量分析,加强质量管理。
已管理级
第四级的管理是量化的管理。所有过程需建立相应的度量方式,所有产品的质量(包括工作产品和提交给用户的最终产品)需要有明确的度量指标。这些度量应是详尽的,且可用于理解和控制软件过程和产品。量化控制将使软件开发真正成为一种工业生产活动。
u 关注点:
量化,可预测的;(自此,软件开发变成一种工业生产活动。)
软件过程具有精确的评测方法,量化的控制软件过程的产品和质量,可根据”意外情况”确定出错的原因;
工作组: 定量过程管理组;
提高: u
防止和规避缺陷的能力,技术革新的能力,过程改进。
优化级
优化级的目标是达到一个持续改善的境界。所谓持续改善是指可以根据过程执行的反馈信息来改善下一步的执行过程,即优化执行步骤。如果企业达到了第五级,就表明该企业能够根据实际的项目性质、技术等因素,不断调整软件生产过程以求达到最佳。
u 关注点:
持续改善;
工作组:缺陷防范活动协调组、技术改革管理活动组、软件过程改进组;
u 改进:
软件过程优化。
初始级的软件过程是未加定义的随意过程,项目的执行是随意甚至是混乱的。也许有些企业制定了一些软件工程规范,但若这些规范未能覆盖基本的关键过程要求,且执行没有政策、资源等方面的保证时,那么它仍然被视为初始级。
u 关注点:
工作方式处于救火状态,不断的应对突如其来的危机;
工作组:软件开发组、工程组;
u 提高:
需要建立项目过程管理,建立各种计划,开展QA 活动。
可重复级
根据多年的经验和教训,人们总结出软件开发的首要问题不是技术问题而是管理问题。因此,第二级的焦点集中在软件管理过程上。一个可管理的过程则是一个可重复的过程,可重复的过程才能逐渐改进和成熟。可重复级的管理过程包括了需求管理、项目管理、质量管理、配置管理和子合同管理五个方面;其中项目管理过程又分为计划过程和跟踪与监控过程。
通过实施这些过程,从管理角度可以看到一个按计划执行的且阶段可控的软件开发过程。
u 关注点:
规则化
引入需求管理、项目管理、质量管理、配置管理、子合同管理等;
引入工作组:测试组、评估组、质量保证组、配置管理组、合同组、文档支持组、培训组;
u 提高:
SEPG、建立软件过程库和文档库。
已定义级
在可重复级定义了管理的基本过程,而没有定义执行的步骤标准。在第三级则要求制定企业范围的工程化标准,并将这些标准集成到企业软件开发标准过程中去。所有开发的项目需根据这个标准过程,裁剪出与项目适宜的过程,并且按照过程执行。过程的裁剪不是随意的,在使用前必须经过企业有关人员的批准。
u 关注点:
文档化,标准的一致的;
软件过程标准化文档化,质量可以得到控制;
工作组: SEPG、软件评估组。
u 提高:
对软件过程定量分析,加强质量管理。
已管理级
第四级的管理是量化的管理。所有过程需建立相应的度量方式,所有产品的质量(包括工作产品和提交给用户的最终产品)需要有明确的度量指标。这些度量应是详尽的,且可用于理解和控制软件过程和产品。量化控制将使软件开发真正成为一种工业生产活动。
u 关注点:
量化,可预测的;(自此,软件开发变成一种工业生产活动。)
软件过程具有精确的评测方法,量化的控制软件过程的产品和质量,可根据”意外情况”确定出错的原因;
工作组: 定量过程管理组;
提高: u
防止和规避缺陷的能力,技术革新的能力,过程改进。
优化级
优化级的目标是达到一个持续改善的境界。所谓持续改善是指可以根据过程执行的反馈信息来改善下一步的执行过程,即优化执行步骤。如果企业达到了第五级,就表明该企业能够根据实际的项目性质、技术等因素,不断调整软件生产过程以求达到最佳。
u 关注点:
持续改善;
工作组:缺陷防范活动协调组、技术改革管理活动组、软件过程改进组;
u 改进:
软件过程优化。