软件能力成熟度模型CMII
软件能力成熟度模型的五个等级
软件能力成熟度模型的五个等级软件能力成熟度模型的五个等级导语:在软件开发和管理领域,软件能力成熟度模型(Capability Maturity Model,简称CMM)是一个被广泛应用的评估和改进软件开发能力的框架。
CMM根据不同的组织在软件开发过程中的能力水平,将其分为五个等级,逐步提升组织的软件开发能力。
本文将详细介绍软件能力成熟度模型的五个等级,并对每个等级所代表的特点和优势进行分析。
一、初始级(Level 1 - Initial)初始级是软件能力成熟度模型中最低的等级。
在这个等级中,组织没有明确的软件开发过程,开发工作往往是以临时和非结构化的方式进行的。
在这种情况下,项目的成功往往依赖于个别的开发人员的经验和个人技能。
缺乏标准化的开发流程、文档化的要求和质量控制,容易导致开发过程中的混乱和错误。
二、重复级(Level 2 - Repeatable)重复级是软件能力成熟度模型中的第二个等级。
在这个等级中,组织开始意识到软件开发过程的重要性,并开始建立一些基本的规范、流程和工具来规范开发过程。
组织能够重复地执行一些已经被证明是成功的软件开发实践。
这些实践可以帮助组织在不同的项目中保持一定的一致性,提高软件质量和生产效率。
三、定义级(Level 3 - Defined)定义级是软件能力成熟度模型中的第三个等级。
在这个等级中,组织进一步明确了软件开发过程,并进行了规范化和文档化。
组织能够定义一套标准的开发流程和过程,并将其应用于所有的软件开发项目。
组织还会建立一些针对不同项目要求的指南和标准,以确保开发过程的一致性和高质量。
四、管理级(Level 4 - Managed)管理级是软件能力成熟度模型中的第四个等级。
在这个等级中,组织开始对软件开发过程进行量化和度量,以便对项目进行更加准确和全面的管理。
组织会使用一些度量指标来评估和监控软件开发过程的质量和效率,以及在开发过程中发现和解决问题的能力。
CMMI软件成熟度模型在软件项目管理中的应用
CMMI软件成熟度模型在软件项目管理中的应用摘要:CMMI(Capability Maturity Model Integration)软件能力成熟度模型是一种为了解决软件开发过程管理问题产生的一种软件开发模型,是一种国际公认的标准化管理体系,本文主要介绍CMMI3级软件开发类模型体系(DEV)在项目中的应用。
关键词:CMMI,软件工程,过程管理1 CMMI标准化体系介绍CMMI是一套融合多学科的、可扩充的产品集合,其研制的初步动机是为了利用两个或多个单一学科的模型实现一个组织的集成化过程改进。
CMMI的本质是软件管理工程的一个部分。
基于模型的过程改进是指采用能力模型来指导组织的过程改进,使过程能力稳定的进行改善,该组织也能变得更加成熟。
CMMI分为初始级、可重复级、已定义级、量化管理级、优化管理级5个级别。
按由低到高的级别排序。
到CMMI3级已经比较复杂,对软件项目管理工作涵盖的非常全面,已有很多家公司用CMMI3级标准来管理软件项目。
2 CMMI体系对项目生命周期的划分CMMI按过程域对整个软件项目过程进行划分。
过程域Process Area(PA)简单的说就是做好一个事情的某一个方面。
对应软件开发来说,就是做好软件开发的某一个方面。
CMMI3级涵盖了18个过程域,可以分为过程管理、项目管理、工程管理和支持管理四个部分,除涉及组织级过程管理的三个过程域外,其他过程域均与项目内部管理直接相关图2-1 CMMI3过程域划分项目管理包括5个过程域:项目策划(PP)、项目监督和控制(PMC)、集成项目管理(IPM)、风险管理(RSKM)、供应商协议管理(SAM)工程管理包括5个过程域:需求管理(RM)、需求开发(RD)、技术解决方案(TS)、产品集成(PI)、产品确认(V AL)、产品验证(VER)在项目实际应用中,这两类过程域是容易实现的,因为这些过程域比较容易理解。
我们在平常的项目实施过程中,多少会自然的顺序涉及到这些过程域,按CMMI3的要求执行这些过程域,可以让我们项目实施更加规范化。
能力成熟度集成模型
能力成熟度集成模型一、引言能力成熟度集成模型(Capability Maturity Integration Model,简称CMMI)是一种软件开发过程改进模型,旨在帮助组织改进其软件开发过程。
CMMI最初由美国国防部开发,是一个用于评估和改进组织的软件和系统工程能力的标准。
二、CMMI的历史CMMI最初是由美国国防部在20世纪80年代末和90年代初开发的。
该模型最初是作为软件成熟度模型(Software Capability Maturity Model,简称SCMM)而创建的。
SCMM旨在帮助组织评估和改善其软件开发过程。
随着时间的推移,SCMM逐渐演变为CMMI,并扩展到包括系统工程和产品开发等领域。
三、CMMI的结构CMMI包括五个不同的成熟度级别:初始级别、可重复级别、定义级别、管理级别和优化级别。
每个级别都包含多个过程区域(Process Area),每个过程区域都涵盖了特定方面的最佳实践。
1. 初始级别初始级别是一个非常基础的水平,它表明组织没有一个定义明确的软件开发过程。
在这个级别,软件开发过程通常是不稳定的、不可预测的和不受控制的。
这个级别的目标是建立一个基本的软件开发过程框架。
2. 可重复级别可重复级别表明组织已经建立了一个稳定的软件开发过程框架,并且已经开始记录一些基本度量。
在这个级别,组织能够重复执行其软件开发过程,并且能够识别和解决一些常见问题。
3. 定义级别定义级别表明组织已经建立了一个完整的、标准化的软件开发过程,并且已经将其文档化。
在这个级别,组织能够根据其定义的流程来管理项目,并且能够识别和解决更高层次的问题。
4. 管理级别管理级别表明组织已经实施了一些度量和分析技术,以便对项目进行管理和改进。
在这个级别,组织能够使用数据来支持决策,并且能够实施持续改进计划。
5. 优化级别优化级别表明组织已经实现了一个持续改进的文化。
在这个级别,组织能够识别并解决更高层次的问题,并且能够不断改进其软件开发过程。
软件能力成熟度模型CMII
3.1.1 质量和质量管理
客户满意度是企业成功的关键。
The average ‘Wronged’ customer will tell 8 to 16 people. 91% of unhappy customers will never purchase goods or services from you again. If you make an effort to remedy customer complaints, 82% to 95% of them will stay on with you. It costs 5 times as much to attract a NEW customer as it costs to retain an OLD one.
3.1.3 全面质量管理
全过程的管理 产品是项目各阶段研究、设计、生产活动的成果,它有产 生、形成过程,因此应将不合格消灭在过程中,防检结合, 以防为主,从各环节上致力于质量提高。 质量管理重点:从事后检查把关到事先控制;从管理结果 到管理因素。 使质量管理范围从原来的制造过程向前后延伸,形成一个 螺旋上升过程。从访问用户、市场研究、产品设计、方案论 证,到设计、试制、生产、销售、使用、服务的全过程,实 施质量管理。
3.1.3 全面质量管理
全员的质量管理 全员树立质量意识 抓好质量教育与培训 调动群众积极性,引导群众面向质量目标努力 自我学习,自我提高
3.2 质量管理体系与方法
质量管理体系是指在质量方面指挥和控制组织的管理体系。 它由建立质量方针和目标并实现这些目标的相互关联或相互 作用的一组要素组成。 质量管理体系将影响质量的技术、管理、人员和资源等因素 都综合在一起,在质量方针的指引下,为达到质量目标相互 配合、努力工作。 戴明改进循环PDCA、ISO9000、CMM/CMMI等在IT项目管理中 的应用,对IT项目质量管理地提高起到了很好的推进作用。
cmmi能力成熟度模型 评分项目
cmmi能力成熟度模型评分项目CMMI(Capability Maturity Model Integration)能力成熟度模型是一种用于评估组织在软件开发和项目管理方面能力的框架。
该模型分为五个成熟度级别,每个级别都有具体的评分项目,这些评分项目旨在衡量组织在各方面的表现。
下面详细介绍了CMMI五个成熟度级别的评分项目:一、初始级(Initial)1. 项目计划与跟踪:组织能够制定简单的项目计划,但计划执行过程中往往出现偏差,需要项目经理经常干预。
2. 需求管理:组织能够收集和跟踪项目需求,但需求管理过程不规范,容易造成需求变更和项目延期。
3. 配置管理:组织能够进行简单的配置管理,但配置项的标识、版本控制和变更控制不够规范。
4. 质量管理:组织能够进行基本的代码审查和测试,但质量保证措施不够系统和规范。
5. 项目管理:组织能够进行基本的项目管理活动,如项目启动、规划、执行、监控和收尾,但项目管理过程不够规范和系统。
二、已管理级(Managed)1. 项目计划与跟踪:组织能够在项目早期制定详细的计划,并在整个项目过程中跟踪和控制进度。
2. 需求管理:组织能够建立规范的需求管理流程,收集和管理项目需求,有效减少需求变更和项目延期。
3. 配置管理:组织能够进行规范的配置管理,包括配置项的标识、版本控制和变更控制等。
4. 质量管理:组织能够建立规范的质量保证流程,进行全面的测试和质量保证活动,确保软件质量。
5. 项目管理:组织能够建立规范的项目管理流程,确保项目在整个生命周期内顺利进行。
三、定义级(Defined)1. 项目计划与跟踪:组织能够在整个项目生命周期内制定详细且具有前瞻性的计划,并通过项目管理工具持续监控和控制进度。
2. 需求管理:组织能够建立规范的需求管理流程,确保需求变更得到有效控制和管理。
3. 配置管理:组织能够建立规范的配置管理流程,包括配置项的标识、版本控制和变更控制等。
4. 质量管理:组织能够建立全面的质量管理体系,包括质量策划、质量控制和质量保证等。
软件能力成熟度模型等级和过程
软件能力成熟度模型等级和过程在软件开发行业中,软件能力成熟度模型(Capability Maturity Model,简称CMM)是一种用于评估和改进组织软件开发能力的方法。
CMM将软件过程能力分为五个等级,每个等级代表了不同的软件开发成熟度。
在本文中,我将介绍CMM的五个等级和相应的软件开发过程。
第一等级——初始级(Initial)初始级是软件开发团队的起点,特点是开发过程不可预测、不稳定且不受控制。
在这个等级中,软件开发过程通常是一种灵活的方式,缺乏定义和规范。
开发团队的工作主要依靠个人技能和经验,而非标准化方法。
第二等级——可管理级(Managed)当开发团队达到可管理级时,他们开始寻求一种系统化的方法来管理软件开发过程。
这个等级的关键是建立有效的项目管理实践,通过规范化的计划、控制和测量,对项目进展进行管理和监控。
第三等级——已定义级(Defined)已定义级是软件开发过程的一个重要里程碑,它要求开发团队建立起一套标准化的软件开发流程。
这个过程必须经过详细的定义和文档化,以确保团队的工作是可重复的和可预测的。
第四等级——量化管理级(Quantitatively Managed)在量化管理级,软件开发团队进一步改进了他们的过程,并引入了更多的量化和度量方法。
这些量化和度量方法是为了监控和管理软件开发过程的关键指标。
通过定期收集和分析数据,团队可以做出有根据的决策,进一步提高软件开发过程的质量和效率。
第五等级——优化级(Optimizing)优化级是软件开发过程的最高级别。
在这个等级中,开发团队持续追求卓越,并通过不断改进软件开发过程来实现进一步的提升。
团队会寻找新的创新方式,试验新的技术和方法,以优化软件开发过程的效率和质量。
综上所述,软件能力成熟度模型将软件开发能力划分为五个等级:初始级、可管理级、已定义级、量化管理级和优化级。
不同的等级代表了软件开发过程的不同成熟度水平,团队可以通过评估自身的成熟度来制定相应的改进计划,并逐步提高软件开发过程的质量和效率。
CMM Level 2 实战(一)
CMM Level 2 实战(一)作者:刘文威宁传成现在关于CMM的文章不在少数,但基本上都是概念性、理论性的。
为了使大家对CMM有更通俗、更直观的理解,作者根据实施CMM 多年积累的经验,结合实际项目的管理及应用,提出了一套可行的CMM2实施方案,以期能为同行提供有价值的参考。
一、前言CMM(软件能力成熟度模型:Software Capability Maturity Model),是由美国卡内基梅隆大学(CMU)的软件工程研究所(SEI)制定的一种软件评估标准,主要用于软件开发过程和软件开发能力的评估和改进。
此标准自1991年提出以来,已在美国、印度、日本、欧洲等地成功应用,并成为软件行业的工业标准。
尽管CMM引起了软件行业充分的重视,但如何将CMM应用到企业或项目管理中,大多数企业仍然毫无头绪。
其实实施CMM的最大障碍通常不是技术问题,而是工程和经验方面的管理问题以及企业文化问题,这一点对于中小软件企业尤其突出。
本文将从CMM2的六个KPA入手,根据作者实施CMM多年积累的经验,具体介绍CMM2的实践及应用。
二、CMM2实践CMM 2(可重复级)就是建立了基本的项目级管理过程,可对项目的成本、进度进行跟踪和控制,生产的过程、标准、工作产品以及服务都是被严格定义和文档化的。
基于以往管理类似的项目的经验,计划和管理新项目,并可依据一定的标准重复利用类似的软件产品。
CMM 2的核心就是重复利用。
CMM2由6个关键过程域(KPA)组成:需求管理(RM)、软件项目计划(SPP)、软件项目跟踪与监控(SPTO)、软件子合同管理(SSM)(本文略)、软件质量保证(SQA)、软件配置管理(SCM)。
需求管理(Requirement Management)需求管理的目的是为了在客户和处理客户需求的软件项目之间建立共识。
这是软件项目规划(SPP)和管理(SPTO)的基础,需求变更依赖于配置管理(SCM)的变更控制流程。
CMMI软件能力及成熟度模型集成
CMMI软件能力及成熟度模型集成一,概念CMMI(Capability Maturity Model Integration)软件能力及成熟度模型集成,集合了软件工程,系统工程,集成过程和产品开发,供应链管理等领域的最新成果,对度量和分析,工程实践,量化的过程控制等提出了详尽的要求,是几十年来全球软件工程,系统工程的最佳实践的总结,被全球IT行业公认为衡量一家软件企业综合实力的判别标准。
二,等级1,初始级:软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。
管理是反应式的。
2,可管理级:建立了基本的项目管理过程来跟踪费用、进度和功能特性。
制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。
3,已定义级:已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。
所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。
4,量化管理级:分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。
管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。
5,优化管理级:过程的量化反馈和先进的新思想、新技术促使过程持续不断改进。
三:所需材料1,注册信息表(公司名称,公司地址,公司发起人名字,电话,邮箱,公司联系人名字,电话,邮箱)2,备案表(公司介绍,参与评估的项目简介,参与评估的EPG 小组成员名单)3,组织架构图4,三个完整生命周期的软件研发项目资料5,CMMI项目角色:发起人,Sponsor(公司领导),MSG 组长,EPG(部门经理),QA(质量保证人员),CM(配置管理员),项目经理,培训,需求,设计,开发,测试,ATM成员。
cmmi五个成熟度级别
CMMI 等级的含义五个成熟度级别之间的比较如下:1,初始级特征:(1)软件过程的特点是杂乱无章,有时甚至混乱.几乎没有定义过程的规则或步骤.(2)过分的尽诺.常做出良好的承诺:如"按照软件工程方式,有序的工程过程来工作";或达到高目标的许诺.但实际上却出现一系列危机.(3)遇到危机就放弃原计划过程,反复编码和测试.(4)成功完全依赖个人努力和杰出的专业人才,取决于超常的管理人员和杰出有效的软件开发人员.具体的表现和成果都源于或者说是决定于个人的能力和他们先前的经验,知识以及他们的进取心和积极程度.(5)能力只是个人的特性,而不是开发组织的持性.依靠着个人的品质或承受着巨大压力,或找窍门取得成果.但此类人一旦离去,对组织的稳定作用也消失.(6)软件过程是不可确定的和不可预见的.软件成熟性程度处于第一级的软件组织的软件过程在实际的工作过程中被经常的改变(过程是随意的).这类组织也在开发产品,但其成果是不稳定的,不可预见的,不可重复的.也就是说,软件的计划,预算,功能和产品的质量都是不可确定和不可预见的.过程:(1)极少存在或使用稳定的过程.(2)所谓"过程",往往是"就这么干"而言. (3)各种条例,规章制度互不协调,甚至互相矛盾人员:(1)依赖个人努力和杰出人物.一旦优秀人物离去,项目就无法继续(2)人们的工作方式如同"救火".就是在开发过程中不断地出现危机,以及不断的"救火".技术: 引进新技术是极大风险度量: 不收集数据或分析数据改进方向:(1)建立项日管理过程.实施规范化管理.保障项目的承诺.(2)首要任务是进行需求管理,建立客户与软件项目之间的共同理解,使项目真正反映客户的要求.(3)建立各种软件项目计划.如软件开发计划,软件质量保证计划,软件配置管理计划,软件测试计划,风险管理计划及过程改进计划.(4)开展软件质量保证活动(SQA).2,可重复级特征(1)进行较为现实的求诺,可按以前在同类项目上的成功经验建立的必要过程准则来确保再一次的成功.(2)主要是逐个项目地建立基本过程管理条例来加强过程能力.(3)建立了基本的项目管理过程来跟踪成本,进度和功能.(4)管理工作主要跟踪软件经费支出,进度及功能.识别在承诺方面出现的问题.(5)采用基线(BASELINE)来标志进展,控制完整性.(6)定义了软件项目的标准,并相信它,遵循它.(7)通过于合同建立有效的供求关系.过程(1)软件开发和维护的过程是相对稳定的,但过程建立在项目一级.(2)有规则的软件过程是在一个有效的工程管理系统的控制之下,先前的成功经验可以被重复.(3)问题出现时.有能力识别及纠正.其承诺是可实现的.人员(1)项目的成功依赖于个人的能力以及管理层的支持.(2)理解管理的必要性及对管理的承诺.(3)注意人员的培训问题, 技术建立技术支持活动,并有稳定的计划. 度量每个项目建立资源计划.主要是关心成本,产品和进度.有相应的管理数据.改进方向(1)不再按项目制定软件过程,而是总结各种项目的成功经验,使之规则化,把具体经验归纳为全组织的标准软件过程.把改进组织的整体软件过程能力的软件过程活动,作为软件开发组织的责任.(2)确定全组织的标准软件过程,把软件工程及管理活动集成到一个稳固确定的软件过程中.从而可以跨项目改进软件过程效果,也可作为软件过程剪裁的基础.(3)建立软件工程过程小组(SEPG)长期承担评估与调控软件过程的任务,以适应未来软件项目的要求.(4)积累数据:建立组织的软件过程库及软件过程相关的文档库(5)加强培训.3,确定级特征:(1)无论管理方面或工程方面的软件过程都已文件化,标准化,并综合成软件开发组织的标准软件过程.(2)软件过程标准被应用到所有的工程中,用于编制和维护软件.有的项目也可根据实际情况,对软件开发组织的标准软件过程进行剪裁.(3)在从事一项工程时,产品的生产过程,花费,计划以及功能都是可以完全控制的,从而软件质量也可以控制.(4)软件工程过程组(SEPG)负责软件过程活动.(5)在全组织范围内安排培训计划.过程:(1)整个组织全面采用综合性的管理及工程过程来管理.软件工程和管理活动是稳定的和可重复的,具有连续性的.(2)软件过程起了预见及防范问题的作用,能使风险的影响最小化人员:(1)以项目组的方式进行工作.如同综合产品团队.(2)在整个组织内部的所有人对于所定义的软件过程的活动,任务有深入理解.大大加强了过程能力.(3)有计划地按人员的角色进行培训技术在定性基础上建立新的评估技术.度量:(1)在全过程中收集使用数据.(2)在全项目中系统性地共享数据改进方向(1)开始着手软件过程的定量分析,以达到定量地控制软件项目过程的效果.(2)通过软件的质量管理达到软件的质量目标.4,管理级特征:(1)制定了软件过程和产品质量的详细而具体的度量标准.软件过程和产品的质量都可以被理解和控制.(2)软件组织的能力是可预见的.原因是软件过程是被明确的度量标准所度量和操作.不言而喻.软件产品的质量就可以预见和得以控制.(3)组织的度量工程保证所有项目对生产率和质量进行度量,并作为重要的软件过程活功.(4)具有良好定义及一致的度量标服来指导软件过程,并作为评价软件过程及产品的定量基础.(5)在开发组织内已建立软件过程数据库,保存收集到的数据,可用于各项目的软件过程. 过程:(1)开始定量地认识软件过程.(2)软件过程的变化小.一般在可接受的范围内.(3)可以预见软件过程中和产品质量方面的一些趋势.一旦质量经度量后超出这些标准或是有所违反.可以采用一些方法去改正,以达到良好的日标.人员:每个项目中存在强烈的群体工作意识,因为每人都了解个人的作用与组织的关系,因此能够产生这种群体意识. 技术不断的在定量基础上评估新技术.度量:(1)在全组织内进行数据收集与确定.(2)度量标准化.(3)数据用于定量地理解软件过程及稳定软件过程.改进方向:(1)缺陷防范.不仅仅在发现了问题时能及时改进,而且应采取特定行动防止将来出现这类缺陷.(2)主动进行技术变动管理,标识,选择和评价新技术.使有效的新技术能在开发组织中施行,(3)进行过程变动管理.定义过程改进的目的,经常不断地进行过程改进.5,优化级特征:(1)整个组织特别关注软件过程改进的持续性,顶见及增强自身.防止缺陷及问题的发生.不断地提高他们的过程能力.(2)加强定量分析,通过来自过程的质量反馈和吸收新观念,新科技,使软件过程能不断地得到改进,(3)根据软件过程的效果,进行成本/利润分析,从成功的软件过程实践中吸取经验,加以总结.把最好的创新成绩迅速向全组织转移.对失败的案例,由软件过程小组近行分析以找出原因.(4)组织能找出过程的不足并预先改进.把失败的教训告知全体组织以防止重复以前的错误.(5)对软件过程的评价相对标准软件过程的改进,都在全组织内推广.过程:(1)不断地系统地改进软件过程(2)理解并消除产生问题的公共根源.在任何一个系统中都可找到:由于随机变化造成重复工作,进而导致时间浪费.为了防止浪费人力可能导致的系统变化.要消除"公共"的无效根源,防止浪费发生.尽管所有级别都存在这些问题,但这是第五级的焦点.人员:(1)整个组织都存在自觉的强烈的团队意识.(2)每个人都致力于过程改进.人们不再以达到里程碑的成就而满足,而要力求减少错误率. 技术基于定量的控制和管理,事先主动考虑新技术,追求新技术,利用新技术.可以实现软件开发中的方法和新技术的革新,以防止出现错误,不断提高产品的质量和生产率.度量:利用数据来评估,选择过程改进. 改进方向保持持续不断的软件过程改进.二,敏捷开发和高级别CMMI 关键字:高级别CMMI 敏捷开发我经常和别人一起讨论敏捷开发过程的知识,并且我们也会经常争论结合使用敏捷开发过程和CMMI 高级别的话题.他们两个是否能够结合使用?或者他们两个只是向相反的方向发展?带着这个疑问,下面我们一起来探讨. "这个问题可以说是老生常谈,但是我对第 5 级别中的那个基本差异有一个疑问,这个疑问会使人产生不安的情绪.CMMI1.2 强调了想在组织中控制结果的变更, 进而将其重心转移到了个人的身上.敏捷开发在意义上说不单单是为了让每个项目能在应对各种各样的环境中都拥有灵活的能力,并且可以让他们在这个环境中尽其所能表现的最好.我们并没有特别关注在所有项目中要规范行为以便可以预知结果是"可靠的". 但是,我并不清楚我现在尽力想说明的这种区别,是否确实是敏捷开发和CMMI 的基本概念中的一个基础的区别,还是只是组织如何解释和执行CMMI 第 5 级别的一个结果.当然,敏捷开发团队在过程模型和过程实践资产中拥有的信任似乎要比CMMI 团队中的要少――虽然在敏捷中没有方法可以规范这些事情即便他们是低成本的,但是没有假设说明这就是组织要走的路.事实上,敏捷开发支持者偏向于这样的想法, 在任何形式的可遇见的过程模型中快速地建立起逐渐减少的成果.是否这就是等同说敏捷开发支持者相信特殊原因会影响执行效果是如此的普遍,以至在组织中试图建立预见性的模型是无用的?" CMMI 第4 级别: QPM(量化项目管理):主要关注懂得过程行为变更的个别项目,他们认为这些变更影响着他们的成功和如何处理事情――或者至少影响着完成产品发展或者达成目标.组织单位(EPG)必须要监控成果. OPP(组织过程实践):主要关注集成模型,项目可以使用模型来规范他们想要达到成功的方面,比如说质量,进度表,预算,维护以及其他任何事情.诀窍就是项目在过程执行中以这些模型为基础,控制QPM 中的行为.比较典型的是,这些模型可能是基于相似的项目中的重复的结果不断建立起来的,虽然可能并没有这样的需求. 在个别项目级别中模型应该先被改进以便使用,所以在CMMI 模型中使用基于一个项目的历史数据(比如说,增量)或者20 个项目的历史数据是没有区别的,虽然这可能对使用者来说是有区别的. CMMI 第5 级别: CAR(原因分析与解决方法):主要关注引起问题的主要原因,过失,管理问题或者其他一切需要解决的问题.项目,EPG 或者其他任何人是否可以应用,是作为解决问题的方法.EPG 在OPP 中监控结果,或者得到别的经验.(敏捷开发是否在增量开始点或者结束点不建议进行类似的行为?我不清楚我所知道的术语是否正确) OID(组织创新与推展):完全非项目特点.关注基于个体,CAR,模型使用,外界因素等的组织改进.你是否会收集并且使用所有这些学到的经验?你进入企业后是否会寻求新的或者更好的做生意的方法(其中敏捷开发可能只是一个例子)?在组织中又该如何处理证明,分析(职业),和使用(结构请参照第 4 级别中的模型和过程控制)这些改进. 我个人认为CMMI 高级别和敏捷开发应该结合起来工作.敏捷可以帮助CMMI 高级别更容易实现短期的转变,并且它在处理事情的发展上起了很重要的作用.我的经验基本是从第5 级别得来的,有部分来自第4 级别.许多组织怀着"每个人都必须如此做"的想法而通过了第3 级别,但是他们却反对在第4,5 级别中有着同样的想法.就像我曾经提到的,敏捷开发是使用CMMI 第4,5 级别来改进如何发展产品的完美例子. CMMI 是Capability Maturity Model Integration(能力成熟度模型集成)的缩写, 是在CMM(Capability Maturity Model 能力成熟度模型)的基础上发展而来三,CMMI 实施现在很多企业因某种原因想做CMMI 了,大体做法1,决定实施CMMI 2,EPG 接受培训,理解CMMI 3,EPG 根据自己理解的CMMI 和实际情况开发一大堆漂漂亮亮的过程文档,流程图,表格,模板,检查单,作业指南. 4,大家边听着EPG 的解释(包括培训,答疑),边执行这些过程标准,然后审计(内,外) 将目前的最佳实践记录下来,写下来,文档化下来. 很多新的EPG 在做了一段时间后无奈的发现自己居然沦落成了一个过程标准解说员,甚至文档管理员.自己工作大部分时间是面对文档,或者督促别人写文档我到觉得EPG 最主要的工作应该深入到研发第一线,帮助研发人员解决研发过程中面临的最严重的实际问题(当然是解决方案要上升到过程高度,而不应是单个问题或个人),甚至哪怕是一些不严重但以你的项目经验知道该如何解决的问题上.总体说来就是掌握项目进展中的任何细微的技术难点要点,并主动记录下来. 为什么这么说呢?CMMI 实施的主要宗旨就是以每个项目为采集数据的源头,达到企业整体效益提升和资源重用.真正有价值的东西,是需要一线人员在实际工作中遇到问题,解决问题,并总结问题,不是一个一线工作的流水帐.就象一份研发人员的日报.写了上午做什么,下午做什么.这对企业的积累有什么用处呢?他工作过程中, 遇到什么问题,他是怎么解决的,走过什么弯路,实验过几种方法,失败了,失败的原因是什么,最后选择了什么方法,可能不是最好的,但完成了任务,达到了效率和资源分配的平衡.这些东西才可能是未来类似项目中,遇到类似问题时,可能有参考价值的.通常也是EPG 个人职业生涯的技术积累.只有公司里每个员工,把自己认为最有价值的积累贡献出来.才可能达到公司有价值的积累.而决不是形式上写的上午下午每个小时的流水帐. 明白了上面的说的CMMI 的目的,做为一个合格的EPG,就应该具备以下的素质: 1,明白什么是有价值的积累,先是对你个人,然后才是顺便帮公司做了积累. 2,深入一线,发现她们并忠实地记录她们.CMMI 里的SP,GP,只是帮助你,提醒你在哪个环节,哪些东西可能是有价值了.你去收集一下,别视而不见了.因为还有一个企业和你个人的角度不同,立场不同的问题.例如,REQM 里收集需求,对个人技术方面的积累虽然不多,但对企业是至关重要的,一次需求变更,没详细写清楚, 忘记了到客户那里去签字落实,可能就会给企业造成很大的损失.做为一个合格的EPG,是需要有这份责任和义务把每个环节都做到最好,这是职业道德所在.同时也是对自我延伸的一个好机会,学会一些和人的沟通,倾听,把专业的东西以平易的方式表达.这些也都算是EPG 额外的收获. 通常情况下,为了按时按量完成项目,一线的骨干,对写日报,周报,文档都很不屑.EPG 也很迁就,事后再补,这也不失为一个提高效率的好办法.但过去一个月半年了,我们正常人的记忆都能想象,很难记住细节.无非就是敷衍.这也在情理之中.你总不能让一个明天就要交东西的小组,今天晚上在通宵努力解决BUG 的同时, 还写什么报告,这也不尽人情.但作为EPG 不能只把眼光集中在这妇人之心上.要想的更远.为什么会把项目推到这么晚,BUG 还没解决完?难道要永远这样下去吗?项目中是有很多不可预测的因素,甚至是开发人员常说的"手气问题","人品问题".但这些是需要控制的,也是通过经验可以控制的,所谓艺高人胆大.艺的高低,就是经验的积累决定的. 那怎么解决这种两难的问题呢?逼着技术骨干写心水,人家没时间也的确压力很大.不写,公司又得不到有效积累,积累的都是垃圾流水.有个公司的办法和经验到可以借鉴一下: 公司内部搞了个BBS,把不同类型的工作分成不同的组,有纯技术的,JAVA 组, C++组等,也有PPT 组,甚至动画组,界面组.大家把自己平时的工作积累FTP 上去,甚至制作方法,遇到问题和解决方法的文档都丢上去,开始怎么想,用了多少套方案,最后选择了什么.自我感觉如何.把这些心路历程都写成文档.丢到阳光下, 大家评论.用点击率和"顶"的人数来说明谁写的是心水,谁在写垃圾.大家都是一个公司的,很容易实名.直接纳入考核机制中.做为一线人员,大家也有动力来写,自己的聪明才智有了展现的平台,虚荣心和荷包都得到了相应的满足.何乐而不为呢? EPG 适时的评估大家的成果,并把他们分到项目里.帮助项目总结,甚至在平时遇到问题时,直接帮助技术人员做必要记录.项目进度松时,再督促项目人员完善内容.以达到对个人和公司积累的最大化. EPG 应该明白学习和积累是个终身的过程,对公司如此,对个人也是如此.CMMI 是个辅助,辅助我们对公司做积累,也帮助我们个人做必要的积累.公司需要逐步走向更高的管理水平,发展平台. 四,CMMI 实施之核心关键字:CMMI,SCAMPI,过程改进,能力成熟度,EPG,PA,过程域在上一章节中,我们谈到了关于过程改进团队的组建方法及在组建过程中需要注意的问题,在本节中我们将继续探讨EPG 过程改进的另一个更为重要的一环——定义过程文档. 曾经有一位评估师开玩笑说,三级是写文档,四级是写文档的文档,五级是写文档的文档的文档.由此可见,文档贯穿于整个CMMI,在过程改进中起着举足轻重的作用.那么如何才能写出既符合CMMI 又立足于企业本身实际情况的文档呢?这就是本文将要探讨的问题——定义过程文档. 在定义过程文档时,首先,应该进行企业的习惯表述与CMMI 术语和语言间的映射.特别是组织结构中的一些术语,角色,组织内部之间关系以及过程活动的表述方式都需要映射到其组织的相应部分,以防止别人无法理解. 定义过程文档的一般步骤是: (1)先确定并描述产品的生命周期. 一般来说,产品生命周期可以划分为 6 个阶段,即产品概念阶段,产品定义阶段, 产品开发阶段, 产品测试阶段,用户验收阶段,产品维护阶段. (2)根据产品生命周期的各个阶段确定需要改进的过程域(PA)活动. "过程域"用于描述CMMI 标准定义的软件过程能力评估模型中的一种部件.在该模型中,"过程域"是最大的的构造块,每个"过程域"由一组目标构成,每个目标得到一组实践支持.模型中描述的过程是参考模板,用"过程域"来表示.不能与实际过程混淆."过程域"不是实际的过程,它是模型中的模板. (3)针对某一个PA 过程活动,完成PA 的数据流程图. (4)准备相应的模板,检查表或者方法附件定义过程文档.再在EPG 内部讨论修改,然后拿给评审人员阅读,最后是进行正式评审.进一步修订,再评审直到大家认可为止,再进入下一个PA 过程.(或者也可以评审通过后进行试点,试点成功再进入下有个PA 过程.) 根据自己多年的咨询经验,总结了在定义过程文档时一般容易出现的问题. 1,"本地化做得不够" 咨询顾问常常在项目进行中发现这样的问题:在定义某个PA 过程时,客户会过于依赖咨询公司提供的其他一些企业的过程文档,并将这些文档梢作调整成为其自己的过程文件.由于每个软件企业的情况是不一样,流程,规范,记录应该根据公司实际情况来制定,参照CMMI 框架,制定适合公司本身情况的"本地化"过程体系,这样的效果会更好. (2)总体把握,逐步细化在定义第一个PA 过程时,如果没有考虑它跟其它PA 之间的关系就直接参照CMMI 的此PA 的目标和实践完成了过程文件,可能发生的结果要么是无法通过评审, 要么就是通过了之后再返回进行修改.由于各PA 间关系密切,息息相关,因此在实际的定义过程中,先要从总体上把握住各PA 间关系,完成整个过程的数据流程图的基础上再进行逐步细分,否则即是"只见树木不见森林". (3)多交流,多总结由于在项目初期,EPG 小组对于CMMI 的理解不够透彻,大家也没什么经验,这就需要EPG 成员,QA,管理人员,开发人员之间多多交流,在定义过程文档时多讨论,集众人之智慧,随着过程定义的进展,EPG 小组对CMMI 的理解加深,就需要总结经验,避免将来在遇到类似问题的时候多走弯路.。
III软件能力成熟度模型CMM
ISO中关于软件的部分
ISO9000系列标准原是为硬件制造业制定的标准, 不能直接用于软件企业的生产。 后来,试图将9001改编以用于软件的生产,但 效果不够理想。 以ISO9000系列标准的追加形式,另行制定出 9000-3标准,用于软件开发、供应和维护的指 南。
一定的成熟度级别表明了该机构的软件过程能 力,每个级别内包含了关键过程域; 同时机构可以从过程域中划分出具有共同特性 的关键过程域,将这些共同特征制度化,并形 成一定的机构文化; 共同特征中包含了关键实践,用以描述机构所 要实施的活动所需建设的基础设施。
成熟度等级(Level)
CMM的概念模型
2. Repeatable Can repeat previously mastered tasks
Integrated Engineering Process
Mature
1. Initial
Unpredictable and poorly controlled
Project Management
Immature
ISO9000
有关质量保证技术的通用性的国际标准 。 p282 ISO9000 系列标准:
–
–
–
– –
ISO9000 质量管理和质量保证标准——选择和使用的导则; ISO9001 质量体系——设计/开发、生产、安装和服务中的质量保 证模式;(范围最广,从设计到售后) ISO9002 质量体系——生产和安装中的质量保证模式;(9001的子 集) ISO9003 质量体系——最终检验和测试中的质量保证模式; ISO9000 质量管理和质量体系要素——导则。
CMMI简介及CMMI2级的实施方案设计(DOC)
CMMI简介及CMMI2级的实施⽅案设计(DOC)CMMI简介及CMMI2级的实施⽅案设计第⼀部分 CMMI简介:CMMI 全称是Capability Maturity Model Integration,,即软件能⼒成熟度模型集成模型,是由美国国防部与卡内基-梅隆⼤学和美国国防⼯业协会共同开发和研制的。
CMMI (CMMI-SE/SW/IPPD)1.02 版本在部分国家和地区被SEI 开始推⼴和试⽤,主要应⽤于软件业项⽬,帮助提升对软件项⽬的管理能⼒。
随着模型本⾝的发展与应⽤的推⼴,CMMI 逐渐演变成为了⼀种被⼴泛采⽤的综合性模型。
在业界⼴泛使⽤的传统软件研发流程会带来⼀个严重的问题:存在于设计阶段的⼀个微⼩缺陷可能会直到后期的测试阶段才能被发现,⽽整个公司可能会花费数⼗倍甚⾄百倍的代价来改正这个缺陷。
为此,⼈⼒资源管理、软件采购、集成产品和过程开发、以及系统⼯程等等,多元化覆盖范围越来越⼴的能⼒成熟度模型应运⽽⽣。
1.1 CMMI 的作⽤软件能⼒成熟度集成模型(CMMI)经过长期积累和不断地优化,已经成功地发展并被认可为软件研发领域的标准过程体系,通过CMMI 可以增强企业核⼼竞争⼒、有效地提⾼软件企业产品质量,国内乃⾄国际上的⼴⼤软件⼚商都已经见证了CMMI 为企业带来的成功。
⽬前众多业界的软件企业纷纷试图使⽤CMMI 来达到过程改进的趋势,怎样才能将过程改进有效地实施,使其能实质地对软件研发过程起到优化效果,并带来⾏之有效地经济价值,已经逐渐成为了软件企业的决策者们最为关⼼的问题。
由最新SEI 评估报告中的数据显⽰,在进⾏了CMMI 的评估的企业中,⼤部分都是商业组织,并且其中近⼀半的企业⼈员规模都是在100 ⼈以下。
种种迹象均表明,CMMI 评估已经不仅仅吸引了⼤型IT 企业的注意⼒,同样存在⼤量的中⼩型企业也对此抱有浓厚的兴趣。
对软件企业来讲,CMMI 可以主要应⽤在两个地⽅:企业软件过程的改进和企业软件过程能⼒的评估。
cmmi2
CMMI是什么东西?CMMI英文全称是Capability Maturity Model Integration,直接翻译就是能力成熟度模型,直接看这几个中文字,你还是没有办法搞清楚CMMI是什么东西的。
大家可能在网上见过很多《成功人士的七个习惯》(可能还有很多类似的名字)的文章吧?有人总结了成功人士的成功的原因,总结出他们的习惯,如果我们也能具备这些习惯,那么我们也很可能成为成功人士。
类似的,CMMI可以看作是成功企业如何做好软件的一些习惯、做法、准则等的集合,是如何做好软件的最佳实践的集合。
如果企业也能按照CMMI的要求做好,那么企业就很可能成为成功的企业。
CMMI里面所有的要求,都是来自于成功企业的最佳实践的,她的先进性我们不必怀疑,如果我们没有做好,那不是CMMI本身的问题,而是我们自己没有理解好或者是没有执行好的原因。
说到CMMI,就不可避免会提到另外3个字母SEI,SEI全称是Software Engineering Institute 的全称,直译就是软件工程学院,是美国的一所大学,CMMI标准就是他们搞出来的。
CMMI目前最新版本是V1.2,如果你是现在才开始了解CMMI的,那么你完全没有必要去搞清楚V1.1与V1.2的差别,更加没有必要去比较CMM与CMMI的差别,直接了解CMMI V1.2就可以了,你只需要知道CMM是CMMI的前身,而CMMI V1.1虽然比CMM要新很多,但现在已经不用了。
现在在互联网上还有很多比较CMM与CMMI的文章的,除非你很想了解或者你有很多时间,建议不必去看这些内容。
连续式vs阶段式CMMI有两种表述方式:连续式与阶段式,两种方式只是从不同的角度来阐述CMMI,其实质上表达的内容是一致的。
就好像我们做数据库设计的时候,可能会设计不同的视图来查看相同数据表的数据,只是角度不一样。
大家可能会问,好好的CMMI,为什么要搞两种表达方式呢?不怕把大家搞糊涂吗?确实这两种方式把不少人给搞糊涂了,这是SEI的一个败笔。
CMMI能力成熟度模型
CMMI能力成熟度模型
一、CMMI是什么?
CMMI全称是Capability Maturity Model Integration,即能力成熟度模型集成(也有称为:软件能力成熟度集成模型),是美国国防部的一个设想,年由美国国防部与卡内基-梅隆大学下的软件工程研究中心以及美国国防工业协会共同开发和研制的。
换句话说,就是给你公司一个软件开发管理可执行的框架,这个框架具有自动性和可扩展性。
实行CMMI体系的过程就是改进的过程。
最终的目的,就是在保证工期和预算的前提下,输出高质量的软件。
只要按照这个框架执行,我们开发工作每一个环节都有规程和文档为依据,我们的需求、设计、测试各个环节都有评审,变更将得到有效管理,项目成果和经验能得到积累和应用……
大家熟知的信息系统项目管理师和PMP,是两个对个人层面的认证,而CMMI是对企业层面的认证。
二、CMMI体系结构是怎样的?
5个等级。
CMMI模型把企业的软件能力成熟度划分为5个等级——第1到第5级。
数字越大,成熟度越高。
5个等级分别是:初始级、已管理级、已定义级、已定量管理级、优化级。
一般企业评估是第3级或第5级。
22个过程域。
每一个成熟度等级对应一定数量的过程域。
所谓过程域(PA),就是做好软件管理的某一个方面,如项目计划(PP)、风险管理(RSKM)、需求开发(RD)等等。
CMMI一共包括22个过程域,涵盖了过程管理、项目管理、工程管理、支持管理四个方面。
软件能力成熟度模型PPT课件
案例三:某大型企业的CMMI应用与效果
总结词
CMMI助力大型企业提升软件质量与竞争力
详细描述
某大型企业为了提高软件质量和竞争力,全面应用了CMMI。通过实施CMMI,该企业 规范了软件开发流程,提高了软件质量。同时,CMMI的应用还帮助该企业提高了团队 协作和项目管理能力,降低了软件开发成本和风险。这些改进使得该企业的软件产品更
评估结果与改进
反馈评估结果
将评估报告向相关干系人进行反馈,以便了解软件开发生命周期的成 熟度现状和改进方向。
制定改进计划
根据评估结果,制定针对性的改进计划,明确改进目标、措施、时间 表和责任人。
实施改进措施
按照改进计划,组织相关人员进行改进工作,确保改进措施的有效实 施。
监控与评审
对改进过程进行监控和评审,确保改进工作的顺利进行,并及时调整 改进计划以确保达成预期的改进目标。
企业如何持续改进软件能力成熟度
制定改进计划
企业应根据自身实际情况,制定具体 的改进目标和计划,明确改进的方向 和措施。
实施过程改进
企业应积极推行过程改进,通过优化 流程、提高团队能力、加强项目管理 等方面提升软件能力成熟度。
பைடு நூலகம்
持续监控与评估
企业应建立持续监控和评估机制,及 时发现和解决存在的问题,确保改进 效果的持续性和稳定性。
PART 04
CMMI实践案例
案例一:某软件开发公司的CMMI实施
总结词
成功实施CMMI,显著提升软件质量
详细描述
某软件开发公司为了提高软件质量,成功实施了CMMI。通过制定严格的软件开发流程和质量标准, 该公司减少了软件缺陷和错误,提高了软件的可维护性和可靠性。同时,CMMI的实施还帮助该公司 提高了团队协作和项目管理能力,从而提高了整体软件开发的效率和质量。
CMMI与软件质量管理
CMMI与软件质量管理概述CMMI(能力成熟度模型集成)是一种用于评估和改进软件开发过程的国际标准。
软件质量管理是一种通过实施标准化过程来确保软件产品质量的方法。
本文将探讨CMMI与软件质量管理之间的关系,以及它们在软件开发项目中的应用。
CMMI简介CMMI是一种用于评估和改进软件开发过程的模型。
它由Carnegie Mellon大学的软件工程研究所开发,并于2002年发布。
CMMI使用了一种成熟度模型的方法,用于评估组织的软件开发能力,并提出了一套指导原则和最佳实践,以改进组织的软件开发过程。
CMMI模型定义了5个不同的成熟度级别,从初级(级别1)到最高级别(级别5)。
每个级别都有一系列的指导原则和最佳实践,用于帮助组织实现更高水平的成熟度。
通过实施CMMI模型,组织可以提高软件开发过程的效率和质量,减少成本和风险。
软件质量管理软件质量管理是通过实施标准化的过程和活动,确保软件产品的质量和符合客户要求的方法。
它涵盖了整个软件开发生命周期,包括需求分析、设计、编码、测试和维护等阶段。
软件质量管理的目标是确保软件产品的可靠性、可用性、易用性和安全性等方面的质量,以满足客户的需求和期望。
软件质量管理包括以下主要方面:质量计划质量计划是指确定实施软件质量管理活动的计划和策略。
它包括确定质量目标、质量度量指标、质量评估方法等内容。
质量计划可以帮助组织确保软件产品在项目的每个阶段都符合预定的质量标准。
质量控制质量控制是指通过监控和评估软件开发过程中的活动和工件,确保产品质量符合预期的过程。
它包括编码规范的制定、代码审查、单元测试、集成测试等控制措施。
质量控制可以及早发现和纠正潜在的质量问题,从而确保软件产品的质量。
质量保证质量保证是指通过实施预防性和检测性的活动,确保软件产品质量符合预期的过程。
它包括需求审查、设计审查、测试计划制定和执行等活动。
质量保证可以帮助组织确保软件产品符合质量标准,预防质量问题的发生。
能力成熟度模型CMMI
能力成熟度模型C M M I The document was prepared on January 2, 2021意义与功能CMMI 的全称为:Capability Maturity Model Integration,即能力成熟度模型集成.CMMI是CMM模型的最新版本.早期的CMMICMMI-SE/SW/IPPD版本是应用于软件业项目的管理方法,SEI在部分国家和地区开始推广和试用.随着应用的推广与模型本身的发展,演绎成为一种被广泛应用的综合性模型.具体内容自从1994 年SEI 正式发布软件CMM 以来,相继又开发出了系统工程、软件采购、人力资源管理以及集成产品和过程开发方面的多个能力成熟度模型.虽然这些模型在许多组织都得到了良好的应用,但对于一些大型软件企业来说,可能会出现需要同时采用多种模型来改进自己多方面过程能力的情况.这时他们就会发现存在一些问题,其中主要问题体现在:1. 不能集中其不同过程改进的能力以取得更大成绩;2. 要进行一些重复的培训、评估和改进活动,因而增加了许多成本;3. 遇到不同模型中有一些对相同事物说法不一致,或活动不协调,甚至相抵触. 于是,希望整合不同CMM 模型的需求产生了.1997 年,美国联邦航空管理局FAA 开发了FAA-iCMMSM联邦航空管理局的集成CMM,该模型集成了适用于系统工程的SE-CMM、软件获取的SA-CMM 和软件的SW-CMM 三个模型中的所有原则、概念和实践.该模型被认为是第一个集成化的模型.CMMI与CMM 最大的不同点在于: CMMISM-SE/SW/IPPD/SS 版本有四个集成成分,即:系统工程SE和软件工程SW是基本的科目,对于有些组织还可以应用集成产品和过程开发方面IPPD的内容,如果涉及到供应商外包管理可以相应的应用SSSupplier Sourcing部分.CMMI 有两种表示方法,一种是大家很熟悉的,和软件CMM 一样的阶段式表现方法,另一种是连续式的表现方法.这两种表现方法的区别是:阶段式表现方法仍然把CMMI 中的若干个过程区域分成了5 个成熟度级别,帮助实施CMMI 的组织建议一条比较容易实现的过程改进发展道路.而连续式表现方法则通过将CMMI 中过程区域分为四大类:过程管理、项目管理、工程以及支持.对于每个大类中的过程区域,又进一步分为基本的和高级的.这样,在按照连续式表示方法实施CMMI的时候,一个组织可以把项目管理或者其他某类的实践一直做到最好,而其他方面的过程区域可以完全不必考虑.CMMI各个进程的关键元素CMMI自出道以来,它所达到的目标就没有变过,第一个是质量,第二个是时间表,第三就是要用最低的成本.不过特别强调的是,CMMI不是传统的、仅局限于软件开发的生命周期,它应该被运用于更广泛的一个范畴——工程设计的生命周期.TSP的建立,也是为了支持CMMI的这样一个系统. 那么CMMI究竟是什么呢它并不是一个过程,也不是告诉你怎么去做一件事情.如果用一句话来概括什么是CMMI,它就是各个进程的一个关键的元素,在很多领域里面一个集成的点.它是这样的一个基本架构,能够用来度量你的有效性和实用性;能够找出这样的一些机会,继续改进的机会,包括在商业目标、策略还有降低项目的风险等方面.一、CMMI的起源随着人们对CMM研究的不断深入,其他学科也结合本系统的特点,陆续推出了自己的CMM模型.例如,人力资源能力成熟度模型、系统工程能力成熟度模型等等:1 SW-CMM Software CMM 软件CMM2 SE-CMM System Engineering CMM 系统工程CMM3 SA-CMM Software Acquisition CMM 软件采购CMM4 IPT-CMM Integrated Product Team CMM 集成产品群组CMM5 P-CMM People CMM 人力资源能力成熟度模型为了以示区别,国内外很多资料把CMM叫做SW-CMM.按照SEI原来的计划,CMM的改进版本应该在1997年11月完成,然后在取得版本得实践反馈意见之后,在1999年完成准版本.但是,美国国防部办公室要求SEI推迟发布版本,而要先完成一个更为紧迫的项目CMMI.CMMICapability Maturity Model Integration即能力成熟度集成模型,这也是美国国防部的一个设想,他们想把现在所有的以及将被发展出来的各种能力成熟度模型,集成到一个框架中去.这个框架有两个功能,第一,软件采购方法的改革;第二,建立一种从集成产品与过程发展的角度出发、包含健全的系统开发原则的过程改进.就软件而言,CMMI是SW-CMM的修订本.它兼收了SW-CMM 版C稿草案和SPA中更合理、更科学和更周密的优点.SEI在发表CMMI-SE/SW 版时,宣布大约用两年的时间完成从CMM到CMMI的过渡.CMMI项目更为工业界和政府部门提供了一个集成的产品集,其主要目的是消除不同模型之间的不一致和重复,降低基于模型改善的成本.CMMI将以更加系统和一致的框架来指导组织改善软件过程,提高产品和服务的开发、获取和维护能力.二、实施CMMI的意义很多人认为,实施CMMI的意义在于项目工程走向世界,可以在西方国家接到订单.实际上,这只是我国企业实施CMMI的意义的很小一部分.更为重要的意义则是,CMMI的实施能够提高我国企业的管理水平.降低企业的工程成本.事实表明,企业实施CMMI技术的投入都会得到丰厚的回报.据SEI统计,用于软件项目上的CMMI的投资,其回报率在5:1到8:1之间.由此可见,为什么这么多的企业纷纷实施CMMI项目管理技术.近年来,很多软件企业纷纷实施CMMI管理模式,这一方面反映了我国企业在进入WTO后的危机意识,以及与世界接轨的迫切愿望.另一方面则反映出我国软件企业在改进管理方法上所作的努力.但是CMMI到底能够为我们做什么呢实际上这个问题对不同的人有不同的答案.对采购部门的人员来说,掌握了CMMI技术可以有目的地考察项目实施人员或公司的实施能力,从而保证所采购的项目能够顺利完成.对于项目经理来说,掌握CMMI技术能够提高自己的管理能力,从而能够使项目高质量,低成本,按期限地完成.对于企业老总来说,CMMI还能够引入科学的管理理念,提升企业的整体管理水平.在美国,很多企业通过CMMI评估,一方面为了满足承包国防工程或一些大企业的工程的要求,另一方面也是为了提高企业自身的管理能力.美国政府的工程项目,绝大多数都要求承包商有一定的CMMI级别作为参加投标的资格.越来越多的大型企业开始要求其工程承包商具有一定的CMMI级别.级别高的企业在赢得项目的竞标中具有一定的优势.因此,如果没有CMMI的等级评估,企业就会失去很多商机.三、CMMI的两种实施方法CMMI有两种不同的实施方法,不同的实施方法,其级别表示不同的内容.CMMI的一实施方法为连续式,主要是衡量一个企业的项目能力.企业在接受评估时可以选择自己希望评估的项目来进行评估.因为是企业自己挑选项目,其评估通过的可能性就较大一点.但是,它反映的内容也比较窄一点.它仅仅表示企业在该项目或类似项目的实施能力达到了某一等级.而另一种实施方法为阶段性.它主要是衡量一个企业的成熟度,亦即是企业在项目实施上的综合实力.企业在进行评估时,一定要由评估师来挑选企业内部的任何项目,甚至于任何项目的任何部分.一般地讲,一个企业要想在阶段性评估中得到三级,其企业内部的大部分项目要达到三级,小部分项目可以在二级,但绝不能够有一级.阶段性实施方法的难度要大一些.虽然,CMMI的表述方式不同,但其实质内容是完全一样的.是同一种方法的两种不同的表述方式.企业在准备评估时要做的准备工作也是完全一样的.这些工作对企业的管理上的帮助也是一样的.因此,不管企业需要做什么样的评估,企业所获取的实惠应该是差别不大.具体要做连续性评估,还是做阶段性评估则要看企业对等级评估证书的具体要求.四、CMMI的五个台阶台阶一:CMMI一级,完成级.在完成级水平上,企业对项目的目标与要做的努力很清晰,项目的目标得以实现.但是由于任务的完成带有很大的偶然性,企业无法保证在实施同类项目的时候仍然能够完成任务.企业在一级上的项目实施对实施人员有很大的依赖性.台阶二:CMMI二级,管理级.在管理级水平上,企业在项目实施上能够遵守既定的计划与流程,有资源准备,权责到人,对相关的项目实施人员有相应的培训,对整个流程有监测与控制,并与上级单位对项目与流程进行审查.企业在二级水平上体现了对项目的一系列的管理程序.这一系列的管理手段排除了企业在一级时完成任务的随机性,保证了企业的所有项目实施都会得到成功.台阶三:CMMI三级,定义级.在定义级水平上,企业不仅能够对项目的实施有一整套的管理措施,并保障项目的完成;而且,企业能够根据自身的特殊情况以及自己的标准流程,将这套管理体系与流程予以制度化这样,企业不仅能够在同类的项目上生到成功的实施,在不同类的项目上一样能够得到成功的实施.科学的管理成为企业的一种文化,企业的组织财富.台阶四:CMMI四级,量化管理级.在量化管理级水平上,企业的项目管理不仅形成了一种制度,而且要实现数字化的管理.对管理流程要做到量化与数字化.通过量化技术来实现流程的稳定性,实现管理的精度,降低项目实施在质量上的波动. 台阶五:CMMI五级,优化级.在优化级水平上,企业的项目管理达到了最高的境界.企业不仅能够通过信息手段与数字化手段来实现对项目的管理,而且能够充分利用信息资料,对企业在项目实施的过程中可能出现的次品予以预防.能够主动地改善流程,运用新技术,实现流程的优化.由上述的五个台阶我们可以看出,每一个台阶都是上面一阶台阶的基石.要上高层台阶必须首先踏上较低一层台阶.企业在实施CMMI的时候,路要一步一步地走.一般地讲,应该先从二级入手.在管理上下功夫.争取最终实现CMMI的第五级.。
CMM-L2 能力成熟度模型引论ppt
定义任务间关系的规 程和方法 A B C D
过程
有技能、经培训、 有目的的人
版权所有,不准翻印
工具和设备
17
CyberKeJi
软件过程管理的推断
• 一个软件系统的质量受到用于开发和维护它的过程质量的 极大影响。 • 此推断意味着既要关注过程又要关注产品。
评 价
选择源组织 证实实践
改进目标
输出 结论的范围 风格 结果的重点 结果的状态
版权所有,不准翻印
改进的催化剂
行动计划的输入 包括非CMM的评估 协同工作 应用到组织 保密
评价承诺
性能风险 仅给出有关CMM的结论 定向审计 对下一个项目的预测 DoD知道
14
CyberKeJi
第二单元
软件过程成熟度
Stimulus for Change
Refine Solution Set Context Build Charter Sponsorship Infrastructure Pilot/Test Solution
Acting
Initiating
Characterize Current & Desired States
优化级
已管理级 已定义级 可重复级 初始级
版权所有,不准翻印 15
CyberKeJi
目标
此单元课程结束时,你应该能够 • 理解过程管理的理论和用CMM改进过程的方法 • 识别不成熟的和成熟的软件组织
• 描述与CMM相关的过程
版权所有,不准翻印
16
CMMI 介绍
CMMI 介绍一、CMMI 概述CMMI 是Capacity Maturity Model Integrated 的简称,即集成的软件能力成熟度模型,CMM 是CMMI 的早期版本,它主要用于软件工程,而CMMI 是一种综合性模型,它是工程实施和管理方法,它在软件与系统集成以外的如科研、工程等领域都得到了广泛的应用。
CMMI 是一个由理论和经验部分组成的模型。
它有连续式和阶段式两种表述方式,其中连续式主要用于衡量一个企业的项目能力,而阶段式主要用来衡量一个企业的成熟度。
在连续式表述下,企业在接受评估时可以选择自己希望评估的项目来进行评估,所以评估通过率相对比较大,但它反映的那个相对比较窄,因为它仅仅反映该企业的该项目或类似项目达到了对应的等级。
而用阶段式来进行评估时,需由评估师自己来挑选内部的任何项目或其中的某一部分来进行评估。
阶段式的CMMI 有5个等级:第一级(初始级):在该等级下,项目的目标虽然得以实现,但它的实现带有很多的偶然性和风险性,该级对人员的依赖性比较大,性能依赖个人的能力,且随个人固有的性能、知识和动机的不同而变化。
第二级(已管理级):在该等级下,意味着组织要确保策划、文档化、执行、监督和控制项目级的过程,并且需要为过程建立明确的目标,并能实现成本、进度和质量目标等。
在这种情况下,组织已经营造了一个稳定的、受控的开发环境,项目已经在受控制的状态下运行。
该级包括如下7个过程域:需求管理(ReqM )、项目策划(PP )、项目监督与控制(PMC )、供方协定管理(SAM )、测量与分析(MA )、过程和产品质量保证(PPQA )和配置管理(CM )。
第三级(已定义级):在等级三下,项目执行过程是通过裁剪组织的标准过程集合和组织过程财富产生的“已定义过程”,并具备与该过程相适应的运行环境。
该级报刊如下11个过程域:需求开发(RD )、技术解决(TS )、产品集成(PI )、验证(Ver )、确认(Val )、组织过程聚焦(OPF )、组织过程定义(OPD )、组织培训(OT )、集成项目管理(IPM )、风险管理(RSKM )和决策分析和决定。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.2.1 戴明改进循环
世界著名的统计
管理学专家和质量 管理专家戴明把 质量管理工作过程 总结为PDCA四个 阶段。
W· 爱德华· 戴明博士(1900-1993 ) 主要因其对日本有关质量控制 方面的研究工作而闻名。 “二战”后,戴明应日本政府的 Plan Action 邀请,到日本帮助他们提高生产 计划 改进 率和质量。戴明告诉日本人,高 质量意味着更高的生产率和更低 持续改进的 过程 的成本。 Check 20世纪80 年代,看到日本获得的 Do 检查 执行 巨大成功,美国企业争先恐后应 用戴明技术,以帮助自己的工厂 建立质量改进计划。 戴明奖:象征着高质量组织的奖 项。
3.1.1 质量和质量管理
2)质量管理的定义
质量管理作为企业管理活动,贯穿企业从质量 方针制定到用户对项目产品质量的最终检验的全 过程; 质量管理需要所有项目干系人的共同努力; 质量管理不仅仅是产品的质量管理,而且还包 括制造产品过程中工作质量的管理。
3.1.1 质量和质量管理
3)项目质量管理
环保质量特性:产品对于环境保护或环境污染。
3.1.1 质量和质量管理
1)质量的定义
软件质量除了具有一般产品的质量特征以外,还具有6个方面 的质量特性,每个方面包含若干个子特性: 功能性:适合性、准确性、互操作性、依从性、安全性; 可靠性:成熟性、容错性、易恢复性; 易用性:易理解性、易学性、易操作性; 效 率:时间特性、资源特性; 可维护性:易分析性、易改变性、稳定性、易测试性; 可移植性:适应性、易安装性、遵循性、易替换性。
3.1.1 质量和质量管理
2)质量管理的定义 ISO将质量管理定义为:“在质量方面指挥和 控制组织的协调活动。” 质量管理是确定质量方针、目标和职责,并在 质量体系中通过诸如质量策划、质量控制、质量 保障和质量改进,使质量得以实现的全部管理活 动。
3.1.1 质量和质量管理
2)质量管理的定义
3.1.3 全面质量管理
全过程的管理 产品是项目各阶段研究、设计、生产活动的成果,它有产 生、形成过程,因此应将不合格消灭在过程中,防检结合, 以防为主,从各环节上致力于质量提高。 质量管理重点:从事后检查把关到事先控制;从管理结果 到管理因素。 使质量管理范围从原来的制造过程向前后延伸,形成一个 螺旋上升过程。从访问用户、市场研究、产品设计、方案论 证,到设计、试制、生产、销售、使用、服务的全过程,实 施质量管理。
质量方针:指由组织的最高管理者正式发布的该组织总 的质量宗旨和方向。 质量目标:在质量方面所追求的目标,是对质量方针的 展开。 质量策划:致力于制定质量目标并规定必要的运行过程 和相关资源以实现质量目标。 质量控制:致力于满足质量要求。 质量保证:致力于保证质量要求会得到满足。 质量改进:致力于增强满足质量要求的能力。
3.1.1 质量和质量管理
3)项目质量管理
必须让参加项目的每个人从进入项目这一刻就牢记:
质量是软件企业的生命线,质量管理是全体员工的责任; 使顾客满意是质量管理的目的; 质量不是检测出来的,而是策划和制造出来的; 建立项目管理规范、标准和模板是项目质量的基本保障; 质量管理的关键是不断地改进和提高项目管理能力;
【案例3-1分析】
产生软件质量问题的13个原因 :
(7)对用户的质量要求不了解,缺乏使用户满意的思想。
(8)用户对软件需求不清晰、存在二义性。 (9)开发人员对用户的需求理解有偏差甚至错误。 (10)开发与管理文档对质量控制作用小。 (11)软件开发工具引发质量控制困难。
(12)不遵守软件开发标准和规范。
3.1.1 质量和质量管理
质量 产品质量
服务质量
过程质量
工作质量
服务质量
服务质量是指服务满足明确和隐含需要的能力的特性总和。 定义中的服务,主要指服务性行业提供的服务,如交通运输、邮电、商 业、金融保险、饮食、宾馆、医疗卫生、文化娱乐、仓储、咨询、法律 等组织提供的服务。由于服务含义的延伸,有时也包括工业产品的售前、 售中和售后服务,以及企业内部上道工序对下道工序的服务。 反映服务质量要求的质量特性主要有功能性、经济性、安全性、时间性、 舒适性和文明性。
工作质量
工作质量
工作质量,是指与质量有关的各项工作对产品质量、服务质 量、过程质量的保证程度。
3.1.1 质量和质量管理
1)质量的定义
质量的内涵包括:
内在质量特性:性能、特性、强度、精度。 外在质量特性:外形、包装、装潢、色泽、味道。 经济质量特性:寿命、成本、价格、运营维护费用。 商业质量特性:保持期、保修期、售后服务水平。
统计质量控制阶段:利用数理统计原理在生产工序间
进行质量控制;
全面质量管理阶段:从过去的事后检验和把关为主转
变为预防和改进为主;从管结果变为管因素,发动全员、 全部门参加,使生产的全过程都处于受控状态。
3.1.3 全面质量管理
全面质量管理(TQM)
在最经济的水平上充分满足顾客需求的条件下,进行市场 研究、设计、生产和服务,通过让顾客满意和本组织所有成 员及社会受益而达到长期成功的一种质量管理。 全面质量管理强调: 全员性 全过程性 全要素性
(13)缺乏有效的质量控制和管理。
3.1项目质量管理概述
著名质量管理专家戴明指出:
质量是一种以最经济的手段,制造出市场上最有用的 产品的方法。一旦改进了产品质量,生产率就会自动 提高。 忽视质量必将付出更大的代价,受到更为严厉的惩 罚。 【案例】 2008年9月震惊全国的“奶粉门”事件
3.1.1 质量和质量管理
3.1.3 全面质量管理
全面质量管理(TQM)包括产品质量和工作质量。 工作质量是指为保证和提高产品质量和工序质量所做的工 作的好坏,就是企业技术、生产、组织工作等方面的工作水 平。如设计工作质量、制造工作质量、检查工作质量、销售 工作质量。 工作质量正确揭示了产品质量与工作质量的之间的关系。 产品质量是工作质量的综合反映,工作质量是产品质量的保 证和基础。 现代质量管理以改进工作质量为重要的管理内容,不仅可 以保证产品质量,而且可以节约消耗、降低成本、及时供货 、服务周到、满足用户多方面要求。
2005年,日本东京证券交易所股票交易系统发 生大规模系统故障。
【案例3-1分析】
产生软件质量问题的13个原因 :
(1)管理者缺乏质量观念,未从一开始就强调质量。 (2)开发者未将保证质量作为自己重要而且是必须完成的任务。 (3)没有真正执行 “决不把不合格的中间产品带到下一 阶 段” 。 (4)没有良好的激励机制。 (5)大家看不到提高质量对公司的生存发展有多重要,普遍缺 乏主人翁责任感。 (6)没有解决好质量管理者和开发者的关系。
3.1.1 质量和质量管理
2)质量管理的定义
Juran朱兰视质量为适用性(Fitness for use)。 认为通过管理可以控制大约80%的质量缺陷的发生。 包含质量计划、质量控制和质量改进的质量三元论的 思想来描述质量管理。 根据朱兰的观点,为建立有能力满足质量标准的工作程 序,质量计划是必要的。为了掌握何时采取必要措施纠 正质量问题就必须实施质量控制。质量改进有助于发现 更好的管理工作方式。管理就是不断改进工作是朱兰理 论的一个核心。
3.1.1 质量和质量管理
提高软件质量是企业竞争的需要, 是企业生存的基础,也是我们的产 品和服务进入国际市场的基本条 件。
3.1.1 质量和质量管理
2)质量管理的定义
戴明总结出14条质量管理原则,他认为一个公司要 想使其产品达到规定的质量水平必须遵循这些原则。
主要观点是引起效率低下和不良质量的原因在公司 的管理系统而不在职员。部门经理的责任就是要不 断调整管理系统以取得预期的结果。 戴明还强调了减少质量波动(与一定标准之间的偏差 )的必要性。要减少质量波动,就需要辨别引起波动 的特殊原因(即可纠正的原因)和共同原因(即随机原 因) 。
质量管理的方法与体系。
项目质量管理的过程。
质量管理的方法、技术和工具。
软件质量改进问题与对策。
ห้องสมุดไป่ตู้
【案例3-1】
1963年美国探测火箭的爆炸。
1986年机器泄露致命剂量的辐射,致使两名医 院病人死亡。 1993年伦敦附近核电站的反应堆温度控制失灵。 1997年香港新建机场第一天出现严重混乱。
3.1.1 质量和质量管理
质量 产品质量
服务质量
过程质量
工作质量
过程质量
过程是指“将输入转化为输出的一组彼此相关的资源和活 动”。其中资源可包括人员、资金、设施、设备、技术和方 法。 过程质量,是指过程满足明确和隐含需要的能力的特性之总 和
3.1.1 质量和质量管理
质量 产品质量
服务质量
过程质量
3.1.1 质量和质量管理
客户满意度是企业成功的关键。
The average ‘Wronged’ customer will tell 8 to 16 people. 91% of unhappy customers will never purchase goods or services from you again. If you make an effort to remedy customer complaints, 82% to 95% of them will stay on with you. It costs 5 times as much to attract a NEW customer as it costs to retain an OLD one.
3.1.1 质量和质量管理
质量 产品质量
服务质量
过程质量
工作质量
产品质量
产品质量是指产品能够满足使用要求所具备的特性。一般包 括性能、寿命、可靠性、安全性、经济性以及外观等。 产品质量的概念,在不同历史时期有不同的要求。随着生产 力发展水平不同和由于各种因素的制约,人们对产品质量会 提出不同的要求。