1CPR-CMM-T-V2.0-2002/101第2讲CMM/CMMI发展和意义第第22讲讲CMM/CMMI发展和意义CPR-CMM-T-V2.0-2002/102问题:什么是CMM?wCMM—CapabilityMaturityModelforSoftware软件能力成熟度模型;w定义:对于软件组织在定义、实现、度量、控制和改善其软件过程的各个发展阶段的描述。w目的:帮助企业进行对软件工程过程的管理和改进,增强开发制造能力,从而能按时地、不超预算地制造出高质量的软件。PDF文件使用pdfFactoryPro试用版本创建什么是CMMI?w集成的软件能力成熟度模型wCapabilityMaturityModel-IntegrationCPR-CMM-T-V2.0-2002/104CMMI为学科分离构筑了“桥梁”w将系统工程和软件工程集成在一起w将系统学科和软件学科集成为一个过程改进框架w当出现需求时,为引进新学科提供框架。PDF文件使用pdfFactoryPro试用版本创建模型w一个由理论和经验部分组成的模型w理论部分描述:n如何把工作作为一个“过程”组织、实施和评审n过程的进化如何明确地管理w经验部分是软件工程实践和进化框架的综合CPR-CMM-T-V2.0-2002/106CMM的产生w在美国国防部资助下,由卡内基梅隆大学软件工程研究所(SEI)建立,用于评价软件开发组织软件过程能力成熟度的模型。w后来此模型被用于软件开发组织内部的软件过程改进。PDF文件使用pdfFactoryPro试用版本创建关于SEIwSEI:软件工程研究所w美国国防部(DOD)成立w地址在美国匹兹堡CarnegieMellon大学w为软件组织提供指南w开发了CMM/CMMICPR-CMM-T-V2.0-2002/108CMM/CMMI的来源w来源于传统的质量工程理论,吸收了nWalterShewart的统计质量控制原理nW.EdwardsDeming的著作“OutoftheCrisis”nJosephJuran的著作“JuranonPlanningforQuality”、”JuranonleadershipforQuality”nPhilipCroseby在“Qualityisfree”中提出的将质量管理改编为成熟度框架的思想;PDF文件使用pdfFactoryPro试用版本创建的发展w1987,SEI推出SW-CMM框架;w1991,SEICMM1.0版;w1993,SEICMM1.1版;w1998,计划SEICMMI(包括SW-CMM);w2000.8.11,CMMI-SE/SW1.0版发布;w2001.12,CMMI-SE/SW/IPPD/SS1.1版发布;w2002.8,CMMI-SW1.1版发布;w2001.4我国发布SJ/T11234和SJ/T11235w2006.8,CMMIforDevelopment1.2版发布CPR-CMM-T-V2.0-2002/1010为什么需要CMM/CMMIw软件过程评估(SPA)---指出该企业所面对的与软件过程有关的、最急需解决的问题,以便改进;w软件过程改进(SPI)---帮助软件企业对其软件过程向更好的方向改变;w软件能力评价(SCE)---鉴别软件承包者的能力资格;或检查/监督正用于软件制作的软件过程的状况;PDF文件使用pdfFactoryPro试用版本创建软件过程存在的问题w软件项目无法按期交付,费用超出预算;w需求规格说明总是一改再改;w人员的变动对组织带来很大的影响;w维护成本居高不下;w不能在顾客希望的时间内完成维护,带来顾客抱怨;w软件的可移植性差;w软件的可复用性差。CPR-CMM-T-V2.0-2002/1012不成熟组织的特征w软件过程在项目过程中临时拼凑;w即使规定了也不能严格遵守和贯彻;w反应式的组织—“救火队员”w超出进度和预算已成惯例;为满足进度要求,常在产品功能和质量上做出让步,缩短或取消评审和测试等质量活动;w不存在判断产品质量或解决产品或过程问题的客观基础PDF文件使用pdfFactoryPro试用版本创建成熟组织的特征w具有全组织范围管理软件开发和维护过程的能力w软件过程被准确无误地通知现有职员和新员工w工作活动按照已规划的过程进行w强制式的过程适用,而且和实际工作方式一致w岗位及其职责都是清楚的w有客观、定量的基础分析产品级过程问题,能基于事实和历史不断改进;进度和预算是现实的CPR-CMM-T-V2.0-2002/1014实施CMM/CMMI的好处w过程改进的好处属于以下七种之一:n改进进度和预算的可预测性n改进开发周期n提高生产率n改进质量(度量缺陷)n增加客户的满意度n提高员工的士气n增加投资回报n低质量成本PDF文件使用pdfFactoryPro试用版本创建文件使用pdfFactoryPro试用版本创建的设计目标w集成源模型:以消除矛盾,减少重复w减少实施基于模型的过程改进的费用w增加模型的清晰性和可理解性n通用的术语n一致的风格n统一的结构规则n公共的组件w确保与ISO15504一致。CPR-CMM-T-V2.0-2002/1018CMMIv1.1模型的来源源Models•软件能力成熟度模型V2,草案C(SW-CMMV2C)•EIA过渡标准731,系统工程能力模型(SECM)•集成产品开发能力成熟度模型,草案V0.98(IPD-CMM)CMMI-SE/SW阶段式表示法CMMI-SE/SW连续式表示法PDF文件使用pdfFactoryPro试用版本创建模型组成CMMI-SW连续式表示法CMMI-SW阶段式表示法CMMI-SWCMMI-SW/SECMMI-SW/SE/IPPDCMMI-SW/SE/IPPD/SSCMMI-SE/SW/IPPD连续式表示法CMMI-SE/SW阶段式表示法CMMI-SE/SW连续式表示法CMMI-SE/SW/IPPD阶段式表示法CMMI-SE/SW/IPPD/SS连续式表示法CMMI-SE/SW/IPPD/SS阶段式表示法目前CMMIv1.1成套产品,按学科建立模型n系统工程SEn软件工程SWn集成产品和过程开发(IPPD)n供应商来源(SS)CPR-CMM-T-V2.0-2002/1020CMMI阶梯式表示法-组织成熟度方法1级-初始级2级-管理级配置管理过程和产品质量保证供应合同管理项目监控和控制项目计划需求管理测量和分析3级-定义级产品集成集成项目管理组织培训组织过程定义组织过程重点需求开发技术解决方案验证确认风险管理决策分析和解决组织环境的集成集成供应商管理(SupplierSourcing,SS)集成组队(IPPD)5级-优化级组织革新和实施原因分析和解决4级-定量管理级定量项目管理组织过程性能5优化级4定量管理级3定义级2管理级1初始级PDF文件使用pdfFactoryPro试用版本创建连续式表示法-过程能力方法5优化级4定量管理级3定义级2管理级1执行级0不完善级过程管理组织培训组织过程定义组织过程重点组织过程性能组织革新和实施支持配置管理过程和产品质量保证测量和分析决策分析和解决集成的组织环境(IPPD)原因分析和解决工程需求管理需求开发技术解决方案产品集成验证确认项目管理项目计划项目监控和控制供应协议管理集成项目管理风险管理定量项目管理集成供应商管理集成组队(IPPD)CMMI的连续式表示法-过程能力方法•分4类•未确定实现的先后次序CPR-CMM-T-V2.0-2002/1022升级CMMIv1.2的原因-1w减少复杂性和规模n删除高级实践和公共特性n删除SS学科n中和ISM到SAMn充实IPPD学科内容到相关PAn修改部分术语n一个文档包括两种描述w增加覆盖范围PDF文件使用pdfFactoryPro试用版本创建升级CMMIv1.2的原因-2w增加覆盖范围n增加硬件描述nIPPD内容增加到OPD、IPM两个PA,名称变成OPD+IPPD,IPM+IPPDCPR-CMM-T-V2.0-2002/1024CMMI的结构-阶段式执行承诺执行能力指导实施验证实施特定惯例特定目标通用目标过程域1过程域2过程域3成熟度等级通用惯例PDF文件使用pdfFactoryPro试用版本创建过程域1级-初始级2级-管理级配置管理过程和产品质量保证供应合同管理项目监控和控制项目计划需求管理测量和分析3级-定义级产品集成集成项目管理+IPPD组织培训组织过程定义+IPPD组织过程重点需求开发技术解决方案验证确认风险管理决策分析和解决5级-优化级组织革新和实施原因分析和解决4级-定量管理级定量项目管理组织过程性能5优化级4定量管理级3定义级2管理级1初始级CPR-CMM-T-V2.0-2002/1026CMM与ISO9000w取得ISO9001认证不意味完全满足CMM的某等级要求w取得CMM第2或第3等级不能笼统地认为可以满足ISO9000要求PDF文件使用pdfFactoryPro试用版本创建的实施—组织准备w高层经理wCMMI项目主管w软件工程过程组(EPG)w软件质量保证组(QAG)w软件配置管理组(CMG)CPR-CMM-T-V2.0-2002/1028CMMI的实施—知识和技能培养w营造软件工程管理的文化氛围,培养专业化的队伍w应普遍开展CMM及软件工程基础的培训,及高级培训nEPG:过程专家n各行动组(职能组):领域专家明确角色职责,使每个岗位的人员都具备过程改进的意识,并掌握所必需的过程改进知识和技能w重视对软件工程的研究,包括方法、工具和过程n需求开发、设计、测试、评审等n集成环境,测试工具n缺陷追踪和管理PDF文件使用pdfFactoryPro试用版本创建的实施—财富库和数据库w财富库w数据库CPR-CMM-T-V2.0-2002/1030CMMI的实施—定义过程方针方针方针过程(生命周期?)过程过程((生命周期生命周期?)?)•Methods•Templates•Guidelines•Procedures••MethodsMethods••TemplatesTemplates••GuidelinesGuidelines••ProceduresProcedures过程支持元素过程支持元素•Standards•Training•Tools•Measures••StandardsStandards••TrainingTraining••ToolsTool