CMMI及其应用目录12345CMMI有关名词及发展介绍CMMI模型的作用认识CMMI模型结构能力成熟度等级介绍CMMI模型带给我们什么?6现状CMMI是什么?•CMMI-CapabilityMaturityModelIntegrationCMMI的历史与发展SW-CMMv1.0SE-CMMSA-CMMIPD-CMMP-CMMCMMI评价美国国防部的软件合同承包组织的能力。美国国防部卡内基梅隆大学SEICMMI-DEVCMMI-SVCCMMI-ACQ2000年08月-V1.02001年12月-V1.12006年08月-V1.22010年11月-V1.31991年目录12345CMMI有关名词及发展介绍CMMI模型的作用认识CMMI模型结构能力成熟度等级介绍CMMI模型带给我们什么?6现状6CMMI核心思想:过程管理软件过程:用于制造软件产品的一系列的活动、方法和实践。工具(技术)人ADBC过程“过程”能指导“人”有效利用“工具(技术)”开发软件产品不成熟与成熟的软件过程不成熟混乱高度依赖于项目参与者项目结果不可预测容易出现超预算、拖期、质量问题使用新技术有很大风险反应式、消防成熟定义明确、文档化严格控制严格度量以过程改进为核心以先试点和成本收益分析为依托主动式、预防CMMI模型的作用基于模型改进的好处建立共同语言铸造共同的愿景建立在集业界之大成的过程和实践的基础上提供划分改进措施优先级的框架,是过程改进的导向图提供执行可靠的、一致认定的改进框架外部环境通过评级是企业开发能力的一种证明提高企业在市场上的竞争力目录145CMMI有关名词及发展介绍能力成熟度等级介绍CMMI模型带给我们什么?6现状23CMMI模型带给我们什么?认识CMMI模型结构CMMI两种表达方式通用实践1具体目标具体实践1过程域通用目标通用实践1具体目标具体实践1过程域通用目标连续式阶段式成熟度等级能力等级11举例-具体实践举例-通用实践•GP2.1建立组织级方针•GP2.2计划过程•GP2.3提供资源•GP2.4分派职责•GP2.5培训人员•GP2.6控制工作产品•GP2.7识别相关干系人,并使之参与•GP2.8监督并控制过程•GP2.9客观评价遵守程度•GP2.10与上级管理层一起进行状态评审•GP3.1建立已定义的过程•GP3.2收集与过程相关的经验CMMI两种表达方式连续式ProcessAeaCapabilityPAPAPA评价一个过程域(PA)或一系列PA的能力等级阶段式ML5ML4ML3ML2ML1评价组织的成熟度等级阶段式表达方式评价组织(Organization)成熟度等级(Maturitylevel)14如何应用CMMI模型?CMMI模型公司过程定义文件过程执行及反馈项目n评估组织成熟度等级组织过程定义文件依据CMMI-DEV,V1.3模型的要求建立了组织适合的过程定义文件和模板行标签手册指南模板项目管理卷2132项目管理册1130供应商管理册12产品工程卷6248生命周期册13产品需求册14产品设计册16产品实现册118产品测试册1118产品评审册19过程管理卷4138过程管理册2122原因分析册12组织培训册114过程支持卷215度量分析册14决策分析册2配置管理册16质量保证册3总计144133目录4能力成熟度等级介绍15CMMI有关名词及发展介绍CMMI模型带给我们什么?6现状23CMMI模型带给我们什么?认识CMMI模型结构18能力成熟度等级(分级式)制度化软件过程不正规、混乱实施了基本的项目管理过程标准化软件过程改进制度化、系统化实施了产品和过程的量化控制1.初始级2.已管理3.已定义4.量化管理5.优化中标准化、一致性可预测性持续改进19Level1(初始级)软件过程是神秘的进度/成本/...目标Level1输入输出概率20Level1特征-对于软件过程,管理者具有很低的可视性-几乎没有规程或程序被定义-在危机面前,不再遵守已有的规程-需求经常变更,但很少得到控制-不切实际的进度和成本的估计-几乎完全依靠少数关键的英雄人物-客户对产品质量和作出的响应是不满意的-无效的承诺过程21Level2(已管理级)里程碑处具有可视性输入输出进度/成本/...Level2目标概率Level2特征-得到基本的管理控制-相似的项目具有较好的可视性-严格遵守纪律-严格遵守标准的软件工程方法-项目计划规定了项目所使用的过程-收集了一些度量数据纪律是军队的灵魂,它能使弱旅变得强大并获得成功,从而受到大家的尊敬。——乔治.华盛顿22从1级到2级(初始级到已管理)24Level3(已定义)过程内部也变的具有可视性输入输出进度/成本/...Level3目标概率25Level3特征-建立了标准的软件过程-严明的过程纪律和专业的工程环境-面对危机,开发人员一定会坚持遵守已定义的过程-关注的焦点转向度量软件过程已被编制为各个标准化过程,并在企业范围内执行,从而使软件生产和管理更具可重复性,可控制性,稳定性和持续性。对项目的实施有一整套的管理措施,并保障项目的完成;通过组织定义的裁剪指南使组织的标准过程适用于所有的项目,项目执行一套相同的过程;组织定义了相关机构和职责从事过程改进活动,并对其进行管理;明确并完善了工程过程的要求;提供了决策分析技术;从2级到3级(已管理到已定义)CMMI2&3项目管理•集成项目管理•风险管理工程过程•需求开发•技术方案•产品集成•验证•确认过程管理•组织过程聚焦•组织过程定义•组织培训支持过程•决策分析与决议•度量分析•质量保证•配置管理•项目策划•项目跟踪和监控•分包协议管理•需求管理项目管理总流程确定项目范围定义项目过程工作任务分解项目估计各项内容策划项目裁剪报告项目计划估计过程记录表项目跟踪控制手册(风险/问题)模型应用表项目跟踪控制手册(风险/问题)项目周报里程碑报告项目变更申请表经验和教训总结提交经验文档提交改进建议(流程和模板)提交项目度量数据项目总结报告文档范例项目度量数据项目策划项目跟踪项目总结跟踪进度/工作量/成本分析进度及业绩(CPI/SPI)计算完成时的估计度量分析项目控制风险控制计算进度及业绩(CPI/SPI)分析变化项目沟通个人/项目周报项目例会里程碑会议及评审建立裁剪指南和标准新开发升级维护项目裁剪报告组织标准过程组织定义裁剪指南标准供不同的项目裁剪,裁剪范围是跟项目相关的所有过程。大中小项目已定义过程定义项目过程选择项目类型/工作量特定裁剪生成裁剪报告质量保证过程域3031542QA过程审计依据检查单对过程审计,确保项目执行符合组织标准过程的要求;报告审计结果,跟踪不符合问题的解决。产品审计依据检查单对开发过程产生的工作产品进行审计,确保工作产品符合组织定义的模板的要求;报告审计结果,跟踪不符合问题的解决。我们需要独立的监督和支持机构!过程度量协助收集分析度量数据,为组织级过程改进提供依据。过程支持与指导指导按照相关的标准规程组织开发活动等过程改进参与组织过程改进活动我们的痛处在哪里,如何治疗?QA的工作目标:保证软件过程质量,正确地做事。31软件开发中常见问题开发人员未经授权修改代码或文档人员流动造成企业的软件核心技术泄密或留下的程序因缺文档而导致无人能接上手找不到某个文件的历史版本无法重现或编译历史版本,使维护工作十分困难对某些文件进行了一定的修改后,发现有些修改是错误的,但又不能进行回退操作代码相互覆盖现象时有发生……配置管理是软件开发的基石!我们如何了解历史?配置管理是高效开发的基础,它不断把公司付出的人力和脑力成本转化可见和可传递的产品积累和保存;配置管理也为开发人员提供了一个协作的平台,在此平台上,大家能够更有效率的交流和协作;降低损失和浪费:版本混乱、人员流动、产品缺失、数据统计。配置管理概念软件配置管理(SoftwareConfigurationManagement,SCM)是通过技术或行政手段对软件产品及其开发过程和生命周期进行控制、规范的一系列措施。其目标是记录软件产品的演化过程:确保软件开发者在软件生命周期中各个阶段都能得到正确的产品配置;确保所有配置项的完整性和可跟踪性;配置项纳入配置管理范畴的工作成果统称为配置项。主要有两大类:属于产品组成部分的工作成果,如:源代码、需求文档、设计文档、测试用例等;管理过程中产生的文档,如:各种计划、监控报告等;配置管理主要工作定义和维护基线变更控制配置状态统计配置审计包括:识别和标识配置项、定义和维护基线、建立可追踪性、建立和维护配置管理库定义变更权限,按照流程对变更进行控制和管理。1提出变更请求2评价变更3评审和批准4实施变更5批准结果6更新基线说明配置项及变更请求状态,回答4WWhat:发生了什么事?Who:谁做的此事?When:此事是什么时候发生的?Why:为什么做此事?对于配置库库的结构、内容进行检验,其目的在于验证配置项的完整性、正确性。35Level4(量化管理)的可视性是定量的、客观的输入输出进度/成本/...Level4目标概率36Level4特征-管理者拥有决策的客观基础-管理者能在量化的范围内预测性能-运用统计过程控制的原理监控过程-处理过程偏差的特殊原因过程管理•组织过程性能项目管理•量化项目管理CMMI43.02.52.01.51.00.50.050100150200250300总生产率频率均值183.4标准差68.57N17总生产率的直方图正态8006004002000147101316192225观测值单独值+3SL=798.4+2SL=672.4+1SL=546.3_X=420.3-1SL=294.3-2SL=168.3-3SL=42.34003002001000147101316192225观测值移动极差MR=142.1+3SL=464.4+2SL=357.0+1SL=249.6-1SL=34.7--32SSLL==00日编码生产率的I-MR控制图组织过程性能基线YX1X2组织过程性能模型X3通过项目历史数据建立组织的过程性能基线和模型;应用组织的过程性能基线和模型对项目进行量化管理和控制;从3级到4级(已定义到量化管理)咱们的产品质量怎么样?2级3级5级4级1级还不错吧。没有度量,凭感觉很好。产品发布后3个月的缺陷密度平均值是3个/KLOC有度量,缺乏对数据进行分组,一般只使用平均值很好。这类项目,产品发布后3个月的缺陷密度的平均值是3个/KLOC,另一类产品是2.7个组织级层面上的“求同存异”开始对数据分组,对数据差异有一定的概念。很好。这类项目,产品发布后3个月的缺陷密度,服从正态分布,平均值是3个/KLOC,标准差是0.3用统计方法计算某个数值出现的频率,说明数据服从的分布和范围1年前我们的数据服从3+-0.3的正态分布,现在的水平是2+-0.2个,标准差缩小了,同时,通过统计检验,平均值是有显著差异的。用统计方法描述和验证过程改进的结果,用标准差的变化,以及平均值差异的显著性检验结果说明改进的效果。你的答案在哪?几个概念为了实现某一目标而采取的一系列步骤可大:覆盖整个生命周期,如:研发过程、问题处理过程等可小:产生某个工作产品的过程,如:软件需求的同级评审、单元测试等过程性能对执行某一过程的实际结果的度量体现为:•对过程的度量,如:工作量、周期、缺陷移除率•对产品的度量,如:可靠性、缺陷密度、系统运行效率过程能力过程满足顾客要求(项目目标)的能力。Therangeofexpectedresultsthatcanbeachievedbyfollowingaprocess.过程项目&组织过程性能基线和模型组织度量库项目1项目2项目ncenterUpperlimitLowerlimitYX1X2X3重要前提:过程稳定过程性能模型过程性能模型•过程性能模型是根据项目执行过程中,尤其是早期的某些子过程度量元作为输入,预测项目后期或结束时的某个质量目标或过程性能目标的实现的可能