项目经理知识准备 CMM.docx

上传人:b****1 文档编号:10236503 上传时间:2023-05-24 格式:DOCX 页数:13 大小:58.95KB
下载 相关 举报
项目经理知识准备 CMM.docx_第1页
第1页 / 共13页
项目经理知识准备 CMM.docx_第2页
第2页 / 共13页
项目经理知识准备 CMM.docx_第3页
第3页 / 共13页
项目经理知识准备 CMM.docx_第4页
第4页 / 共13页
项目经理知识准备 CMM.docx_第5页
第5页 / 共13页
项目经理知识准备 CMM.docx_第6页
第6页 / 共13页
项目经理知识准备 CMM.docx_第7页
第7页 / 共13页
项目经理知识准备 CMM.docx_第8页
第8页 / 共13页
项目经理知识准备 CMM.docx_第9页
第9页 / 共13页
项目经理知识准备 CMM.docx_第10页
第10页 / 共13页
项目经理知识准备 CMM.docx_第11页
第11页 / 共13页
项目经理知识准备 CMM.docx_第12页
第12页 / 共13页
项目经理知识准备 CMM.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

项目经理知识准备 CMM.docx

《项目经理知识准备 CMM.docx》由会员分享,可在线阅读,更多相关《项目经理知识准备 CMM.docx(13页珍藏版)》请在冰点文库上搜索。

项目经理知识准备 CMM.docx

项目经理知识准备CMM

项目经理知识准备CMM

软件过程(SoftwareProcess):

  过程即人们为实现某一既定目标所执行的一系列步骤(IEEE--STD--610)。

软件过程则可定义为企业设计,研制和维护软件产品及相关资料文档的全部生产活动和工程管理活动。

理解包括SEI在内的美国过程学派的一个核心概念就是--只要过程正确及构成过程的解决方法正确,产品就会正确。

  软件过程能力(SoftwareProcessCapability):

  企业实施软件过程所能实现预期目标的程度。

它可用于预测企业的软件过程水平。

  软件过程行为(SoftwareProcessPerformance):

  企业在项目开发中遵循其软件过程所能得到的实际结果。

  软件过程成熟度(SoftwareProcessMaturity):

  软件过程行为可被定义,预测和控制并被持续性提高的程度。

它主要用来表明不同项目所遵循的软件过程的一致性。

  软件能力成熟度等级(SoftwareCapabilityMaturityIevels):

  企业的软件开发在由低到高成熟化演进过程中所普遍面临的具有一定成熟度标志特征的平台。

  成熟与不成熟(MatureandImmature):

  不成熟的标志有--没有明确的软件过程体系可以依据;无法对生产进行预测;不严格执行生产过程;质量无法保证;无健全的过程控制及质量控制体系;项目开发没有准则可遵循;开发结果主要依据项目小组及个人的带有主观因素的能力发挥。

  成熟的标志有--项目开发是依据企业早已明确的过程准则来实施;开发结果较少依赖个人能力和自然因素;项目由过程控制并可对整个生产作出预测;产品质量得到有效监控(借助客观定量化的数据);过去的开发项目中所获经验得以积累并可系统地用于现行和未来的项目之中。

  配置管理(ConfigurationManagement):

  包括以下管理行为:

对某个配置项的功能和物理特性进行识别和编档;对这些特征的变动进行控制;对变动和事实进行记录、汇报;验证需求计划的实现。

  偏差(Deviation):

  针对开发中的计划、标准、规划等的明显偏离和变动。

  同业复审(PeerReview):

  软件项目开发成员的同行遵循某一规则对项目产品所作的检查,用于发现缺陷所在。

  风险管理(RiskManagement):

  运用风险概率方法分析评估项目开发中设计的各类风险,包括风险识别,风险分析,风险等级排序和风险控制。

  软件工程过程组(SoftwareEngineeringProcessGroup):

  协助开发机构对所采纳的软件过程进行制定、分析、监控和改进的专家组。

