1、CMM能力成熟度模型一、什么是CMM Capability Maturity Model 企业软件过程的能力、成熟度模型 是用来确定一个企业的软件过程的成熟程度以及指明如何提高该成熟度的参考模型。软件过程 开发和维护软件及其相关(中间)产品时所涉及的各种活动、方法、实践和改革等。即软件的开发过程二、为什么需要CMM 软件企业的目标:获得利润 建立&保障产品的信誉 产品本身的品质 产品满足需求的程度 产品的工期要求 产品的成本 产品的质量生产过程的质量二、为什么需要CMM 质量体系三要素:质量保障(生产率)人员技术过程二、为什么需要CMM 软件企业的主要问题 产品本身:不能满足用户的需求;质量难
2、以满足预定要求,bug过多 过程方面:成本和工期不可测;成功的软件开发经验依赖于个人而不可重复 问题症结:过程的不规范(不成熟)美国国防部DOD指定CMU的软件工程研究所SEI研究一套过程规范CMM三、CMM概述 为企业的发展规定过程成熟级别,分为5级(Version 1.0):初始级(Initial):一般企业皆具有 可重复级(Repeatable):成功经验可以重复 定义级(Defined):一套完整的企业过程,人员自觉遵守(培训)管理级(Managed):过程&产品可度量和控制 优化级(Optimizing):过程持续改进 从无序到有序、从特殊到一般、从定性管理到定量管理、最终达到动态优
3、化三、CMM概述2.Repeatable1.Initial3.Defined4.ManagedDisciplined ProcessStandard,Consistent ProcessPredictable ProcessContinuously Improving ProcessUnpredictable and poorly controlledCan repeat previously mastered tasksProcess characterized,fairly well understoodProcess measured and controlledFocus on pro
4、cess improvement5.OptimizingProject Management Integrated Engineering ProcessProduct and Process QualityManaging ChangeDisorder Disciplined Predictable Immature Mature 三、CMM概述四、CMM的概念模型成熟级别关键过程域(KPA)一般特性(CF)关键实施(KP)过程能力目标实施或规则建立基础结构或活动包含组织方式为包含指示取得说明描述四、CMM的概念模型 关键过程域KPA:代表一组相关的工作(活动)。每个KPA都有一个确定的目标
5、,完成该目标即认为过程能力的提高。一般特性CF(Common Features):进一步细分KPA的工作。五个特性:承诺(commitment)准备(ability)执行(activity)度量分析(measurement&analysis)验证(verifying implementation)五、CMM的五个级别 Level 1:初始级 过程无序且不可见OutIn五、CMM的五个级别 Level 2:可重复级 Milestone可见,按计划开发五、CMM的五个级别 Level 2的6个KPA:侧重于管理 需求管理(Requirements Management)软件项目计划(Softwar
6、e Project Planning)软件项目的跟踪和监控(Software Project Tacking and Oversight)软件子合同管理(Software Subcontract Management)软件质量保证(Software Quality Assurance)软件配置管理(Software Configuration Management)五、CMM的五个级别 Level 3:定义级 每个阶段的内部活动可见 标准过程和项目定义过程裁剪五、CMM的五个级别 Level 3的7个KPA:工程过程企业理念 机构过程关注(Organization Process Focus)
7、机构过程定义(Organization Process Definition)培训计划(Training Program)集成软件管理(Integrated Software Management)过程裁剪和定义 软件产品工程(Software Product Engineering)过程执行 组间协调(Intergroup Coordination)对等审查(Peer Reviews)五、CMM的五个级别 Level 4 管理级 过程可度量,预测值与结果之间的偏差可控五、CMM的五个级别 Level 4的2个KPA:预测量化管理 定量过程管理(Quantitative Process Man
8、agement)过程度量 软件质量管理(Software Quality Management)产品度量五、CMM的五个级别 Level 5 优化级 过程动态调整、新技术的采用五、CMM的五个级别 Level 5的3个KPA:动态优化 缺陷预防(Defect Prevention)技术改变管理(Technology Change Management)过程改变管理(Process Change Management)六、过程能力的提高和改进六、过程能力的提高和改进 两种过程评测方法:CBA IPI:CMM Based Appraisal for Internal Process Improve
9、ment。企业内部过程诊断 SCE:Software Capability Evaluation。外部评测企业的软件过程以了解其软件开发能力。七、CMM的裁剪 CMM针对的企业对象:一个相对大型的软件企业,有完备的机构划分和角色分工。其他类型的企业需要对CMM进行裁剪。裁剪的一般模式:CMM为定义“软件企业标准过程OSSP”提供指导和要求 OSSP为软件企业的“项目定义过程DSP”提供基准 DSP是设立“软件开发计划SDP”的前提。如果尚没有OSSP,取代它的是:Organizational Policy七、CMM的裁剪八、软件质量保障平台 逻辑结构协同平台过程获得图元定义、编辑和拖拽过程管理过程解释和控制数据库管理过程、文档、角色等外 接 工具,如度 量 工具等八、质量保障平台 系统结构数据库管理图示过程定义(包括文档和角色的定义)过程表示和转换其它应用工具(如度量工具等)反馈&引入过程流解释和引入活动执行和监控八、质量保障平台 平台的使用平台启动SEPG高级主管其他成员其他成员用户界面标准过程定义(文档&角色)启动项目定义过程裁剪(文档&角色)指定项目成员任务表过程转换任务申请和操作新任务&例程添加