|
什么是CMM®与CMMI® 1984年,美国国防部在其软件外包招标时,因无法有效评估应标软件公司/组织的开发管理能力,故委托美国卡内基美隆大学 (Carnegie MellonUniversity) 的软件工程学院 (Software Engineering Institute,SEISM) 研发出一整套行业标准体系CMM® (Capability Maturity Model forsoftware,软件能力成熟度模型),以评估并改善软件开发公司/组织的软件开发过程及软件开发能力,同时协助软件开发人员持续提升研发能力,进而提升软件开发项目及软件开发公司的软件开发管理能力,最大极度地确保软件公司在交付软件时:“功能”正确、“进度”更快、“成本”更省、“质量”更优等目标。 随着CMM®在业内的迅速普及,又陆续演进出不同专业领域的CMM®模型,包括:软件能力成熟度 (Software Capability Maturity Model, SW-CMM®) 、系统工程能力成熟度模型 (Systems Engineering Capability Maturity Model, SE-CMM®) 、集成产品开发能力成熟度模型 (Integrated Product Development Capability Maturity Model,IPD-CMM®) 、人力资源管理能力成熟度模型 (People Capability MaturityModel, P-CMM®) 等诸多应用模型。基于上述各类CMM®模型,SEI于2000年12月公布Capability Maturity Model - Integrated, 即“能力成熟度集成模型CMMI®”,将上述各能力成熟度模型进一步优化与整合,并取代原CMM®标准。 CMMI®是SEI继CMM®成功发展后的新修订版本,旨在开发一个通用的集成架构,以整合不同专业领域的特定能力成熟度模型及相关产品,并致力提供系统工程及软件工程的指导原则,期望通过CMMI®的实施,推动任何架构下的组织改善其开发与管理流程。CMMI®不仅提高了各能力级成熟度的要求门坎,也同时扩大了能力成熟度评估适用范围,使得软件工程、系统工程等专业领域及集成性产品与流程开发环境,都能运用CMMI®为其提供持续的能力改进指导,对软件生产力与质量的提升有着显著的实质效益。 CMMI认证共分为五级(以分段式表述): 1. 初始级(Initial):软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。管理是反应式的。 2.可管理级(Managed):建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。 3. 已定义级(Defined):已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。 4. 量化管理级(Quantitatively Managed):分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。 5. 优化管理级(Optimizing):过程的量化反馈和先进的新思想、新技术促使过程持续不断改进。 每个等级都被分解为过程域,特殊目标和特殊实践,通用目标、通用实践和共同特性: CMMI过程域 Process Area:过程域。简单的说就是做好一个事情的某一个方面,对应软件开发来说,就是做好软件开发的某一个方面。 2、3级共有18个过程域(PA),分四大类,4、5级共有4个过程域,总共22个过程域,主要内容如下: 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)决策分析与解决。应用正式的评估过程依据指标评估候选方案,在此基础上进行决策。 第4级除第2、3级所涵盖的18个过程领域外,增加 19. OPP :(Organizational Process Performance)组织过程性能。建立与维护组织过程性能的量化标准,以便使用量化方式的管理项目。 20. QPM(Quantitative Project Management) 量化的项目管理,量化管理项目已定义的项目过程,以达成项目既定的质量和过程性能目标。 第5级包含第2级到第4级的20个过程领域外,增加, 21. OID:(Organizational Innovation and Deployment)组织的创新与推展,选择并推展渐进创新的组织过程和技术改善,改善应是可度量的,所选择及推展的改善需支持基于组织业务目的的质量及过程执行目标。 22. CAR:(Causal Analysis and Resolution),识别缺失的原因并进行矫正进一步的防止未来再次发生。 |