它应直接想机构的最高领导层负责。

  软件生命周期(SoftwareLifeCycle):

  指软件开发所涉及的全过程,包括从产品设计到产品终结的整个周期,一般分为概念阶段,需求阶段,设计阶段,实施阶段,测试阶段,安装调试阶段,运行维护阶段,终止阶段。

  软件需求(SoftwareRequirement):

  用户为实现某种目标或解决某种问题要求软件给予满足的条件。

CMM模型是基于多年产品质量研究成果所建立。

美国的WalterShewart于上世纪30年代发表了统计质量控制成果。

在WattsHunaphrey和RonRadice等人的研究成果之上,卡莱基.梅隆大学软件工程研究所将这套质量控制方法改造为能力成熟度框架并标明不同城市度等级,Humphrey并于1987年发表了初步的成熟度提向单。

1990年SEI公布CMM的0.0版。

1991年SEI公布了包含第二级KPA方案的CMM0.4版及包含第三级方案的CMM0.5版,同年,又发布了包含第四级和第五级KPA方案的0.7版。

CMM1.0版于1991年底发布,1993年SEI公布CMM1.1版。

目前通行的版本是1.1版,改进版2.0版原定于1997年完成,但由于CMMI(能力成熟度集成)的开发,2.0版被推迟。

CMMI(CapabilityMaturityModelIntegration)将把各种能力成熟度模型整合到同一架构中去,由此建立起包括软件工程软件采购和系统工程在内的诸模型集成,以解决除软件开发以外的软件系统工程和软件采购工作中的迫切需求。

CMMI框架包括软件能力成熟度模型,系统工程能力成熟度模型,软件采购能力成熟度模型,继承产品和过程开发等。

1995年,个体软件过程(PersonalSoftwareProcess,PSP)又被提出,用于控制和改进个人软件开发方式,PSP是一个过程描述、检测和方法的集合,能够帮助软件工程师改善其个人软件开发性能。

它包括一整套适用于个人软件工作者在实践中应用的表格,脚本和标准,以帮助软件工程师预估和计划其工作减少软件工作缺陷并提高计划和生产效率。

CMM是适用于软件开发组织中的流程管理,而PSP则面向个体开发人员。

本文的探讨仅限于CMM软件能力成熟度模型。

  CMM的出现是为了克服软件生产的危机。

所谓软件生产的危机是指尽管新的软件开发方法和技术不断生产,但软件生产率和质量并未得到有效提高,软件产品不能按时完成,软件生产预算超支,而且交付客户使用的软件产品(特别是大型软件工程)中由于各种原因产生的错误无法克服。

在80年代末期前后,美国国防部门和工业界开始认识到在软件开发中最重要的问题在于软件生产商对软件的生产过程管理不力,也就是说,软件生产过程的成败比新技术和开发方法更能决定一个项目或企业的成败。

没有完善的软件生产过程体系,软件开发的成败只能依靠人为主观或偶然因素--比如某一杰出软件天才或小组的成就--而非可持续的客观标准及体系,因此,对成功的软件过程的重复使用,对以往经验或教训的分析总结,对全部开发案例的系统编档存档就成了一套完整而成熟的软件过程,需要一个从无序到有序,从人为到客观标准,从定性到定量的不断积累与完善的过程,这一过程的演变中软件企业会面临一系列有代表意义的成熟阶段。

美国SEI提出的软件能力的评价与改进指导体系。

软件开发企业可以依据CMM的框架对项目管理和项目工程进行定量控制和能力评估,而软件应用单位也可依据CMM来衡量和预测项目承接方的实际软件生产能力。

这样,软件开发方与产品用户方都基于一个同样的标准来对软件生产和管理作评测与控制。

大体来说,软件开发企业在以CMM为标准改进其生产过程中应采取如下步骤:

  1.领会CMM要领并依据其框架确定企业目前所属的实际能力成熟度级别;

  2.针对欲达到的成熟度级别的核心过程域的要求并参照自身的薄弱环节将重复重点集中在关键目标上改进生产过程;

  3.加强员工培训

  4.有序地建立完善的过程检测体系与软件开发文档体系,保证以往开发经验得到客观化,定量化的分析总结和积累,使成功的开发模式可以得到规模化的拷贝。

  随着企业CMM成熟度等级的提高,项目开发中的风险可以得到逐步减低,开发时间也大大缩短,开发成本得以减少并大大降低软件产品中的错误发生率。

