您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 软件项目管理CMMI入门与精通
软件研发CMMI探密1.初识cmmi2.CMMI一级—初始级3.CMMI二级4.CMMI三级5.CMMI四级6.CMMI五级7.CMMI与ISO的区别和联系8.CMMI在项目中软件研发实际应用一、初始CMMICMMI是由卡内基梅隆大学软件工程学院(SoftwareEngineeringInstitute,简称SEI)1984年受美国国防部要求开始研究在软件产业建立一套工程制度,用来评估和改善软件开发公司的过程和能力,并协助软件开发人员持续改善流程的成熟度以及软件质量,从而提升软件开发项目及公司的管理能力,最终达到软件开发功能正确、缩短开发进度、降低开发成本、确保软件质量的目标。1986年正式开始研究CMM能力成熟度模型(CapabilityMaturityModel,简称CMM),于1991年正式推出了软件能力成熟度模型(CapabilityMaturityModelForSoftware,简称SW-CMM),两年后1993年正式推出SW_CMM1.0。后来又根据CMM1.0在各个行业领域发展成了CMMs,其中包括系统工程能力成熟度模型(SystemsEngineeringCapabilityMaturityModel,SE-CMM)、整合产品发展能力成熟度模型(IntegratedProductDevelopmentCapabilityMaturityModel,IPD-CMM)、人力资源管理能力成熟度模式(PeopleCapabilityMaturityModel,P-CMM)等应用模型。由于各行业架构的不同,SEI于2000年12月公布了能力成熟度整合模型(CapabilityMaturityModel-Integrated,CMMI)对此进行整合。后来经过不断改进,就形成了今天的CMMI1.2,1.3版本。CMMI相关基本概念:CMMI-CapabilityMaturityModuleIntegration(软件过程能力成熟度集成模型),是将原来的CMM-SW/SE等等整合为一个模型,目前使用的版本叫CMMI-DEV(Development)v1.2。模型有两种表示方法:连续型与阶段型,国内一般说的几级几级指的是阶段型表示法。CMMI模型包含项目管理类、过程管理类、工程类、支持类四大领域,包含22个PA(ProcessArea过程域)。每个PA包括有特定目标(SG)特定实践(SP)及各PA所共同包括的通用目标(GG)通用实践(GP)。SEI-SoftwareEngineeringInstitute(卡耐基梅陇大学软件工程研究所)SCAMPI-StandardCMMIAppraisalMethodforProcessImprovement是一种评估的方法,一般分为ClassA/B/C三种级别。二.CMMI一级-初始级初始级是原始的方式,类似手工作坊式生产。没有项目的相关规则,项目成员工作主要凭个人能力和习惯,一般项目中也极少有关于过程方面的规定,不论采用什么方法、遵循什么样的开发步骤,最后只要把代码写出来了就可以了,软件开发的主要活动就是编码和调试。很少有项目计划,顶多有个项目时间表,需求、设计等工程文档也很少有。三.CMMI二级-受管理级二级主要定义了7个过程域(PA)来指导软件项目开展:1、项目计划(PP-ProjectPlanning):实际上就是建立PMP及生命周期模型。PP中主要有三个特定目标(SG-SpecificGoals):1)、SG1EstablishEstimates项目估算—主要包括对项目的范围、属性、生存周期、工作量和成本四个SP2)、SG2DevelopaProjectPlan制定项目计划—主要有编制预算和进度,识别风险,项目数据的管理计划,规划项目资源,知识和技能的计划,“项目干系人”的介入计划,制定项目计划等SP。3)、SG3ObtainCommitmenttothePlan获得对计划的承诺主要SP有:审查从属计划,协调工作与资源配置,获得计划承诺等2、项目计划跟踪与控制(PMC-ProjectMonitoringandControl):项目PMP及变更控制等。3、需求管理(RM):需求跟踪及变更控制。4、供应商协议管理(SAM):供应商选择标准、评估、评价等。5、度量(MA),初级的度量,感知级:本身是CMML4及的要求,他应该和CMMI:L4中的QPM联系起来,这个的MA比较简单,在评估时候,存在写KPI,有简单的度量就可以了。要求比较低。6、配置管理(CM):有一个CVS或VSS工具即可。7、产品与过程质量保证(PPQA):成立QA机构,主要是质量保证、质量控制及评审。四、CMMI3级:已定义级2级其实有很多问题还没有解决的,细心的人会发现,2级对软件工程活动的指导很弱,如:需求开发、设计、编码、测试等。在3级,你会发现:1)有指导需求开发的需求开发(RequirementsDevelopment)这个PA;2)有指导设计、编码工作的技术解决方案(TechnicalSolution)这个PA;3)有指导如何保证工作产品满足要求的确认(Verification);4)有指导如何保证软件产品满足真实使用环境要求的(Validation);5)还有指导如何把软件产品各组件集成在一起并保证能在相应的硬件载体运行正常的产品集成(ProductIntegration);2级的PP与PMC是直接与项目管理有关的两个PA,在3级,对项目管理的要求进一步提高:6)集成项目管理(IntegratedProjectManagement):3级的项目管理,要求利用组织级的财富库进行项目估算,并且利用财富库裁剪出项目自己的过程,并用这个过程来管理项目。7)风险管理(RiskManagement):2级只有PP的SP2.2中提到要识别风险,而在3级专门有一个PA对风险管理提出更高的要求。大家不知道有没有发现,2级的PA都是直接针对项目提出要求的。3级的IPM和RSKM,除了对项目级提出要求,另外也对组织级提出了要求,IPM要求有组织级的资产库,RSKM要求要有组织级的风险管理策略等。另外,3级有几个“O”开头的PA,这几个PA都是直接对组织级的提出要求。8)组织过程焦点(OrganizationalProcessFocus):这个PA要求组织成立SEPG来推动过程改进的工作,要求识别、计划、实施改进过程,保证组织过程能持续改进。9)组织过程定义(OrganizationalTraining):这个PA要求组织级建立财富库,财富库内容要包括标准的过程、裁剪库、度量库、生命周期模型等。10)组织培训(OrganizationalTraining):要求组织根据商业目标要求准备并提供培训。3级还有一个很特别的PA:11)决策分析及解决方案(DecisionAnalysisandResolution):这个PA提供了一个如何做出最佳决策的方法指导。软件行业很多重要的决策,如设计方案、采购方案等,都可以应用这个PA提供的办法,另外也可以在组织过程改进中应用决策分析的办法。总结一下3级的几个重要特点:1)明确规定了需求开发、设计、编码、测试、集成等软件开发各过程的要求。2)对项目管理提出了更高的要求,要利用组织级的数据来管理项目。3)出现了专门针对组织级的PA,要求有专门的组织来负责过程改进的工作。4)提供了一个做出最佳决策的指导,而这个方法可以用于软件工程,也可以用于组织级过程改进。由这些特点大家可以看到,3级已经对软件开发的各个方面有了详细的要求,2级很多不明细的地方全部已经明确。一个达到3级的企业,肯定会定义了很多软件开发各个方面的过程,并且会有组织级的财富库。所以3级叫“已定义”级。补充说明:3级还有另外3个PA上文没有提到,分别是IntegratedTeaming、OrganizationalEnvironmentforIntegration:对大型软件团队提出了要求,一般情况下中小型软件企业可以NA。IntegratedSupplierManagement:如果软件企业需要管理大量的供应商,则需要考虑这个PA。这3个PA大部分情况下不需要考虑,将暂时不展开详细的讨论。五、CMMI4级:定量管理级4级只有两个PA,就是:组织过程性能(OrganizationalProcessPerformance)定量项目管理(QuantitativeProjectManagement)OPP是对组织级的要求,组织需要统计出组织级的基线;QPM是对项目的要求,项目要用组织级的基线来控制项目过程。六、CMMI5级:持续优化级5级就只有OID和CAR两个PA,两个PA对3个可以提高企业生产力的途径进行了指引,只要把OID、CAR做好,企业就可以“持续改进”了。其实一个软件企业,要提高生产力,有3方面途径:1)改进过程,使现有的过程更强更有效。2)引入新技术,提高生产力。3)对工作出出现的问题进行原因分析,避免以后再次出现。OID-组织革新与部署(OrganizationalInnovationandDeployment)这个PA给出了明确的指引。工作中发现的每个问题,其实都是改进的机会,但实际工作中发现的问题可能非常多,需要选择最有价值的问题进行深入分析,并避免其再次发生。通过不断地修复问题,组织的生产力就会不断提升。CAR--原因分析及解决方案(CausalAnalysisandResolution)这个PA给出了明确的指引。附:常见PA下SG。PP项目计划:SG1Estimatesofprojectplanningparametersareestablishedandmaintained.建立和维护用于项目计划的各类参数的估算。(建立估算)SG2:Aprojectplanisestablishedandmaintainedasthebasisformanagingtheproject.建立和维护项目计划,这个计划要作为项目管理的基础。(建立计划)SG3:Commitmentstotheprojectplanareestablishedandmaintained.建立和维护对项目计划的承诺。项目计划要被相关的人评审和认可。(取得承诺)PMC项目计划跟踪与控制SG1:Actualperformanceandprogressoftheprojectaremonitoredagainsttheprojectplan.根据计划,跟踪项目的实际性能和过程。SG2:Correctiveactionsaremanagedtoclosurewhentheproject'sperformanceorresultsdeviatesignificantlyfromtheplan.项目的性能或者结果明显偏离计划时,要采取纠正措施保证按计划进行。RM需求管理:SG1Requirementsaremanagedandinconsistencieswithprojectplansandworkproductsareidentified.管理需求并且识别出需求与项目计划、工作产品不一致的地方。这句话有两层意思:1.需求要被管理,被管理的意思又有两层:一是需求要被确认,二是要控制需求变更2.需求要用来指导下游的工作产品,如:计划、设计、测试等MA度量SG1:Measurementobjectivesandactivitiesarealignedwithidentifiedinformationneedsandobjectives.这个SG主要讲述的是,组织级要明确实际的需要,定出度量的目标,并根据此目标,定义合适的度量方法、过程等。SG2:Mesurementresultstheadreessidentifiedinformationneedsandobjectivesareprovided.这个SG主要讲述的是:根据组织级定义的要求,进行度量工作,收集、分析、存储、报告度量信息等。SG1主要从组织级的角度定义度量的做法,SG2就是按照已定义的做法
本文标题:软件项目管理CMMI入门与精通
链接地址:https://www.777doc.com/doc-794570 .html