您的位置:首页 > 其它

CMMI(软件能力成熟度集成模型)

2017-02-12 20:59 435 查看
前言:CMMI全称是Capability Maturity Model Integration,即能力成熟度模型集成(也有称为:软件能力成熟度集成模型),本质是软件管理工程的一个部分。CMMI认证的目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。CMMI主要关注点就是成本效益、明确重点、过程集中和灵活性四个方面。

------------------------------------------

等级划分:

CMMI认证分为5个等级:

1. 初始级

软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。管理是反应式的。

2.可管理级

建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。

3. 已定义级

已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。

4. 量化管理级

分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。

5. 优化管理级

过程的量化反馈和先进的新思想、新技术促使过程持续不断改进。

每个等级都被分解为过程域,特殊目标和特殊实践,通用目标、通用实践和共同特性:

每个等级都有几个过程区域组成,这几个过程域共同形成一种软件过程能力。每个过程域,都有一些特殊目标和通用目标,通过相应的特殊实践和通用实践来实现这些目标。当一个过程域的所有特殊实践和通用实践都按要求得到实施,就能实现该过程域的目标。

能力度等级:属于连续式表述,共有六个能力度等级(0~5),每个能力度等级对应到一个一般目标,以及一组一般执行方法和特定方法。

0 不完整级;1 已执行级;2 已管理级;3 已定义级;4 量化管理级;5 最优化级

------------------------------------------


名词解释

Process Area:过程域。简单的说就是做好一个事情的某一个方面,对应软件开发来说,就是做好软件开发的某一个方面。

Life Cycle:(Software Life Cycle Model)项目管理的生命周期。关注的是项目的过程管理。

MA:(Measurement & Analysis)。开发并持续发展度量能力以满足项目管理的信息需求。

Milestone Review:(Milestone Review)阶段评审。在阶段结束时评审项目的状态并确定项目是否应该进入下一阶段。

Process Tailoring:(Process Tailoring)过程裁剪。为了使组织定义的标准过程能够适合于组织项目管理,不论该项目是提供产品还是服务。

Review:(Review)评审。可以有效提高系统,软件及产品的质量。

Testing:软件测试。
------------------------------------------

CMMI2级和3级描述

2、3级共有18个过程域(PA),主要内容如下,分四大类

过程管理

1. OPD:(Organizational Process Definition)组织级过程定义。建立和维护有用的组织过程资产。

2. OPF:(Organizational Process Focus)组织级过程焦点。在理解现有过程强项和弱项的基础上计划和实施组织过程改善。3. OT:(Organizational Training)组织培训管理。增加组织各级人员的技能和知识,使他们能有效地执行他们的任务。
项目管理