CMM不仅可以提高企业在国际市场上的软件出口竞争力,也可提高企业自身的软件管理与开发水平,有助于客户对企业生产能力树立信心。

目前,欧美等国的大型软件用户与软件供应商共同采纳CMM作为供需双方软件产品质量及工程预算的标准。

印度软件企业更是对CMM全力投入,每年定期进行CMM培训,目前全球通过CMM四级与五级的软件企业中,印度占半数以上,印度企业的软件产品出口总值也从10年前的五千万美圆增长到五十亿美元,并预计于2008年达到五百亿美元。

印度约有1000家软件企业,34万从业人员,《财富》杂志全球500强企业中近半数为印度软件企业的客户。

到1999年止,全球范围内共进行了1330次CMM评测,总计评测项目有5452项,参加评测的机构逐年攀升,其中有7.2%是海外项目,参加国别有34个,参加机构类型,商业机构占56.1%,美国国防部供应商占29.8%,军方和政府机构占10.5%。

其中,初始级机构占总评估数的43.2%,可重复级占34.2%,定义级占17.3%,管理级占4%,优化级占1.4%。

第二级(可重复级)比例最高的为25人到100人的机构,第三级(定义级)所占比例最高的为1000到2000人的企业,第五级(优化级)所占比例最高的为2000人以上的企业。

由此可见,通过CMM第二级的最佳规模为25人到100人。

 软件生产过程理论告诉我们,软件质量往往取决于软件过程的能力水平,企业在软件过程中所采用的各种技术应适合该过程的成熟度水平。

软件过程是一个可度量的,可控制的,不断改进的流程。

CMM强调企业应对软件过程进行连续的改进,在这一改进过程中,分级结构将提供不同等级中的目标和核心领域来规范这一过程并为企业评论和改进自身生产能力提供客观标准。

  CMM成熟程度理论不可以被看作纯粹的关于软件生产技术的标准,也不可以被看作普通的管理理论,它实际上是对软件开发实践所设计的整个工程流程的规定和分析,它的体系既包括软件工程过程本身,也包括对这一过程的管理。

  CMM为企业软件能力提供了一个阶段式的五级进程。

任何开始采纳CMM体系的机构都一并归与第一级的起点,即初始级(Initiallevel)除第一节外,每一级都设定了各自的目标组。

如果达到了这一目标,则可向下一级推进,由于每一个级别都必须建立在实现了低于它的全部级别的基础之上,CMM等级的提高只能是一个渐进有序的过程。

  CMM的评估包括五个等级,共计18个核心过程域,52个目标,300多个核心实践,每一级别的评估由美国卡莱基*梅隆大学软件工程研究所授权的主评估师领导的评估小组进行。

其成员来自企业内部,评估过程包括企业员工培训,问卷填写,文档与数据分析,相关项目组成员面试,拟定评估报告。

评估结束由主评估师签订生效。

  CMM五级标准按由低到高的成熟度分别为:

   第一级初始级(Initiallevel)

   第二级可重复级(Repeatablelevel)

   第三级定义级(Definedlevel)

   第四级管理级(Managedlevel)

   第五级优化级(Optimizinglevel)

  1.初始级

  此级是个人英雄主义的天下,绝无可重复性,也无甚积累,项目的执行是随意甚至混乱的,软件开发过程未经定义,即使有某些规范也并未严格执行,企业不具备稳定的软件开发与维护环境,面对开发中所遇的各类具体实施问题往往选择放弃原定计划仍由编程人员凭个人经验与主观感觉应对,对客户的承诺多数无法兑现,许诺客户的产品与服务质量并无客观的预测与监控体系保证实现。

在此,能力只是个人行为不是组织行为,一旦人员流动或变动,整个企业的开发能力也随之而去。

整个企业没有稳定的过程规则可依据。

现有的种种规章制度也互不协调或矛盾。

开发人员的工作方式是救火式,那里有漏洞就往哪里填补,很少收集关于开发过程的数据,新技术的引进也要冒极大风险。

