1、CMMICMMI体系简介及软件工作流程体系简介及软件工作流程 1 主题第一部分:CMMI基础知识CMMI是什么?CMMI发展和历史CMMI模型组件概述第二部分:公司质量体系文件综述公司软件过程概述公司过程文件概述公司体系文件导读 2CMMI是什么?Capability Maturity Model Integration(能力成熟度模型综合)它综合了以下几方面:System engineeringSoftware engineeringIntegrated Product and Process DevelopmentSupplier Sourcing该模型提供一套可供公众使用的准则;这些准则
2、描述那些成功地实施了过程改进的组织的特性。该模型用“软件能力成熟度”来衡量这种软件综合能力CMMIonline3CMMI是什么n美国卡内基-梅隆大学软件工程研究所(SEI)研制。nCMMI的前身是SW-CMM和SE-CMMn2001年12月由SEI发布CMMI1.1版本。nCMMI有专门认证评估方法-SCAMPI4发展简史发展简史CMM 1.0于1991年制定。CMM 1.1于1993发布,该版本应用最广泛。CMM 2.0草案于1997年制定(未广泛应用)。到2000年,CMM演化成为CMMI(Capability Maturity Model Integration),CMM 2.0成为CM
3、MI 1.0的主要组成部分。CMMI-SE/SW 1.1(CMMI for System Engineering and Software Engineering)于2002年1月正式推出。5CMMICMMI的诞生(的诞生(1 1)从CMM 1.0版到CMMI 1.1版,经历了十多年,在这期间,IT产业有了长足的发展,相应的工业标准或规范必然要不断地改进。在总结CMM应用的大量经验教训的基础之上,SEI 于2002年推出了CMMI1.1。CMMI重大的改进在于它不仅完善了CMM本身,而且充分考虑了软件工程与系统工程的集成,使得CMMI不再局限于纯粹软件的范畴。虽然人们了解和应用CMMI需要一定
4、的时间,但是CMMI将取代CMM这是必然的趋势。6CMMICMMI的诞生(的诞生(2 2)CMMI为工业界和政府部门提供了一个集成的产品集,其主要目的是消除不同模型之间的不一致和重复,降低基于模型改善的成本。CMMI将以更加系统和一致的框架来指导组织改善软件过程,提高产品和服务的开发、获取和维护能力。7CMMI模型组件概述Maturity Level 5 OID,CARMaturity Level 4 OPP,QPMMaturity Level 3REQD,TS,PI,VER,VAL,OPF,OPD,OT,IPM,RSKM,DARMaturity Level 2REQM,PP,PMC,SAM,
5、MA,PPQA,CM Engineering REQM,REQD,TS,PI,VER,VALProject Management PP,PMC,SAM IPM,RSKM,QPMProcess Management OPF,OPD,OT,OPP,OIDSupport CM,PPQA,MA,CAR,DARCMMI-DevStagedCMMI-DevContinuous8CMMI 分级(阶段)模型InitialManagedDefinedOptimizingQ-Managed建立项目纪律稳定一致的过程以事实为依据能够持续改进9CMMI阶段式模型的结构10CMMI连续模型表示的结构11Process
6、Area Components12特定目标Specific Goals(SGs)特定目标是针对某一个过程域,它描述为了满足这个过程域的实施所必须做到的特殊特性 例如在需求管理的PA中:SG 1:Requirements are managed and inconsistencies with project plans and work products are identified.13特定实践 Specific Practices(SPs)特定实践是为了达成某一个特定目标而需要的特定活动例如:Requirements Management:SP 1.3:Manage Requirement
7、s ChangesManage changes to the requirements as they evolve during the project.14通用目标Generic Goal(GG)可用于多个过程域的“目标”称为“公共目标”例如:GG 2:The process is institutionalized as a managed process.15GG2:建立(受)管建立(受)管理过程理过程Generic PracticesGeneric GoalsGP 1.1:执行特定实践执行特定实践GG1:满足特定目标满足特定目标GP 2.1:制订与维护组织方针制订与维护组织方针GP
8、2.2:制订过程计划制订过程计划GP 2.3:提供资源提供资源GP 2.4:分配职责分配职责GP 2.5:培训人员培训人员GP 2.6:对工作产品进行配置管理对工作产品进行配置管理GP 2.7:识别相关人员识别相关人员GP 2.8:监控过程监控过程GP 2.9:评估过程符合性评估过程符合性GP 2.10:高层管理者评审高层管理者评审GG3:建立定义过程建立定义过程GP 3.1:建立一个定义的过程建立一个定义的过程GP 3.2:收集改进信息收集改进信息通用实践Generic Practices(GPs)16Required,Expected,and Informative Model Compo
9、nentsRequired(必须的):SG和GGExpected(期望的):SP和GP Informative(提供信息的):子实践、典型的工作产品、一般实践的详细描述等问题:除了Required的组件,其他的组件可以不要吗?17你会如何组织这个活动?某个时间,公司进行聚餐活动。请你组织这次活动,目的是用合理的经费让大家高高兴兴地吃一顿!分组讨论,5分钟时间。CMMIonline18CMMI等级在模型中,所有软件组织的软件能力成熟度划分为5个等级第1到第5级。数字越大,成熟度越高。高成熟度等级代表比较强的综合软件能力。5个成熟度等级分别为:第1级:初始级第2级:受管理级第3级:已定义级第4级:
10、定量管理级第5级:持续优化级19CMMI级别每一个级别,都包含几个到十几个PA英文全写:Process Area中文译名:过程域什么叫“过程域”?简单的说就是做好一个事情的某一个方面。对应软件开发来说,就是做好软件开发的某一个方面。CMMIonline20CMMI级别如果该级别的全部PA达到要求了,就认为该级别达到了。如何判断PA达到要求呢?每个PA包含几个目标(Goal)如果这个几个目标都达到要求了,就认为该PA达到要求了如何判断Goal达到要求呢?每个Goal包含几个实践(Practice)每个实践达到要求了,就认为该Goal达到要求了CMMIonline21Maturity Level
11、1:Initial 初始级的过程通常是随机、混乱和无序的。这种组织通常没有一个稳定的环境,它的成功依赖于组织中个人的能力和英雄主义,而不是依赖于使用经过验证的过程。尽管这种混乱、无序的环境,处于初始级别的组织也经常能制造出能工作的产品和服务,但是,他们的项目经常是超成本和进度的。处于初始级的组织有过度承诺的趋势,在危机时放弃过程,不能重复他们过去的成功。22吃饭的“初始级”不用做什么计划,提前一点订好座位当天下班大家一哄而去现场点菜,然后大吃一顿CMMIonline23这样做会有什么结果?定不到位?菜不合大家口味?经费超出?大家心情变得很沮丧?有没有可能取得比较好效果呢?CMMIonline2
12、4Maturity Level 2:Managed 即使在时间压力下,依然能够保留现有的实践组织中的项目确保需求得到管理,过程已经计划、执行、度量和控制。管理层在某些已定义点上对工作产品的状态和提交的服务具有可视性在干系人(风险承担者)之间建立了承诺,在必要的时候进行修正25CMMI-SE/SW ML2 PAs需求管理Requirement Management(REQM)项目计划Project Planning(PP)项目跟踪与控制Project Monitoring and Control(PMC)供应商合同管理Supplier Agreement Management(SAM)度量分析M
13、easurement and Analysis(MA)产品与过程质量保证Product and Process Quality Assurance(PPQA)配置管理Configuration Management(CM)26需求设计编码测试工作产品工作产品工作产品项目跟踪项目计划PA不是孤立的!配置管理需求管理供应商合同管理质量保证度量分析27CMMI ML2总结坚持既往成功实践从关注结果到关注过程需求和项目进展得到控制理解了数据的作用从更宽的视野看待项目从初始级到二级是全体人员思想的转变是文化的转变走向规范化的第一步28讨论:吃饭的“受管理级”用2级的特征策划吃饭过程。讨论5分钟。29Le
14、vel2:Level2:受管理级受管理级-1-1怎样才能办好事情呢?大家想吃什么?老板有什么期望呢?预算是多少呢?要做个计划才行?酒水需要另外买啊!要督促大家按照计划进行?要统计一下出席情况以及各菜式的“吃剩”情况!需求管理需求管理(RM)项目计划项目计划(PP)项目计划跟踪项目计划跟踪(PMC)采购采购(SAM)度量度量(MA)CMMIonline30Level2:Level2:受管理级受管理级-2-2就这样够了吗?菜式统计、买酒的协议、计划等文档要统一管理起来。老板对我不放心,还派个人来监督我工作!哼!配置管理配置管理(CM)质量保证质量保证(PPQA)CMMIonline31这样做会有什
15、么结果?大家吃得满意?预算控制得好?老板高兴?真的能这样吗?CMMIonline322级做法遗留的一些问题不需要进行风险管理吗?用什么方法调查大家喜欢吃什么菜式呢?有指南就好了?如何组织聚餐活动,是不是应该有个指导?或者有成功经验可供参考?CMMIonline33Maturity Level 3:Defined 建立标准的,且不断得到改进的工作方式过程得到很好地表现和理解,用标准、规程、工具和方法表述过程,从而建立组织内的一致性组织标准过程已经建立并不断得到改进项目根据裁剪指南,从组织标准过程中裁剪建立项目定义的过程组织管理层基于组织标准过程库建立过程目标,并确保这些目标得到适当地表达2级和3
16、级关键区别在于标准、过程和规程的适用范围3级的过程比2级的描述更具体和更严格34CMMI-SE/SW ML3 PAs(1)需求开发Requirements Development(RD)技术解决方案Technical Solution(TS)产品集成Product Integration(PI)验证Verification(VER)确认Validation(VAL)35CMMI-SE/SW ML3 PAs(2)组织过程焦点Organizational Process Focus(OPF)组织过程定义Organizational Process Definition(OPD)组织培训Organi
17、zational Training(OT)集成项目管理Integrated Project Management(IPM)风险管理Risk Management(RSKM)决策分析与解决方案Decision Analysis and Resolution(DAR)36Level 3:已定义级经过一段时间积累,以下活动都有明确的指导文档:如何写计划如何组织吃饭现场活动如何确定餐单.对于确定餐单、选定酒水供应商方面采用决策分析的办法。进行风险管理。建立了相应的培训制度。另外,为了让组织聚餐活动越做越好,成立了专门的SEPG来维护文档。CMMIonline37这样做会有什么结果?这次活动成功的几率大
18、大提高了?但谁能拍胸口说:一定能成功?CMMIonline383级遗留的问题感觉成功机会会提高很多,但没有一个底?最好有个数字能说明问题。CMMIonline39Maturity Level 4:Quantitatively Managed不仅有标准的工作方式,还有量化的工作标准选择那些对整体过程性能有较大影响的子过程进行统计和其它量化手段控制。制订质量和过程性能的量化目标,并贯串整个生命周期中;以统计“词汇”理解质量和过程性能。收集受控过程的度量数据,分析其性能。如果出现偏差,分析其出现的(特殊)原因,以防止其今后再次出现。质量和过程性能的数据要纳入到组织度量数据库中,以便帮助今后进行客观的
19、决策。与3级的最大区别是,4级可以对过程性能进行预测。40CMMI-SE/SW ML4 PAs组织过程性能Organizational Process Performance(OPP)量化项目管理Quantitative Project Management(QPM)41Maturity Level 5:Optimizing以量化为手段,以解决本质问题为核心的持续改进建立量化过程改进目标,并与商业目标的变化同步。识别出针对根本原因(或根本问题)的过程改进方法,评估其能否满足量化过程改进目标;对这些改进方法进行评估、试验和推广。组织过程应该是持续改进的过程优化是否灵活并富于创造性,取决于参与其中
20、的人是否理解组织的商业价值和商业目标,而且:过程改进,人人有责;要改进标准过程,也要改进项目过程。与4级本质区别:5级解决根本问题,4级解决特殊问题。42CMMI-SE/SW ML5 PAs组织创新与部属Organizational Innovation and Deployment(OID)原因分析与解决方案Causal Analysis and Resolution(CAR)43某企业通过了某某级别的评估,意味着什么?评估是对企业准备的几个评估项目按照CMMI的标准进行检查。企业可以准备任意数量的项目,评估的项目是企业自己指定的。通过评估,只代表评估小组认为参加评估的几个项目达到了CMMI
21、某个级别的标准。通过评估,不代表这个企业其它项目也达到了要求,也不代表这个企业以后也会达到这个标准。CMMIonline44第二部分:公司质量体系文件综述公司软件过程概述公司过程文件概述公司体系文件导读45软件过程概述我公司软件产品的生产是以项目形式进行的。我公司软件产品的生产是以项目形式进行的。项目又分成三种类型:研发类工程类维护类46研发类项目的任务新产品的研发:进行产品的需求开发、解决方案设计、代码构建和产品的初步集成,形成产品的核心版本。产品线维护研发:对合同类实施和维护项目进行版本支持。47工程类项目的任务依据与用户的合同、软件需求规格说明书等文件,对研发组提供的核心版本进行确认测试
22、,完成产品的最终集成,以及产品的部署、安装等工作,直到把产品交付给用户。48维护类项目的任务在合同规定的产品维护期内,应用户的要求,完成产品的一些边缘功能的开发,负责产品的一般性客户服务工作,配合产品维护研发组完成产品的版本维护。49软件产品的开发活动 分成准备、计划、研发、测试、验收等五个阶段,CMMI中各个PA在这些阶段中的相互关系,以及它们和公司各有关部门之间的关系如下图所示:50软件开发流程和职能 51软件开发流程 CMMI的四类PA在软件产品开发流程中的顺序和相互关系如图二所示。图中淡蓝色框表示CMMI中的PA;淡黄色框不是CMMI中的PA。图中蓝色箭头表示的流程是开发过程中的主要流
23、程,应根据不同的开发方法而采用适当的递归和迭代。黄色箭头表示的流程是辅助流程。52软件开发流程53软件产品维护流程 54过程文件概述我司的软件过程均以CMMI-DEV V1.2 L2&L3(以下简称CMMI)的过程域(PA)为参考模型,结合我公司实际,实现了文档化。这些过程文件叙述软件产品开发活动的过程、过程做什么、怎么做、怎么评估绩效,以及怎么持续改进等问题。55体系文件的构成CMMI软件过程改进体系文件由三部分组成:质量手册:在原来的质量手册基础上,改写其中有关软件开发部分软件过程文件:程序文件和作业指导书软件过程模板:模板、表格、样件、示例体系文件下载:OA-知识中心-常用文档-质量管理
24、系统文件56活动元素活动元素概述概述参与人员及职责参与人员及职责入口准则入口准则输入输入 任务任务/步骤步骤 出口准则出口准则 输出(工作产品)输出(工作产品)资源和能力要求资源和能力要求 度量度量 剪裁指南剪裁指南57软件过程文件软件过程文件软件过程文件分三个层次程序文件作业指导书模板CMMI L2、L3中的17个PA(我们剪裁了供应商协议管理)对应16个程序文件、32个作用指导书和81个模板58作业指导书(规范作业指导书(规范/指南)指南)作业指导书统一用规范或指南的名称,它们的作用是详细描述程序文件中比较复杂的活动,必要时引用模板。作业指导书的格式基本与程序文件相同。59模板模板可以被作
25、业指导书或程序文件引用。它们具体给出程序文件或作业指导书中用到的说明书、报告、记录、表格等的格式和细节,方便使用者应用。60标准过程软件过程文件中描述的过程,都是公司的标准过程。软件过程文件中描述的过程,都是公司的标准过程。项目组可以根据剪裁指南和项目的实际情况,对标准过程进项目组可以根据剪裁指南和项目的实际情况,对标准过程进行剪裁以得到项目组的定义过程。行剪裁以得到项目组的定义过程。项目组执行其已定义过程,项目组也可以直接应用公司的标项目组执行其已定义过程,项目组也可以直接应用公司的标准过程。准过程。项目组采用什么样的软件过程应在项目组采用什么样的软件过程应在“项目计划项目计划”中说明。中说
26、明。61研发项目标准过程项目立项项目立项项目计划项目计划项目监控项目监控风险管理过程风险管理过程需求管理需求管理项目总结项目总结软件配置管理软件配置管理软件质量保证过程软件质量保证过程度量分析过程度量分析过程软件评审过程软件评审过程n需求获取n需求分析n软件设计n软件实现n系统测试62工程项目标准过程项目立项项目立项项目计划项目计划项目监控项目监控风险管理过程风险管理过程需求管理需求管理项目总结项目总结n需求获取n n实施设计实施设计n产品部署n确认测试n初验n系统上线n维护交接软件配置管理软件配置管理软件质量保证过程软件质量保证过程度量分析过程度量分析过程软件评审过程软件评审过程63维护项目标准过程项目立项项目立项项目计划项目计划项目监控项目监控风险管理过程风险管理过程项目总结项目总结n n主动服务监控主动服务监控n n软件服务支撑软件服务支撑n n进行产品部署进行产品部署软件配置管理软件配置管理软件质量保证过程软件质量保证过程度量分析过程度量分析过程软件评审过程软件评审过程64公司体系文件导读各职位体系学习质量管理体系指引65Q&A6667