CMMI全称Capability Maturity Model-Integration,集成的软件能力成熟度模型。
定义:对于软件组织在定义、实现、度量、控制和改善其软件过程的各个阶段的描述。
目的:帮助企业进行对软件工程过程的管理和改进,增强开发制造能力,从而能按时地、不超预算地制造出高质量的软件。
CMMI来源于传统的质量工程理论,吸收了
–Walter Shewart的统计质量控制原理
–W.Edwards Deming 的著作“Out of the Crisis”
–Joseph Juran的著作“Juran on Planning for Quality”、”Juran on leadership for Quality”
–Philip Croseby 在“Quality is free”中提出的将质量管理改编为成熟度框架
的思想。
CMMI是在美国国防部资助下,由卡内基梅隆大学软件工程研究所(SEI)建立,用于评价软件开发组织软件过程能力成熟度的模型,后来此模型被用于软件开发组织内部的软件过程改进。
软件企业常见的问题:
(1)软件项目无法按期交付,费用超出预算;
(2)需求规格说明总是一改再改;
(3)人员的变动对组织带来很大的影响;
(4)维护成本居高不下;
(5)不能在顾客希望的时间内完成维护,带来顾客报怨;
(6)软件的可移植性差;
(7)软件的可复用性差。
不成熟和组织特征:
(1)软件过程在项目过程中临时拼凑;
(2)即使规定了也不能严格遵守和贯彻;
(3)反应式的组织——"救火队员";
(4)超出进度和预算已成惯例;为满足进度要求,常在产品功能和质量上做出让步,缩短或取消评审和测试等质量活动;
(5)不存在判断产品质量或解决产品或过程问题的客观基础。
过程改进的好处:
(1)改进进度和预算的可预测性;
(2)改进开发周期;
(3)提高生产率;
(4)改进质量(度量缺陷);
(5)增加客户的满意度;
(6)提高员工的士气;
(7)增加投资回报;
(8)低质量成本。