总之,整个企业的软件生产是不可重复,不可预见,不成体系,不可积累及不稳定的。

  本阶段改进重点包括:

建立软件项目开发过程并进行有效管理;建立需求管理,明确客户要求;建立各类项目计划;建立完善的文档体系,严格执行质量监控;按CMM二级所规定的各项核心实践进行开发。

  2.可重复级

  确定了基本的软件生产管理和控制,能针对特定软件项目制定开发过程及管理措施,能将以往项目开发经验用于类似的新项目,有一套不同的软件生产过程提供不同项目选择。

软件生产成本和工期能得以客观预测并被有效追踪,过程标准在项目实施中能保证被遵循。

项目的开发是有计划的,有控制的,并可重复的行为,总原则是:

一个可管理的过程是一个可重复的过程并能逐渐改进和成熟。

  第二级的管理过程包括需求管理,项目计划,项目追踪和监控,子合同管理,质量保证与配置管理等六个方面。

在该级的企业可以给客户较有保证的承诺,因为企业可在以往同类项目的成功经验上总结和建立起一整套过程准则来保证成功地重复。

项目管理采用基准(Baseline)来标识进展并对成本和进度进行追踪,企业通过子合同管理同客户建立了有效的供求关系,面对开发缺陷有规则可以依据来纠正错误,个人英雄行为被稀释并分解到企业整体的规则和管理框架之中,文档的准备和项目数据的收集也相应完备。

  本阶段改进重点包括:

将各项目的过程经验总结为整个企业的标准过程,是整个企业的过程能力得以提高,注意,跨项目间的过程管理协调和支持,树立齐全组织的过程标准概念,建立软件工程过程小组(SEPG),对各项目的过程和质量进行评估和监控,使软件过程得以正确地调整。

建立软件工程数据库和文档库,加强培训。

  3.定义级

  过程在整个企业范围内得以确立。

企业制定了一套软件过程规则对所有软件工程和管理行为给与指导。

企业有了标准化的过程并可在所开发的项目中,依据具体项目的需要,将标准过程调整为合适的项目过程。

企业内部设置了软件工程小组(SEPG)负责过程的制定,修改,调整和监督。

这一小组直接向企业最高领导层汇报。

企业还有培训机构专门对全企业员工进行过程培训。

各项目组的开发经验可相互借鉴并支持,对项目成本,工期及质量均可最终控制。

有关软件工程及管理工程的过程文件被编制并成为企业标准,所有项目都必须按照这些标准过程或经调整后的项目过程来实施,从而保障了每一次工程开发的投入和时间,项目计划,产品功能及软件质量得以控制。

软件过程在此得到的稳定的,重复的和持续性的应用,使开发风险大为下降。

各项目组人员参与软件过程的制定和修改,并引进符合项目过程的新的软件开发技术,在各项目开发过程中收集的数据被系统共享。

总而言之,第三级的主要特点在于软件过程已被编制为各个标准化过程,并在企业范围内执行,从而使软件生产和管理更具可重复性,可控制性,稳定性和持续性。

  本阶段改进重点:

应准备对整个软件过程,包括生产和管理两方面的定量评测分析,以便尽可能将软件工程所涉及的定性因素转变为定量标准,从而对软件进行定量控制和预测。

应使整个企业的软件能力在定量基础上可预测和控制。

  4.管理级

  第四级的过程是量化的过程,所有项目和产品的质量都有明确的定量化衡量标准,软件也被置于这样一个度量体系中进行分析、比较和监控,所有定量指标都被尽可能地详细采集并描述,使之可具体用于软件产品的控制之中,软件开发真正成为一种工业化生产行为,由专门的软件过程数据库收集和分析软件过程中的各类数据并以此为对软件活动的质量评估的基准。

企业所有项目的生产过程在定量化的基础上大大提高了可控制性和可预测性,生产过程中可能面对的偏差被控制在一定的量化范围内并被分析和解决,新技术的采纳也在量化基础上有控制的地进行,从而控制了风险。

在此级中,所有的软件过程和产品都树立了定量的目标并被定量的管理,使软件组织的能力可以很好地预测。

