您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > CMM基本知识和开发过程管理(陈雪松)
CMM基本知识和开发过程管理陈雪松2012年1月7日里程碑1.CMM-ABC2.CMM基本概念3.开发管理制度4.行动学习里程碑1.CMM-ABC2.CMM基本概念3.开发管理制度4.行动学习1、CMM-ABC1.组织对CMM的期待2.CMM与软件开发管理3.也谈CMM与敏捷4.用友股份的CMM35.资料来源里程碑1.CMM-ABC2.CMM基本概念3.开发管理制度4.行动学习2、CMM基本概念CMM产生原因:软件的开发经常超预算和超工期2011:VBSEA1.0投入?人月:?预算:软件产品的质量无法保证修改和维护软件非常困难软件开发依赖个别优秀员工的长期优秀表现基本问题是不能管理其软件开发的过程高层、营销人员对开发能力没有把握,不敢对外作承诺210人月230万元;人均1.1万/人月2、CMM基本概念时间事件意义1980s之前在IBM工作了27年的的汉弗瑞提出了成熟度框架的最初概念在软件开发过程中引入PDCA循环,并强调软件开发中过程管理的重要性。1980s初ITT公司的克劳斯拜详细阐述了成熟度框架中各个阶段的基础构架在《Qualityisfree》一书中详细阐述1980sIBM公司的让.冉第斯(Ron.Radice)及其同事在汉弗瑞的指导下将该框架改编成软件开发流程成熟度框架第一次应用到实际的软件开发过程中来.1986年汉弗瑞从IBM退休,将该思想带入SEI。同年SEI接受美国空军的申请开发评估软件供应商软件开发能力的方法。成熟度框架开始向社会推广1990年Jim.Withey,MarkPaulk,CynthiaWise编写了最早的草稿,汉弗瑞(WattsHumphrey)提供了第二稿,最后MarkPaulk接过该文,作为编写领导直到结束。在从成熟度问卷到初始版本取得经验的四年后,SEI将软件流程成熟度框架演化到软件开发能力成熟度模型中(CapabilityMaturityModelforSoftware)。1991年8月MaryBethChrissis和BillCurtis帮助MarkPaulk完成一份修订稿,1991年8月发布了1.0版的CMM以供全国评审,1992年4月举办了CMMV1.0的研讨会,约200名软件专业人员参加了会议。对V1.0的使用情况作了评审,广泛地吸取了各方面的建议。1993年1月在此基础上,Mark.Paulk又编写了一份修订稿的技术报告即CMMv1.1并于1993年1月发布。2、CMM基本概念CMM的作用:(1)用于软件过程的改进。(SPI:SoftwareProcessImprovement)指导软件组织制定详细工作计划并实施过程改进。(2)用于软件过程评估。(SPA:SoftwareProcessAssessment)由专业人员对组织软件过程状况进行评估,找出组织软件过程的问题;以取得组织领导层对软件过程改进的支持。(3)软件能力评价。(SCE:SoftwareCapabilityEvaluation)由专业人员对软件承包商的能力资格进行评价。CMM的理论重视软件过程管理与过程改进,组织的管理人员可参考CMM去制定或修改其软件过程,从而增强软件开发与生产能力,能不超预算且按时开发出高质量的软件。其思想是:只要集中精力持续努力去建立有效的软件工程过程的基础结构,并进行管理实践和过程改进,就可以克服软件开发中的困难。2、CMM基本概念实施CMM的效果CMM提高了组织绩效的可视性;结果的预见性;员工的职业道德;产品的质量;对复杂产品开发的管理能力;商业价值的可视性。图1不同成熟度等级的软件过程可视性2、CMM基本概念级别产品缺陷百分比开发周期百分比开发能力百分比成本百分比质量成本百分比CMM实施时间(月)Level110010010010055Level24670202593020Level32751291292114Level414413562599Level58364011959对同一个软件工程,实施CMM的软件企业和未实施的企业统计数据对比如下:(注:各百分比为相对百分比,即假定未实施CMM的企业的各项指标为100,在实施CMM后各级能够改进的相对数量。质量成本百分比为未实施CMM的质量成本假定为55,实施后的降低成本的相对量。资料来源于MOTOROLA的CMM讲解报告)有数据表明投资在软件过程改进所花费的每1美圆可以为产品研制节省5.70美圆2、CMM基本概念2、CMM基本概念CMM的适用范围及其局限性:1.SW-CMM是SEI为一个特定类型的软件企业为对象而制订出来的。它们是:承接政府(或军方)大型软件合同的企业。2.因此,中小型企业在采用CMM的时候,必须按照企业本身的特点和需要去进行剪裁。据分析,中小型企业在推行应用CMM时存在以下局限性:3.正式地推行CMM,需要在人力和经费上增加投入。4.要经过较长的一段时间之后(两年、三年、或者更长),才能看到成效。5.许多企业都已有一套现行的软件工程过程。他们多数采用的办法是基于现有过程,针对企业的需要而进行一些过程改进,而不是全盘实施引进CMM。6.实施了CMM的企业一般认为在二级和三级的时候还比较烦琐(但实施到4级后,则是一种管理艺术的享受)。7.对于软件产品直接在市场上销售的企业来说,真正的最终产品的质量竞争才是决定成败的关键。所以他们不必追求“等级认定”。2、CMM基本概念8.实施CMM的企业多是根据CMM的模型和本企业的特点,将CMM裁剪以便适应本企业发展的需要。例如:MOTOROLA公司在原CMM的18个KPA的基础上增加了2个以帮助控制本企业的相关领域。9.另外,CMM不是无所不包的,他并不阐述所有的对成功项目来说是重要的问题。例如,当前CMM并为谈及特定应用领域内的专门知识,缺少对软件工程流程的关注,没有对具体的软件技术作出建议或说明,没有对如何选择、雇佣、激励和留住有能力的人提出建议。(注:P-CMM对软件企业人力资源的开发管理进行了详细的论述)2、CMM基本概念•CMM中的基本理念全面质量管理:过程改进适用于所有的业务范围,而CMM仅适用于软件2、CMM基本概念•CMM中的基本理念验证过程参考V模型•过程管理:活动-----评审------活动-------评审------活动-----阶段确认----活动—评审--阶段确认----验收------确认-----2、CMM基本概念SW-CMM的框架2、CMM基本概念SW-CMM的框架1.初始级(Level1:Initial)在初始级,组织一般不具备稳定的软件开发与维护的环境。常常在遇到问题的时候,就放弃原定的计划而只专注于编程与测试。在初始级,项目的成功完全取决于有一个杰出的经理和高效、团结合作的开发组。当组中关键人物离开后,项目就会搁浅。2、CMM基本概念SW-CMM的框架2.可重复级(Level2:Repeatable)在这一级,在以往项目经验的基础上建立了软件项目的管理方法及执行措施。软件项目的计划和跟踪是稳定的,能重复以前的成功。项目过程处在项目管理系统的有效控制之下。2、CMM基本概念SW-CMM的框架3.已定义级(Level3:Defined)组织的软件开发和维护的标准过程已文档化,称之为标准软件过程。所建立的产品线内,成本、进度、功能均受控,对软件质量也进行了跟踪。2、CMM基本概念SW-CMM的框架4.管理级(Level4:QuantitativeManagement)第四级的管理是量化的管理。所有的产品和过程均建立了定量的质量目标和相应的度量方式、度量指标。通过度量可控制软件过程和产品,开发新领域的软件的风险也可有效控制。因此,软件产品具有可预测的高质量。2、CMM基本概念SW-CMM的框架5.优化级(Level:Optimizing)在第五级,企业已达到持续改善的境界。通过在现有过程中通过增量式前进的方法,也通过采用新技术、新方法等革新办法,不断改进软件生产过程以求达到最佳。2、CMM基本概念CMM的内部结构W-CMM的结构(基于版本1.1)缩进表示层次式的从属关系:《成熟度等级》(共分五个等级)《关键过程域》(除第一级外,每个成熟等级有3—7个关键过程域)《公共属性》(每个关键过程域都以5项共同的属性来描述)《关键实践》(每项公共属性都要求执行一些关键实践活动)2、CMM基本概念成熟度等级关键过程域公共属性关键实践过程能力标志目标达到实施及规范阐述设施及活动描述包含组成包含CMM的内部结构2、CMM基本概念可重复级(2)需求管理-RM软件项目计划-SPP软件项目跟踪和监督-PTO软件子合同管理-SSM软件质量保证-SQA软件配置管理-SCM初始级(1)已定义级(3)组织过程焦点-OPF组织过程定义-OPD培训程序-TP集成软件管理-ISM软件产品工程-SPE组间协调-IC同行评审-PR已管理级(4)定量过程管理-QPM软件质量管理-SQM优化级(5)缺陷预防-DP技术改变管理-TCM过程改变管理-PCM关键过程域(KPA)第一级(初始级)无关键过程域,2-5级共包含18个KPA2、CMM基本概念关键过程域(KPA)与关键实践(KeyPractices)除第一级外,每一个成熟度等级都包含多个关键过程域(KPA)。这些KPA指出了企业需要集中力量实行改进的软件过程,和为了要达到该能力成熟度等级所需要解决的具体问题。每个KPA都明确地列出一个或多个目标(Goal),及一组相关联的关键实践(KeyPractices)。实行这些关键实践就能实践这个关键过程区域的目标,从而达到增加过程能力的效果。CMMV1.1版本2-5级共包含316个关键实践。2、CMM基本概念公共属性(CommonFeatures)每个关键KPA都有一个至多个目标(Goal)和多个关键实践(KeyPractice)。各关键实践分别归属于五个不同的公共属性小组,它们分别是:执行约定(CO,CommitmenttoPerform)执行能力(AB,AbilitytoPerform)实施活动(AC,ActivitiesPerformed)度量分析(ME,MeasurementandAnalysis)实施验证(VE,VerifyingImplementation)2、CMM基本概念第一组:执行约定(CO)描述为了保证相关过程的建立与授权,企业所要采取的行动。这些行动涉及到企业的政策与高层管理人员所承担的责任。第二组:执行能力(AB)描述为了使某软件过程得以始终如一地执行的必须在项目或企业中存在的先决条件。这些条件包括有关项目计划的实践;资源的配置;责任的布置与授权;以及各种有关的培训。第三组:执行活动(AC)描述在实现相关的过程时的行动、任务与程序。其中涉及到实施工作;制造产品与提供服务;掌握工作状况和按需采取纠错行动。第四组:度量与分析(ME)描述对相关过程进行有效性、效率和依从性的度量。第五组:实施验证(VE)描述管理上的核实以确保所实施的过程是按照原定的计划以及达到其目标的。实施验证牵涉到过程执行的确保,产品要求的确保,高层管理人员进行的审核和项目经理进行的审核。从整体来说,软件能力成熟度级别从低到高的变化代表了企业的软件生产活动由高风险低效率到高质量、高生产率的进展。2、CMM基本概念以第2级的第1个KPA–RM(需求管理)为例,介绍KPA的构成。2.1需求管理:其目的是建立和维护用户和软件项目间的对软件如何实现用户需求的共识。目标:目标1.为使系统需求受控,建立起用于软件工程和管理的基线。目标2.软件计划、产品和活动与系统需求保持一致。2、CMM基本概念执行约定(CO)约定1.组织对“需求活动”进行书面的过程规定,此规定包括:1)需求应形成文档。2)需求应经过以下人员的评审:软件项目管理者、系统测试、设计、实现、SQA、SCM以及文档支持人员。3)软件计划、产品、活动等需要时应进行修改,以与需求保持一致。2、CMM基本概念执行能力(AB)能力1.每个项目中都明确规定以下职责:分析系统需求,并分配到硬件、软件和其他系统组件。能力2.需求应形成文档。文档包括:1)非技术性需求
本文标题:CMM基本知识和开发过程管理(陈雪松)
链接地址:https://www.777doc.com/doc-5390428 .html