软件能力成熟度模型(二)-- CMMI的成熟度等级及其过程域
1 初始级
- 过程
- 极少存在或使用稳定的软件过程。(过程无秩序)
- 各种条例、规章制度互不协调,甚至互相矛盾。(开发无规范)
- 人员
- 依赖个人努力和精英人物;
- 项目组成员的工作方式就是哪里出现危机就去哪儿解决。
- 技术
- 引进新技术是很大的风险。
- 度量
- 不收集和分析数据。
- 注意:有些组织制定了一些软件工程规范,但如果这些规范没有覆盖基本的关键过程域,且执行没有政策、资源方面的保证时,那么该组织仍然被视为处于初始级成熟度。
- 改进方向
- 建立项目管理过程,实施规范化管理,保障项目的承诺。
- 进行需求管理,建立客户与软件项目之间的共同理解,使项目真正反映客户的要求。
- 建立各种软件项目计划。如:软件开发计划、配置管理计划、风险管理计划等。
- 开展软件质量保证活动。
2 CMMI已管理级
特征:
- 进行较为现实的承诺,按以前在同类项目上的成功经验建立必要的过程准则以确保再一次成功。
- 逐个项目地建立基本过程管理条例来加强软件过程能力。
- 建立了基本的项目管理过程来跟踪成本、进度和功能,包括:需求管理、计划和跟踪监控、质量管理、配置管理、子合同管理。通过执行这些过程,从管理角度可以看到一个按计划执行的且阶段可控的软件开发过程。
过程
- 软件开发和维护过程是相对稳定的,但过程建立在项目级别,而非企业级别。
- 软件工程过程受控于有效的工程管理过程,先前的成功经验可以被重复使用。
- 问题出现时,有能力识别并纠正,承诺可以兑现。
人员
- 理解管理的必要性并对管理有承诺。
- 注意人员的培训。
技术
- 建立技术支持活动,并有稳定的计划。
度量
- 有计划地收集、分析有关项目过程和产品的数据。
2.1已管理级的改进方向
- 不再按项目制定软件过程,而是总结各种项目的成功经验,使之规则化,把具体经验归纳为全组织机构的标准软件过程。将改进组织机构整体软件过程能力作为软件组织的责任。
- 建立软件工程过程小组(SEPG),长期承担评估与调整软件过程的任务,以适应未来软件项目的要求。
- 积累数据:建立组织机构的软件过程库及软件过程相关的文档库。
- 加强人员培训。
2.2已管理级的关键过程域
- 需求管理
- 项目计划
- 项目监督与控制
- 供应协议管理
- 过程与产品质量保证
- 配置管理
- 度量与分析
1.需求管理
- 需求管理(Requirements Management, ReqM)是指在客户和项目组之间就客户的需求建立一个协议并加以管理。该协议包括技术需求和非技术需求两个方面,它构成了整个产品生命周期中估计、计划、执行和跟踪项目活动的基础。
2.项目计划
- 项目计划(Project Planning)的目标是为实施和管理项目制定合理的计划。
- 要制定合理的计划,就要对需要完成的工作做出比较实际的估计,并为完成这些工作建立一些必要约定。
- 项目计划过程包括如下步骤:定义项目的生命周期,确定项目的范围,估计项目的规模、成本和所需资源,制定项目的进度计划,确定并评估项目风险。
3.项目监督与控制
- 项目监督与控制(Project Monitoring and control)的目标是随时掌握项目的实际开发过程,使得当项目的执行活动与计划相背离时,管理部门能采取有效的措施。
4.供应协议管理
- 供应协议管理(Supplier Agreement Management)的目标是选择合适的供应商,并对产品获取过程进行管理。
- 对软件项目来说,常需要采购一些软件或硬件产品,也有可能把项目的一部分外包给第三方来做,而采购和外包可以认为是风险最大的活动之一。
5.过程与产品质量保证
- 过程与产品质量保证(Process and Product Quality Assurance)为项目管理者提供项目过程和相关产品的适当的可见性,从而为交付高质量的产品和服务提供支持。
- 在该过程域中,产品质量评估的客观性对项目的成功是至关重要的,可以通过设立独立的质量保证组或应用一些标准来达到这种客观性。
- 质量保证工作应尽早开始,在项目初期就应制定相应的计划、标准和规程。
6.配置管理
- 配置管理(Configuration Management)是通过配置标记、配置控制、配置状态审核和配置审计来建立和维护工作产品的一致性。
7.度量与分析
- 度量与分析(Measurement and Analysis)过程域的目标是开发和维持度量能力,从而能够支持管理信息需求。
- 将度量与分析集成到项目过程中,主要有以下几方面的作用:
- 支持客观的计划和估计。
- 跟踪实际性能,并与计划和目标对比。
- 识别和解决与过程相关的问题。
3 CMMI已定义级
特征:
- 软件工程和管理方面的软件过程都已经文档化、标准化,并综合成软件开发组织的标准软件过程。
- 软件过程标准被应用到所有的项目开发和维护当中,有些项目可能要对这些标准软件过程进行裁剪。
- 对于任何项目,其生产过程、成本、计划和功能都是可以控制的,从而软件质量也可以控制。
- 软件工程过程组(SEPG)负责软件过程的定义和改进活动。
- 在全组织范围内安排培训计划。
过程:
- 软件工程和管理活动是稳定和可重复的,具有连续性。
- 软件过程起了预见及防范问题的作用,能使风险的影响最小化。
人员:
- 整个组织内部的所有人员对于所定义的软件过程的活动、任务有深入理解,大大增强了软件过程能力。
- 有计划地对人员角色进行培训。
技术:
- 在定性基础上评估新技术。
度量:
- 在全过程中收集使用数据。
- 在整个项目中系统性地共享数据。
改进方向:
- 开始着手过程的定量分析,以达到定量控制项目过程的效果。
3.1已定义级的关键过程域
- 需求开发
- 技术解决方案
- 产品集成
- 验证
- 确认
- 组织过程焦点
- 组织过程定义
- 组织培训
- 集成项目管理
- 风险管理
- 决策分析与解决
- 集成供应商管理
- 组织集成环境
- 集成团队
需求开发(Requirement Development)的目的是生成并分析客户、产品和产品组件的需求。 技术解决方案(Technical Solution)的目的是开发、设计和实现需求的解决方案。 产品集成(Product Integration)的目的是把产品组件组装成产品,保证产品正常工作,并把产品交付给用户。 验证(Verification)的目的是保证工作产品满足它们的指定需求。 确认(Validation)目的是展示当把产品或产品组件放到目标环境中时,它们可完成预期的用途。 组织过程焦点(Organizational Process Focus)过程域的目的是:在彻底理解一个组织当前过程和过程资产的弱点和优势的基础上,
计划、实施和部署组织的过程改进活动。 组织过程定义(Organizational Process Definition)的目的是建立和维护一个组织级过程资产和工作环境标准集。 组织级培训(Organizational Training)的目的是增加开发人员的技能和知识,使他们可以有效地执行任务。 集成项目管理(Integrated Project Management)的目的是根据一个集成化的、已定义的过程来建立和管理项目,并管理利益关系人的参与,
这些集成化的、已定义的过程剪裁于组织的标准过程集。 风险管理(Risk Management)的目的是在潜在问题发生之前识别它们,以便在产品整个生命周期中计划风险处理活动,并且必要时采取措施以缓解对目标实现的不利影响。 决策分析与解决(Decision Analysis and Resolution)过程域的目的是使用正式的评价过程来分析可能的决策,该评价过程是根据已制定的标准来评价可选方案。
4 CMMI量化管理级
过程
- 可定量地认识过程。
- 软件过程性能变化小,一般在可接受的范围内。
- 可以预见过程和产品的质量趋势,一旦度量得到的指标超出标准或有异常,可以及时采用一些措施纠正。
人员
- 由于每个人都了解个人的作用与组织的关系,因此能够在每个项目中产生强烈的群体意识。
技术
- 不断地在定量基础上评估新技术。
度量
- 在全组织内进行数据收集与检验。
- 度量标准化。
- 数据用于定量地理解软件过程并稳定软件过程。
改进方向
- 缺陷预防。不仅在发现问题时能及时改正,而且应采取特定行动防止将缺陷引入到产品中。
- 主动进行技术变动管理,标识、选择和评价新技术,使有效的新技术能在开发组织中应用。
- 进行过程变动管理。定义过程改进的目的,不断地进行过程改进。
量化管理级的关键过程域
- 量化项目管理(Quantitative Project Management)过程域的目的是定量管理项目的过程,从而完成项目的质量和过程性能目标。
- 组织过程性能(Organizational Process Performance)的目的是建立和维护一个对组织的标准过程集性能的定量理解,并提供过程性能数据、基线和模型来定量管理组织的项目。
5 CMMI优化管理级
过程
- 不断系统地改进软件过程。
- 理解并消除产生问题的公共根源,防止缺陷的产生。
人员
- 整个组织存在自觉的强烈的团队意识。
- 每个人都致力于过程改进。人们不再以达到里程碑的成就而满足,而要力求减少错误率。
技术
- 基于定量的控制和管理,事先主动考虑新技术、利用新技术。可以实现开发中的方法和新技术的革新,以防止出现错误,不断提高产品质量和生产率。
度量
- 利用统计数据来评估和选择过程改进。
改进方向
- 保持持续不断的软件过程改进。
优化管理级的关键过程域
- 组织革新与部署(Organizational Innovation and Deployment)的目的是选择并部署增量式和创新的改进活动,以便改进组织的过程和技术。
- 原因分析与解决(Causal Analysis and Resolution)的目的是识别缺陷和其它问题的原因,并且采取措施来预防将来再发生这些问题。
原文地址:https://blog.csdn.net/yongchaocsdn/article/details/80893195