此阶段中所有定量标准都是明确定义并持续一致的,可以用于对软件过程和管理的评估与调节。

所有修正和调节方法(包括对偏差及缺陷的校正分析)都是基于变化指标上,新的软件开发技术也在定量的基础上被评估。

项目组成员对整个过程及其管理体系有高度一致的理解并已学会运用数据库等方法定量地看待和理解软件工程。

本级主要特点是定量化,可预测化和高质量。

  本阶段改进重点:

注意采取必要措施与方案减少项目缺陷,尽量建立起缺陷防范的有效机制,引进技术变动管理以发挥新技术的功用,引进自动化工具以减少软件工程中人为误差,实行过程管理,不断改进已有的过程体系。

  5.优化级

  第五级的软件过程应是持续改进的过程,并且有一整套有效机制确保软件工程误差接近最小或零。

每一个过程在具体项目的运用中,可根据周边和反馈信息来判断下一步实施所需的最佳过程,以持续改善过程使之最优化。

因此,企业能不断调整软件生产过程,按优化方案改进并执行所需过程。

这样,企业的精力集中于持续的过程改进之中。

新技术的采用也被作为日常活动加以规划,各项目组已具备尽早和尽快识别工程缺陷并改正错误的手段。

这需要完善的数据库和长期积累的量化指标来协助实现,新技术和自动化工具也使软件工程人员能够预防软件缺陷并找到其根源以防止错误再现,企业资源在第五级阶段被有效利用并节约。

一般来讲,企业在优化级所遵循的持续改进措施既包括对已有过程的渐进改善,也包括应用新技术和工具所产生的革新式改进,整个企业的过程定义、分析、校正和处理能力也大大加强,这些都需建立在第四级的定量化标准之上。

项目组都能主动找到产生软件问题的根源,也能对导致人力和时间浪费等低效率因素进行改进,防止浪费再发生。

整个机构都有强烈的团队意识,每个人都致力于过程改进、缺陷防范和高品质的追求。

本阶段总的特点是新技术的采用和过程的不断改进被作为企业的常规工作,以实现缺陷防范的目标。

  CMM描述的五个等级的软件过程反映了从混乱无序的软件生产到有纪律的开发过程,再到标准化、可管理和不断完善的开发过程的阶梯式结构。

任何一个软件机构的项目生产都可以纳入其中,除第一级初始级外,每一级成熟度都由若干核心过程域构成,这些核心过程域分别针对软件开发过程的某一方面阐述了这一等级的软件过程在此方面应达到的目标组的核心实践。

所有核心实践又可划分为五种共性:

完成目标组所需的承诺、执行能力、执行活动、测量分析、实验验证。

当然,任何一个级别的核心过程域都不仅包括本级所有的核心实践。

例如,第四级管理级的实现必须完成第四级本身具备的两个核心过程以及第三级中的七个核心过程域和第二级中的六个核心过程域,共十五个核心过程域。

  核心过程域又称关键过程域(KeyProcessArea,KPA),每一个KPA都与一些目标相关,代表某种对过程的要求,我们可根据KPA对软件过程进行评估并找到改进的重点所在。

可见,除第一级KPA外,CMM的每一级都按相同结构组成,KPA不仅标明了某级成熟度所要求的目标和评估标准,也说明了要达到此级成熟标准所需解决的具体要点。

实施每个核心过程域所包含的核心实践(KeyPractices),就是实现此核心过程域所制定的目标并提高软件过程能力。

如前所述,各个核心过程域中的核心实践都可按公共属性进行分类,每个KPA都包括五类核心实践。

应该指出,核心实践只是规定了软件过程必须达到什么样的标准而未规定这些标准应如何实现,因此,对同样的过程水平,不同企业,不同项目可采纳不同的过程和实施方式去完成。

下面,我们将就五类不同的核心实践给予具体说明:

  1.执行保证(Commitmenttoperform):

为完成核心过程域中的目标组成所需的承诺又称执行保证,它是企业执行特定的核心过程域(KPA)所拟定的指导开发过程的规则和项目管理责任。

  2.执行能力(Abilitytoperform):

