周末在家闲来无事,泡咖啡看书,正好看到了关于CMM的相关资料,分享出来,也当作学习笔记。。。工具
1、CMM简介学习
CMM,英文全称为Capability Maturity Model for Software,即:软件成熟度模型。优化
CMM的核心是把软件开发视为一个过程。它是对于软件在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。spa
根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化,使企业可以更好地实现商业目标。项目管理
分级:一级为初始级,二级为可重复级,三级为已定义级,四级为已管理级,五级为优化级。资源
优势:开发
一、提升软件开发的管理能力,由于CMM可提供软件公司自我评估的方法和自我提升的手段;文档
二、提升软件开发效率;工作流
三、提升软件质量;产品
四、提升软件竞争力;
2、初始级(Initial)
特色:软件工程管理制度缺少,过程缺少定义、混乱无序。常常因为缺少管理和计划致使时间、费用超支,管理方式属于反应式,主要用来应付危机,过程不可预测,难以重复。
即便制定了一些软件工程规范,但若是规范未能覆盖基本的关键过程要求,且执行时没有相关资源的支持保证,仍将其视为初始级。
关键词:技术负债
提升:创建项目过程管理,创建各类计划,开展QA活动。
3、可重复级(Repeatable)
特色:基于相似项目的经验,创建了基本的项目管理制度,采起了必定的资源控制手段。管理人员可及时发现问题,采起应对措施。
软件开发的首要问题不是技术问题而是管理过程,一个可管理的过程则是一个可重复的过程。
提升:引入需求管理、项目管理(包括项目跟踪和监控)、子合同管理、软件配置管理和质量管理(包括质量量化和监控)。
4、已定义级(Defied)
特色:软件过程文档化、标准化,可按照需求改进开发过程,采用评审方法保证软件质量,引入case管理工具提升质量和效率。
将执行标准集成到企业软件开发标准过程当中,根据标准过程执行,可根据具体状况进行调整,调整须要相关人员确认经过。
提升:组织过程定义、焦点,培训大纲,软件集成管理,组织协调,专家评审等。
5、已管理级(Managed)
特色:全部过程创建相应的度量方式和明确的度量指标,度量是详尽且可用于理解和控制软件过程的。量化控制将使软件开发真正成为一种工业生产活动。
针对制定质量、效率目标,并收集、度量相应指标,利用统计工具分析并采起改进措施。
提升:定量的软件过程管理和产品质量管理,防止和规避缺陷的能力,技术革新能力,过程不断改进。
6、优化级(Optimizing)
特色:可根据执行过程的反馈来改善下一步的执行过程,优化执行步骤(基于统计质量和过程管理的工具,持续改进软件过程),质量和效率稳步提高和改进。
提升:缺陷预防管理(包括预防和应对容灾措施)、过程变动管理(工做流)和技术变动管理。
软件成熟度模型反映了软件开发过程的不断优化和技术的变动,管理效率的不断提高,也从另外一方面印证了生产力发展的规律:标准化、管理化、自动化。。。