4. PP:(Project Plan项目计划。保证在正确的时间有正确的资源可用。为每个人员分配任务、协调人员。根据实际情况,调整项目。
5. PMC:(Project Monitoring and Control)项目监督与控制。通过项目的跟踪与监控活动,及时反映项目的进度、费用、风险、规模、关键计算机资源及工作量等情况,通过对跟踪结果的分析,依据跟踪与监控策略采取有效的行动,使项目组能在既定的时间、费用、质量要求等情况下完成项目。
6.SAM:(Supplier Agreement Management)供应商协议管理。旨在对以正式协定的形式从项目之外的供方采办的产品和服务实施管理。
7.IPM:(Integrated Project Management)集成项目管理。根据从组织标准过程剪裁而来的集成的、定义的过程对项目和利益相关者的介入进行管理。
8. RSKM:(Risk Management)风险管理。识别潜在的问题,以便策划应对风险的活动和必要时在整个项目生存周期中实施这些活动,缓解不利的影响,实现目标。
工程管理
9.RD:(Requirement Development)需求开发。需求开发的目的在于定义系统的边界和功能、非功能需求,以便涉众(客户、最终用户)和项目组对所开发的内容达成一致。
10.REQM(Requirement Management)需求管理。需求管理的目的是在客户和软件项目之间就需要满足的需求建立和 维护一致的约定。
11.TS:(Technical Solution)技术解决方案。在开发、设计和实现满足需求的解决方案。解决方案的设计和实现等都围绕产品、产品组件和与过程有关的产品。
12.PI:(Product Integration)产品集成。从产品部件组装产品,确保集成产品功能正确并交付产品。
13.VAL:(Validation)确认。确认证明产品或产品部件在实际应用下满足应用要求。
14.VER:(Verification)验证。验证确保选定的工作产品满足需求规格。
支持管理
15. CM:(Configuration Management)配置管理。建立和维护在项目的整个软件生存周期中软件项目产品的完整性 。
16.PPQA:(Process and Product Quality Assurance)过程和产品质量保证。为项目组和管理层提供项目过程和相关工作产品的客观信息。
17.MA:(Measurement and Analysis)测量与分析。开发和维持度量的能力,以便支持对管理信息的需要。作为改进、了解、控制决策。
18. DAR:(Decision Analysis and Resolution)决策分析与解决。应用正式的评估过程依据指标评估候选方案,在此基础上进行决策。
------------------------------------------

CMMI4级描述

第4级除第2、3级所涵盖的18个流程领域外,增加

19. OPP :(Organizational Process Performance)组织过程性能。建立与维护组织过程性能的量化标准,以便使用量化方式的管理项目。
20. QPM(Quantitative Project Management) 量化的项目管理,量化管理项目已定义的项目过程,以达成项目既定的质量和过程性能目标。
------------------------------------------

CMMI5级描述

第5级包含第2级到第4级的20个流程领域外

21. OID:(Organizational Innovation and Deployment)组织的创新与推展,选择并推展渐进创新的组织过程和技术改善,改善应是可度量的,所选择及推展的改善需支持基于组织业务目的的质量及过程执行目标。
22. CAR:(Causal Analysis and Resolution)因果分析与解决。识别缺失的原因并进行矫正,进一步的防止未来再次发生。
------------------------------------------

CMMI的价值

CMMI为企业带来价值主要体现在以下几个方面:

第一、能保证软件开发的质量与进度,能对“杂乱无章、无序管理”的项目开发过程进行规范。

第二、有利于成本控制。因为质量有所保证,浪费在修改、解决客户的抱怨方面的成本会降低很多。绝大多数情况是缺少规范制度,只是求快。项目完成后,要花很多时间修修补补,费用很容易失控。

第三、有助于提高软件开发者的职业素养。每一个具体参与其中的员工,无论是项目经理,还是工程师,甚至一些高层管理人的做事方法逐渐变得标准化、规范化。

第四、能够解决人员流动所带来的问题。公司通过过程改进,建立了财富库以共享经验, 而不是单纯依靠某些人员。

第五、有利于提升公司和员工绩效管理水平,以持续改进效益。通过度量和分析开发过程和产品,建立公司的效率指标。
------------------------------------------

CMMI2级和3级的区别

CMMI2级对软件工程活动的指导很弱,如:需求开发、设计、编码、测试等。
在CMMI3级,你会发现:
1)有指导需求开发的需求开发(Requirements Development)这个PA;
2)有指导设计、编码工作的技术解决方案(Technical Solution)这个PA;
3)有指导如何保证工作产品满足要求的验证(Verification);
4)有指导如何保证软件产品满足真实使用环境要求的(Validation);
5)还有指导如何把软件产品各组件集成在一起并保证能在相应的硬件载体运行正常的产品集成(Product Integration);

CMMI2级的PP与PMC是直接与项目管理有关的两个PA,在CMMI3级,对项目管理的要求进一步提高:
6)集成项目管理(Integrated Project Management):3级的项目管理,要求利用组织级的财富库进行项目估算,并且利用财富库裁剪出项目自己的过程,并用这个过程来管理项目。
7)风险管理(Risk Management):2级只有PP的SP2.2中提到要识别风险,而在3级专门有一个PA对风险管理提出更高的要求。
大家不知道有没有发现,2级的PA都是直接针对项目提出要求的。3级的IPM和RSKM,除了对项目级提出要求,另外也对组织级提出了要求,IPM要求有组织级的资产库,RSKM要求要有组织级的风险管理策略等。另外,3级有几个“O”开头的PA,这几个PA都是直接对组织级的提出要求。
8)组织过程焦点(Organizational Process Focus):这个PA要求组织成立SEPG来推动过程改进的工作,要求识别、计划、实施改进过程,保证组织过程能持续改进。
9)组织过程定义(Organizational Process Definition):这个PA要求组织级建立财富库,财富库内容要包括标准的过程、裁剪库、度量库、生命周期模型等。
10)组织培训(Organizational Training):要求组织根据商业目标要求准备并提供培训。
3级还有一个很特别的PA:
11)决策分析及解决方案(Decision Analysis and Resolution):这个PA提供了一个如何做出最佳决策的方法指导。软件行业很多重要的决策,如设计方案、采购方案等,都可以应用这个PA提供的办法,另外也可以在组织过程改进中应用决策分析的办法。
------------------------------------------

CMMI3级的特点

1)明确规定了需求开发、设计、编码、测试、集成等软件开发各过程的要求。
2)对项目管理提出了更高的要求,要利用组织级的数据来管理项目。
3)出现了专门针对组织级的PA,要求有专门的组织来负责过程改进的工作。
4)提供了一个做出最佳决策的指导,而这个方法可以用于软件工程,也可以用于组织级过程改进。
由这些特点大家可以看到,3级已经对软件开发的各个方面有了详细的要求,2级很多不明细的地方全部已经明确。一个达到3级的企业,肯定会定义了很多软件开发各个方面的过程,并且会有组织级的财富库。所以3级叫“已定义”级。
------------------------------------------

CMMI的过程结构和文档输出



参考资料:
http://baike.baidu.com/item/CMMI3 http://baike.baidu.com/item/CMMI http://blog.csdn.net/ybygjy/article/details/8782232
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息