指企业执行核心过程域的前提条件,包括企业资源、过程制定、人员培训等多种措施。

对PKA的执行必须建立在此基础之上,才可保证所规划的目标得以实现。

  3.执行能力(Activitiesperformed):

它说明了执行核心过程域所需采纳的必要行动和步骤,与项目执行息息相关,包括计划、跟踪、检测等,这是核心实践的五种归类中与项目执行唯一相关的属性,其余四个属性都关注于软件组织的基础能力建设。

  4.测量分析(MeasurementandAnalysis):

是关于过程的定量度测和度测分析,以确定所执行活动的效果并根据此作出分析判断。

  5.实施验证(VerifyImplementation):

在过程执行的中途及末尾对过程实施进行验证以确保执行活动与制定的过程相一致。

它包括检测、复审等一系列质量保证活动,这些质量保证活动需要通过项目组以外的独立的质检人员和管理人员来保证验证的有效执行,从而确保产品符合计划要求。

如果我们把执行活动看作是与项目执行相关的属性,则其他所有属性可一起视为企业成熟度能力基础建设。

  在实施CMM过程中,可根据各个企业面临的不同问题决定实现核心过程域的先后秩序并按此秩序逐步进行。

而在实施每一个具体的核心过程域时,对其目标组及核心实践也可确定执行的先后顺序,逐步实现总体目标。

最后,我们将第二、三、四、五等等级始终的核心过程域简介如下:

  第二级(可重复级)

  

 需求管理(RequirementManagement)-软件项目的开发必须以客户的需求为指向,需求管理目的在于使开发商和客户对客户本身的真实需求有统一认识。

  

 软件项目计划(SoftwareProjectPlanning)-软件项目管理必须事先拟订合乎规范的开发计划及其他相关计划,例如,检测与追踪计划。

  

 软件项目追踪和监控(SoftwareProjectTrackingandOversight)-防范项目实施过程中所产生的计划偏离问题,使项目组对软件项目的进展充分了解并控制。

  

 软件与合同管理(SoftwareSubcontractManagement)-建立规范化的软件分包管理制度以保证软件质量的一致性。

  

 软件质量保证(SoftwareQualityAssurance)-通过对软件开发过程的监控和评测保证软件质量。

  

 软件配置管理(SoftwareConfigurationManagement)-保证在软件项目开发生命周期的完整性。

  第三级(定义级)

  

 企业过程焦点(OrganizationProcessFocus)-在整个企业范围内树立标准的过程并将其列为企业工作重点。

  

 企业过程制定(OrganizationProcessDefinition)-对企业过程进行确立。

  

 培训计划(TrainingProgram)-对项目组员工进行必要的过程培训。

  

 集成软件管理(IntegratedSoftwareManagement)-调整企业的标准软件过程并将软件工程和管理集成为一个确定的项目过程。

  

 软件产品工程(SoftwareProductEngineering)-关于软件项目的技术层面的目标在此确立,如设计、编码、测试和校正。

  

 组际协调(IntergroupCoordination)-促进各项目组之间的借鉴与支持在全企业范围内实现。

  

 同业复查(PeerReviews)-促进各项目组成员之间运用排查、审阅和检测等手段找到并排除产品中的缺陷。

  第四级(管理级)

  

 定量过程管理(QuantitativeProcessManagement)-对软件过程的各个元素进行定量化描述和分析并收集量化数据协调管理。

  

 软件质量管理(SoftwareQualityManagement)-通过定量手段追踪并掌握软件产品质量使其达到预定标准。

  第五级(优化级)

  

 缺陷预防(DefectPrevention)-通过有效机制识别软件缺陷并分析缺陷来源从而防止错误再现,减少软件错误发生率。

  

 技术变动管理(TechnologyChangeManagement)-引入新工具和技术并将其融入企业软件过程之中,以促进生产工效和质量。

  

 过程变动管理(ProcessChangeManagement)-在定量管理基础上坚持全企业范围的,持续性的软件过程改进,提高生产率,减少投入和开发时间,保证企业的过程长期处于不断更新和主动调节之中。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 表格类模板

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2