1、CMM/CMMI介绍陈大卫2022年3月5日目录目录 软件过程概述 CMM与CMMI回顾CMMCMMI介绍 目标:喝茶 你要考虑哪些问题?活动时间(分钟)洗壶5洗杯3备火5备茶3烧水15泡茶5软件过程概述什么是过程?软件过程概述什么是过程?软件过程概述定义软件过程概述定义 Process: A sequence steps performed for a given purpose CMM V1.1 Process capability: the range of expected results that can be achieved by following a process CMM
2、V1.1 Software process: A set of activities,methods,practices, and transformations to develop and maintain software and associated products. CMM V1.1软件过程概述软件过程软件过程概述软件过程项目定义开发库开发库受控库受控库工具工具方法方法标准标准度量(监控)SQA项目计划能力能力生成工作产品【草稿】工作产品【已通过评审】同行评审工作产品【已通过同行评审】评审输入入口准则模板变更变更阶段计划软件过程概述软件过程举例软件过程概述软件过程举例软件过程概述软
3、件过程概述软件管理软件管理1)1)软件一无形的、含糊的、开发是以人为中心的过程。在真正实现软件一无形的、含糊的、开发是以人为中心的过程。在真正实现它之前,人们很难想清楚他要的是什么它之前,人们很难想清楚他要的是什么* * “ “采购软件时政府并不是在购买一个预先能详细说明的产品,而采购软件时政府并不是在购买一个预先能详细说明的产品,而是在购买能导致一个产品的工作是在购买能导致一个产品的工作”2)“2)“管理为软件开发的最大问题区域管理为软件开发的最大问题区域”。(美国国防科学委员会。(美国国防科学委员会8787年报告)年报告) * * 20 20多年来,未能实现多年来,未能实现“应用新的软件方
4、法和技术可提高软件生应用新的软件方法和技术可提高软件生产率和质量产率和质量”这一诺言。这一诺言。 * * “ “基本问题是不能管理其软件过程。在无纪律的、混乱的项目基本问题是不能管理其软件过程。在无纪律的、混乱的项目状态下,组织不可能从较好的方法和工具中获益状态下,组织不可能从较好的方法和工具中获益” * * 70 70 项目的问题源于管理,而非技术项目的问题源于管理,而非技术 过程改进的目的是什么?提高生产力水平如提高质量、开发效率、降低成本等 为什么强调过程?过程过程技术技术人人软件过程概述为何要改进?软件过程概述为何要改进? IDEAL(CMM/CMMI)Initiating(初始化)D
5、iagnosing(诊断)Establishing(建立)Acting(行动)Leveraging(扩充) DMAIC(Six Sigma)Define(定义)Measure(度量)Analyze(分析)Improve(改进)Control(控制)软件过程概述过程改进方法软件过程概述过程改进方法CMM与与CMMI关键词关键词 CMM(Capability Maturity Model)能力成熟度模型 CMMI(Capability Maturity Model Integration)能力成熟度模型集成 SEI(Software Engineering Institute)软件工程研究所(卡内
6、基梅隆大学)CMM/CMMI是是美国卡内基美国卡内基梅隆大学梅隆大学的软件工程研究所受美的软件工程研究所受美国国国防部委托,提出国国国防部委托,提出的一套用于软件过程改的一套用于软件过程改进与评估的模型。进与评估的模型。CMM与与CMMI关键词关键词 KPA(Key Process Area)关键过程域PA:过程域(CMMI) ML(Maturity Level)成熟度等级(15) CL(Capability Level)能力等级(15)CMM/CMMI的用途的用途 评价组织的过程能力 内部过程改进的参考模型注意:实际运用时,需要辅以具体的操作过程和方法CMM/CMMI过程模型过程模型 CMM
7、是过程模型,而不是法规(Rule)模型是描述有效过程特征的元素的结构化集合这里所涵盖的过程是指那些通过经验证明为有效的过程 模型:帮助建立过程改进的目标和优先次序协助改进过程为确保建立一个稳定的、有能力的以及成熟的过程提供指南(CMM不是过程)作为组织过程改进的指南基于模型改进的好处基于模型改进的好处 建立共同语言 形成共享的视图 能构建一组过程和实践,它集中反映了软件行业的经验 提供将改进措施排序的框架,提供过程改进的地图 提供进行可靠和一致估价的框架 支持产业范围内的对比基于模型改进的风险基于模型改进的风险 模型是现实世界的简化 模型不可能是包罗万象的 必须根据经营目标解释和剪裁 需要判断
8、判断 ! 列出“what”, 针对自己情况决定“how”CMM与与CMMI核心思想核心思想 持续改进 制度化 什么是制度化?制订计划按照计划执行检查并记录过程度量分析持续改进CMM与与CMMI回顾回顾CMM已定义级 (3)已定义级 (3)优化级(5)优化级(5)可重复级 (2)可重复级 (2)初始级 (1)初始级 (1)已管理级(4)已管理级(4)模糊,管理混乱模糊,管理混乱过程被度量和控制过程被度量和控制过程得到良好定义,并广泛理解过程得到良好定义,并广泛理解可以重复以前类似项目的过程可以重复以前类似项目的过程过程已制定过程已制定标准、一致标准、一致的过程的过程过程可预测过程可预测持续地改进
9、持续地改进过程过程关注于过程和技术的革新关注于过程和技术的革新过程能力等级过程能力等级特点特点关键过程域关键过程域1、初始级软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。管理是反应式(消防式)2、可重复级建立了基本的项目管理过程来跟踪费用、进度和功能性。制定了必要的过程纪律,能重复早先类似应用项目且取得成功需求管理;软件项目策划;软件项目跟踪与监控;软件子合同管理;软件质量保证;软件配置管理3、已定义级已将软件管理和工程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、裁剪的标准软件过程来开发和维护软件组织过程定义;组织过程焦点;培训大纲;集成软
10、件管理;软件产品工程;组间协调;同行评审4、已管理级收集对软件过程和产品质量的详细度量,对软件过程和产品都有定量的理解与控制定量过程管理;软件质量管理5、优化级过程的量化反馈和先进的新思想、新技术促进过程不断改进缺陷预防;技术变更管理;过程变更管理过程成熟度进化过程成熟度进化12345过程的可视性过程的可视性级别级别可视可视性性InOutInOutInOutInOutInOutCMM2关键过程域(关键过程域(KPA)中文中文 缩写缩写 全称全称需求管理 RM Requirements managementRequirements management软件项目策划 SPP Software pr
11、oject planningSoftware project planning软件跟踪与监控 SPTO Software project trackingSoftware project tracking&oversight&oversight软件子合同管理 SSM Software subcontract managementSoftware subcontract management软件配置管理 SCM Software configuration managementSoftware configuration management软件质量保证 SQA Software quality
12、 assuranceSoftware quality assuranceCMM3关键过程域关键过程域(KPA)中文中文 缩写缩写 全称全称组织过程焦点 OPF Organization process focusOrganization process focus组织过程定义 OPD Organization process definitionOrganization process definition培训大纲 TP Training programTraining program集成软件管理 ISM Integrated software managementIntegrated sof
13、tware management软件产品工程 SPE Software product engineeringSoftware product engineering组间协调 IC IntergroupIntergroup coordination coordination同行评审 PR Peer reviewsPeer reviewsCMM4关键过程域(关键过程域(KPA)中文中文 缩写缩写 全称全称定量过程管理 QPM Quantitative process managementQuantitative process management软件质量管理 SQM Software qual
14、ity managementSoftware quality managementCMM5关键过程域(关键过程域(KPA)中文中文 缩写缩写 全称全称缺陷预防 DP Defect preventionDefect prevention技术变革管理 TCM Technology change managementTechnology change management过程变革管理 PCM Process change managementProcess change managementCMM与与CMMI差别差别CMMKey Process AreaNoneKPA GoalKey practic
15、e from Inst Com Feat.Key practice from Activities performedSub practiceMaturity LevelNoneExplanatory MaterialExamplesExamples and explanatory materialCMMIProcess AreaGeneric GoalSpecific GoalGeneric PracticeSpecific PracticeSub practiceMaturity LevelCapability LevelNotesWork Products“for software on
16、ly”CMM与与CMMI差别差别CMMI模型的两种表示法模型的两种表示法CMMI阶段式表示法阶段式表示法CMMI过程域二级(过程域二级(7个)个) REQM(需求管理):管理需求 PP(项目策划):估计、计划、承诺 PMC(项目监控):根据计划监控 SAM(供应商合同管理):选择、评价 MA(度量分析):采集、分析、沟通 PPQA(产品与过程质量保证):评价、报告 CM(配置管理):建立、跟踪、维护CMMI过程域三级(过程域三级(113)RD(需求开发):分析、确认TS(技术解决方案):包含设计、实现、用户文档PI(产品集成):集成方案、接口VER(验证):测试、同行评审VAL(确认): 确认
17、产品符合客户需求OPF(组织过程焦点):目标、范围、资源OPD(组织过程定义):建立组织过程资产OT(组织培训):建立组织培训能力、提供培训IPM(集成项目管理):过程定义、项目协作RSKM(风险管理):制订策略、分析、应对风险IT(集成化群组):ISM(集成化供应商管理):DAR(决策分析与解决方案):使用正式过程选择解决方案OEI(集成化组织环境):CMMI过程域四级过程域四级/五级五级 四级(2个)OPP(组织过程性能):建立组织过程性能基线和模型QPM(定量项目管理):采用统计过程控制(SPC)方法进行项目管理 五级(2个)OID(组织变革与实施):选择、试用、推广、验证;主要关注过程
18、与技术CAR(根本原因分析与解决方案):即缺陷预防CMMI过程域按类别划分过程域按类别划分过程管理(过程管理(5个)个) OPF(组织过程焦点) OPD(组织过程定义) OT(组织培训) OPP(组织过程性能) OID(组织变革实施)项目管理(项目管理(62) PP(项目策划) PMC(项目监控) SAM(供应商合同管理) IPM(集成项目管理) RSKM(风险管理)IT(集成化群组)ISM(集成化供应商管理) QPM(定量项目管理)工程(工程(6个)个) REQM(需求管理) RD(需求开发) TS(技术解决方案) PI(产品集成) VER(验证) VAL(确认)支持(支持(51) CM(配
19、置管理) PPQA(产品与过程质量保证) MA(度量分析) DAR(决策分析与解决方案)OEI(集成化组织环境) CAR(根本原因分析与解决方案) 2001年1月通过CMM二级认证 2002年1月通过CMM三级认证 2004年2月通过CMM四级认证 2007年3月通过CMMI五级认证联想利泰软件过程改进历程联想利泰软件过程改进历程参考资料参考资料 相关书籍能力成熟度模型集成及其应用(中国水利水电出版社)CMMI过程集成与产品改进指南(清华大学出版社) 电子文档:SPC:过程财富联想软件过程财富过程相关文档库参考资料标准CMM模型 相关网站:www.sei.cmu.edu问题和讨论问题和讨论谢谢谢谢 大家大家