CMMI和集成化软件研发管理(txt+pdf+epub+mobi电子书下载)


发布时间:2020-10-09 00:23:08

点击下载

作者:林锐

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

CMMI和集成化软件研发管理

CMMI和集成化软件研发管理试读:

前言

从2000年开始,我在上海贝尔有限公司带领小组从事软件工程、项目管理、CMMI和企业研发管理领域的研究。2003年1月我们出版了国内第一部CMMI应用著作《CMMI 3级软件过程改进与规范》,国内很多IT公司引用了我们的研究成果:基于CMMI的精简并行过程SPP及其模板。2004年初我创办了上海漫索计算机科技有限公司,公司的目标是不断创作适合国内IT企业需求的研发管理方法论和软件工具,为客户提供经济实效的研发管理整体解决方案。公司的核心知识财富是自主研发的:(1)基于CMMI的集成化软件研发流程IDP;(2)集成化研发管理平台RDMS。目前IDP和RDMS都已经成功商业化,销售额超过500万元,经受了许多企业用户的应用考验。CMMI是世界范围内用于衡量软件过程能力的标准,如何将CMMI合适地应用于企业,有效地提高企业的研发和管理能力,这是IT行业非常关注的课题。我的前期著作《CMMI 3级软件过程改进与规范》已经在2004年售完,最近几年我们积累了更多有价值的成果,我和合作伙伴决定出版新著《CMMI和集成化软件研发管理》。本书主要内容:● 第1章和第2章由彭国明执笔,综合介绍了CMM和CMMI,并简化翻译了CMMI1.2 (最新版本)22个过程域的特定目标和特定实践。● 第3章至第8章由林锐执笔,详细论述了“基于CMMI的集成化软件研发流程IDP5.0”。IDP对CMMI 3级进行了精简和扩充,集成了“营销过程、项目管理过程、项目开发过程、支持过程”。● 第9章由林锐执笔,介绍了和IDP配套的集成化研发管理平台RDMS5.0。读者将有如下收益:● 可以快速了解“CMMI是什么”。● 结合CMMI和IDP研制适合于本企业的流程规范。● 应用RDMS来管理本企业的研发项目。读者可以从上海漫索计算机科技有限公司网站http://www.mansuo.com 下载最新的IDP文档和RDMS软件。感谢电子工业出版社出版了我们的九部著作:● 《CMMI和集成化软件研发管理》(2007年)● 《IT企业研发管理:问题、方法和工具》(2007年)● 《IT企业项目管理:问题、方法和工具》(2006年)● 《深入浅出Hibernate》(2005年)● 《Web软件用户界面设计指南》(2005年)● 《面向企业的软件研发管理解决方案:方法与工具》(2004年)● 《软件工程与项目管理解析》(2003年)● 《CMMI3级软件过程改进方法与规范》(2003年)● 《高质量程序设计指南——C++/C语言》(2002年)感谢电子工业出版社博文视点团队为我们的著作顺利出版所做的一切努力。我们将持久合作,不断推出适合于中国IT企业需求的计算机相关著作。林锐linrui@mansuo.com上海漫索计算机科技有限公司http://www.mansuo.com2007年11月

第1章 CMMI综述

1.1 CMMI简介

1.1.1 CMMI发展简史1981年,美国卡内基梅隆大学软件工程研究所(SEI),应美国联邦政府的要求开发了一种用于评价软件承包商能力并帮助其改善质量的方法。Watts Humphrey将成熟框架带到了SEI并增加了成熟度等级的概念,将这些原理应用于软件开发,发展成为软件过程成熟度框架,它提供了一个评估软件开发过程的管理及工程能力的标准。1987年,基于Watts Humphery 等人的工作,SEI的Mark Pauk 等人建立了第一个CMM(Capability Maturity Model,能力成熟度模型),即CMM软件。1993年,SEI推出了CMM 1.1。十几年来CMM的改进工作一直不断地进行,相继有多个学科领域的CMM模型问世:SE-CMM、SW-CMM和IPD-CMM等。美国国防采购与技术办公室领导了一个由政府、企业和SEI的代表组成的团队开始开发一个CMM模型的集成框架,即CMMI(Capability Maturity Model Integration,能力成熟度模型集成)。CMMI的基础源模型包括:软件CMM 2.0版本,EIA-731系统工程,以及IPD CMM(IPD)0.98a版本。2002年1月CMMI 1.1版本正式发布,立即被广泛采用。图1-1 CMMI 1.2的三种模型2006年8月,面向开发的CMMI(CMMI-DEV 1.2)版本正式发布。为了适应更加广泛的应用, SEI计划今后发布另外两种模型,分别是面向服务的CMMI(CMMI-SVC 1.2)和面向采购的CMMI (CMMI-ACQ 1.2)。1.1.2 CMMI的过程域过程域(Process Area)是同属于某个领域而彼此相关的实践集合,当这些实践共同执行时,可以达到该领域过程改进的目的。CMMI-DEV 1.2有22个过程域,见表1-1(按字母顺序排序)。表1-1 CMMI-DEV 1.2的22个过程域1.1.3 CMMI的两种表示法CMMI有两种表示法:一种是阶段式表示法,另一种是连续式表示法。阶段式表示法把过程域分成5个成熟度等级,指出达到每一成熟度等级必须实施哪些过程域。成熟度等级提供一个阶段式过程改进的建议顺序,如图1-2所示。一个成熟度等级包括多个过程域,每个过程域包含共性目标和特定目标,以及共性实践和特定实践。图1-2 CMMI的阶段式表示法连续式表示法(如图1-3所示)则将过程域分为4大类型:过程管理过程、项目管理过程、工程过程及支持过程。每类过程中的过程域又进一步分为“基础的”和“高级的”。在按照连续式表示方法实施CMMI的时候,一个组织可以把项目管理或者其他某类的实践一直做到最好,而其他方面的过程区域可以不必考虑。图1-3 CMMI的连续式表示法

1.2 CMMI阶段式表示法

成熟度等级是一组经过定义的渐进式过程改进指标,达到每个成熟度等级,则代表组织过程的某重要部分有了稳固的基础。CMMI的阶段式表示法将成熟度划分为5个等级。除了初始级以外,每个成熟度等级都有若干个过程域,如表1-2所示。由于成熟度等级是循序渐进的,如果想达到某个成熟度等级,例如CMMI 3级,除了满足CMMI 3级本身11个过程域之外,还要满足CMMI 2级的7个过程域,依此类推。表1-2 CMMI阶段表示法:成熟度等级和过程域的关系表1.2.1 成熟度等级L1:初始级的特征在成熟度第1级中,过程通常是混乱的,而且组织通常没有提供稳定的开发环境。这些组织的成功,往往依赖组织中个人的能力与拼搏精神,而不是使用一套经过验证的过程。处于成熟度第1级的组织在这种混乱的环境中也能开发出可以工作的产品和服务,但是往往伴随着项目费用的超支和进度的拖延。1.2.2 成熟度等级L2:已管理级的特征在成熟度第2级中,组织已达到成熟度第2级所有过程域的特定目标和共性目标。换言之,组织的项目已确保需求是被管理的,而且其过程是经过计划、执行、度量及控制的。在成熟度第2级,需求、过程、工作成果及服务是受管理的。在预定的时间节点(例如重要里程碑和重要任务的完成时刻),管理层都可以了解工作成果的情况。1.2.3 成熟度等级L3:已定义级的特征在成熟度第3级中,组织已达到成熟度第2级和第3级的所有过程域的特定目标和共性目标,工作过程都已详尽地说明,并应用标准、规程、工具及方法来表现。组织的标准过程(Organization’s set of standard process)是成熟度第3级的基础。项目可对组织的标准过程进行裁剪,以建立项目过程。成熟度第2级与第3级的主要区别在于标准、过程说明及规程的范围不同。在成熟度第2级中,某过程在不同案例间的标准、过程说明及规程可能有相当的差异。在成熟度第3级中,项目的标准、过程说明及规程都是从组织的标准过程裁剪而来的,以适用于某些特殊项目或单位。组织的标准过程包括了成熟度第2级和第3级的过程,因此除了裁剪指南所允许的差异之外,整个组织所执行的过程都是一致的。另一个主要的区别是,成熟度第3级的过程说明比第2级更加详细与严谨,基于对过程活动的了解,以及对过程、产品与服务的详细度量,可更主动地管理过程。1.2.4 成熟度等级L4:量化管理级的特征在成熟度第4级中,组织已达到成熟度第2级、第3级和第4级的所有过程域的特定目标和共性目标。选定对整体过程绩效有重大影响的子过程,并使用统计和其他的量化技术来控制这些子过程。建立质量与过程绩效的量化目标,并以该目标为管理过程的准则。量化目标是根据客户、最终用户、组织及过程执行者的需求而设定。以统计的术语表示质量和过程绩效,并使它们在整个过程中受到管理。针对这些过程,收集过程绩效的详细度量资料,并进行统计分析。界定过程变化的特殊原因,并适当地修正特殊原因的来源,以避免未来再度发生。将质量和过程绩效的度量结果纳入到组织的度量库(organization’s measurement repository),以支持未来以事实为基础的决策。成熟度第3级与第4级的主要区别在于过程绩效的可预测能力不同。在成熟度第4级中,过程绩效是由统计和其他的量化技术所控制,并且可以用量化方式预测。但在成熟度第3级中,仅能说在质量上是可预测的。1.2.5 成熟度等级L5:持续优化级的特征在成熟度第5级中,组织已达到成熟度第2级、第3级、第4级和第5级的所有过程域的特定目标和共性目标。根据对过程变化共性原因的量化了解,持续进行过程改进。经由渐进式的和革新式的技术改进,成熟度第5级专注于持续改进过程绩效,已经建立组织的量化过程改进目标,并持续修订以反映持续变化的经营目标。量化的过程改进目标也当作管理过程改进的准则,用以度量、评估已进行的过程改进效果。已定义过程和组织标准过程都是这些可度量改进活动的对象。通过查找问题加快共享经验教训,可以增强组织对变化和机会的快速反应能力。过程改进是每个人的责任,它也使得过程改进不断得到循环。在成熟度第5级中,过程改进解决过程变化的共性原因,以及界定、评估和执行可度量的组织过程改进。改进方案的选择,以下列二者的量化了解为基础:(1)过程改进方案对组织过程改进目标的预期贡献;(2)执行时的成本和对组织的影响。成熟度第4级与第5级的主要区别在于所要克服的过程变化类型不同。在成熟度第4级中,过程专注于克服特殊原因的过程变化,并提出统计上的可预测结果。虽然过程可能会产生预期的结果,但该结果不足以达到预期的目标。在成熟度第5级,过程专注于克服过程变化的共性原因,并改变过程(也就是改变过程绩效的平均值)以改善过程绩效(同时维持统计上的可预测性),以便达到预期过程改进的量化目标。

1.3 CMMI连续式表示法

能力等级(Capability Level)表示一个组织在实施和控制其过程及改善其过程绩效等方面所具备的能力。一个过程能力等级由若干与这个过程的相关的特定实践和共性实践所构成。这些特定实践和共性实践如果得以执行,则将使该组织的这个过程的执行能力得到提高,进而增强该组织的总体过程能力。过程能力等级模型中的能力等级的着眼点在于使组织走向成熟,以便增加实施和控制过程的能力并且改善过程本身的绩效。这些能力等级有助于组织在过程改进各个相关过程时追踪、评价和验证各项改进进程。连续式表示法中,每个过程域的能力等级划分为0~5级(共6级),从0~5编号,它们是:0-不完整级;1-已执行级;2-已管理级;3-已定义级;4-量化管理级;5-持续优化级。CMMI模型的连续式表示,按照过程域之间的关系分成4个类型:过程管理过程、项目管理过程、工程过程和支持过程,如表1-3所示。表1-3 CMMI连续表示法:过程域分类1.3.1 能力等级0:不完整级的特征不完整级也称为未执行级。它的过程是一个未执行或仅仅部分执行的过程。该过程的一个或多个特定目标未被满足。1.3.2 能力等级1:已执行级的特征已执行级的过程是一个满足过程域各个特定目标的过程:为了实现可识别的输入工作成果产生可识别的输出工作成果,需要做相应的工作,处于这个级别的过程,能支持这类工作并且使其能执行。不完整级与已执行级过程之间的主要区别在于,已执行级过程满足相应的过程域的所有特定目标。1.3.3 能力等级2:已管理级的特征已管理级过程是一个具有以下特征的已执行级过程:它是按照预定方针予以策划和执行的;为了生成受控的输出,过程的执行都配备有适当的资源、有熟练技能的人;各相关干系人介入了该过程;并且依据各项要求进行了审查和评价。该过程可能由某个项目、项目组或职能部门予以制度化了,或者可能成为了组织的一个独立过程。该过程的管理牵涉到过程的制度化(作为已管理级过程加以制度化),牵涉到针对该过程各种具体目标(如成本、进度和质量目标)的实现。已管理级过程与已执行级过程之间的主要区别在于,过程受到管理的程度不同。已管理级过程是有计划的。当实际结果和性能明显偏离该计划时,会采取纠正措施。已管理级过程要实现该计划的各项具体目标并且被制度化,以保证绩效的一致性。过程制度化还意味着,该过程的实施广度和深度及维持时间是适当的,能够确保该过程成为开展工作中的一个坚实的组成部分。该过程的具体目标可能是这个过程特有的目标,也可能是某个更高层次上规定的目标(就一组过程而言),在后一种情况下,各个过程将共同为这些目标的实现做贡献。作为对该过程采取的纠正措施的一部分,这些具体目标可能会被修改。1.3.4 能力等级3:已定义级的特征已定义级过程是这样一种受管理的过程:它是根据本组织的剪裁指南从本组织的标准过程集合剪裁而得来;它具有受到维护的过程描述;并且它能为本组织的过程财富(资源)贡献工作成果、度量项目及其他过程改进信息。已定义级过程和已管理级过程之间的主要区别在于标准、过程描述和规程的应用范围不同。就已管理级过程而言,标准、过程描述和规程只在该过程的某个特例中使用(在某个特定项目上使用)。就已定义级过程而言,因为标准、过程描述和规程是从本组织的标准过程集合剪裁而来并且与组织的过程财富相关。所以,在整个组织里执行的各个已定义过程就比较一致。与已管理级过程的另外一个重要区别是,已定义级过程的描述比较详细,执行比较严格。对过程各项活动的深入了解及对过程的工作产品所提供的服务的详细度量,是对已定义过程进行管理的基础。组织的标准过程集合是已定义过程的基础,它是在长期实践中建立起来并且不断改进的。这些标准过程描述的基本过程元素可望纳入已定义过程中。标准过程还描述基本元素之间的关系。为支持本组织现在和将来使用的标准过程集合,而在组织一级进行的制度化也是在长期实践中实现和不断改进的。1.3.5 能力等级4:量化管理级的特征量化管理级过程是利用统计和其他量化技术进行控制的已定义级过程。按照管理该过程的准则来建立和利用质量和过程绩效的定量目标。从统计意义上反映质量和绩效目标,并且在整个过程周期里管理这些质量和过程目标。组织的标准过程以及客户、最终用户、组织和过程实施人员的需要等是量化目标的基础。执行该过程的人直接参与对该过程的量化管理。对生成工作成果或提供服务的整个过程集合实施量化管理:对那些在总的过程性能上起重大作用的过程实施量化管理;针对选定的过程绩效详细度量并进行量化分析,确定过程变化的特殊原因,并且在适当时候对特殊原因的根源进行处理,以避免将来再次发生。量化管理级过程和已定义级过程的一个主要区别是过程绩效的可预测性不同。量化管理意味着使用统计技术或其他量化技术来管理某过程的一个或几个关键子过程,从而做到可以预测该过程未来的绩效。1.3.6 能力等级5:持续优化级的特征持续优化级过程是一个可以通过调整使之满足当前的和预定业务目标的量化管理级过程。持续优化级过程侧重于通过渐进式的和革新式的技术不断改进过程绩效。凡是涉及处理过程变化的共性原因和对组织的过程进行可度量改进的各个过程改进项都得到标识和评价,并且在适当时予以推广实施。对改进项作出选择的基础是:量化地了解它们在实现组织过程改进目标中的预期贡献、成本和对组织的影响。处于持续优化级的过程其绩效将不断得到改善。所选定的对过程的渐进式的和革新式的技术改进,系统地进行组织推广实施,对照量化的过程改进目标、测量和评价已推广实施过程的改进效果。持续优化级过程与量化管理级过程之间的一个主要区别在于,持续优化级过程是通过处理过程变化的共性原因而不断地进行改进。量化管理级过程关心的是处理过程变化的特殊原因和提供对过程结果的统计意义上的可预计性。尽管量化管理级过程可以产生可预计的结果,但这种结果可能与规定的目标有差距。持续优化级过程关心的是处理过程变化的共性原因,并且调整过程以改善过程绩效,从而实现规定过程量化目标。过程变化的共性原因是过程内在的并且影响该过程的总体性能的原因。

1.4 过程域的部件及解释

CMMI过程域的部件划分3类:必要的(required)、期望的(expected)和信息的(informative),如图1-4所示。图1-4 过程域的部件1.4.1 必需部件必需部件描述组织达到某个过程域必须满足的部分,这种满足在组织过程中的实现是可视的。CMMI的必需部件是特定目标(Specific Goals)和共性目标(Generic Goals)。这些目标在评估中作为判断一个过程域达到和满意的基本原则。特定目标只适用于一个过程,它描述过程特性具有唯一性,即只有该过程必须实现的那些特性。特定目标是必需的部件,在评估时用来衡量该过程域是否满足要求。例如:配置管理过程域的一个特定目标是“创建和维护基线的完整性”。共性目标称为“共性”是因为同一目标的陈述对应了多个过程域。共性目标描述组织制度化实施的特征。1.4.2 期望部件期望部件说明组织要达到某个目标的一般性做法。期望部件指导那些实施过程改进或执行评估的人用于判断过程域是否达到目标。CMMI的期望部件是特定实践(Specific Practices)和共性实践(Generic Practices)。特定实践表明一组活动,这组活动被期望可达成某过程域的特定目标。例如:项目监控过程域的一个特定实践是“对项目计划中的承诺进行监督”。共性实践称为“共性”是因为同一实践的陈述对应了多个过程域。共性实践说明一组活动,这组活动被期望可达成给定的共性目标。1.4.3 信息部件信息部件是对如何达到必需部件和期望部件的更加详细的描述。以下是CMMI的一些信息部件。目的(Purpose)描述了过程域的目的。例如:组织过程定义过程域的目的是“建立和维护可用的过程财富和工作环境标准”。介绍性说明(Introductory Notes)应用于整个过程域的多个介绍性注释,描述了过程域覆盖的主要范围。例如:项目规划过程域的介绍性说明是“规划开始于产品和项目已定义的需求”。相关过程域(Related Process Areas)列出了相关过程域信息,反映了过程域间更高层次的关系。例如:项目规划过程域中一个相关过程域的例子是“识别和管理风险的更多信息,请参考风险管理过程域”。典型工作成果(Typical Work Products)。当执行一个实践时,通常会以工作成果的形式产生输出。例如:项目监控过程域的特定实践“依据项目计划中的参数监督项目实际数据”中一个典型工作成果是“明显偏离的记录”。子实践(Subpractices)提供了详细的说明,用于实施某个特定实践或共性实践。例如:在项目监控过程域中特定实践“对确定的问题采取纠正措施”的一个子实践是“为处理所识别的问题而采取措施,并形成文件”。共性实践详细说明(Generic Practice Elaborations)出现在一个过程域的共性实践后面,它为一个共性实践如何适用于特定的过程域提供指南。注释(Notes)是伴随任何一个模型部件的文字,它提供详细背景和基本原理资料,起到注释作用。例子(Examples)。几乎在任何一个部件旁边都提供一个或多个例子用于阐明概念或描述活动。扩充(Amplifications)是一个特定学科的注释或例子。模型中覆盖的学科是硬件工程、系统工程和软件工程。每一个扩充都在标题上进行了标示,用于说明应用的学科。

1.5 CMMI评估

CMMI评估是用于评价组织过程改进的现状。由于CMMI采用了两种不同的表示法,所以产生了两种不同类型的评估,一是关于具体的过程能力等级的评估;二是组织整体成熟度水平的评估。通过评估分别产生能力等级剖面图或成熟度等级。目前,CMMI的成熟度等级评估在业界应用最广泛(继承了CMM的成熟度等级评估概念)。1.5.1 CMMI评估要求组织使用CMMI模型评估时,需要符合CMMI评估要求(Appraisal Requirements for CMMI, ARC)文件中的要求。评估关注识别过程改进机会,将组织过程与CMMI最佳实践对比。评估小组使用CMMI模型并遵循ARC评估方法来指导评估和报告结果。这些评估结果被用于策划组织过程改进,产生成熟度等级或能力等级,缓解产品采购、开发和监控的风险。ARC文件描述了几种类型评估的要求,分别是A类、B类和C类,见表1-4。表1-4 评估类型的对比1.5.2 CMMI标准评估方法SCAMPI使用CMMI模型评估时,通常采用“标准CMMI评估方法”(Standard CMMI Appraisal Method for Process Improvement,SCAMPI)。SCAMPI定义了一些规则,确保评估定级的一致性。对于与其他企业实现标杆性对比的评估,评估定级必须确保一致性。SCAMPI评估方法家族中包括了A级、B级和C级的评估方法。SCAMPI-A是最严格的和唯一能评定等级的评估方法。SCAMPI-B提供了可选部分,但实践描述是一个固定比例的范围和这些实践得到实施。SCAMPI-C提供了更广泛的选择范围,使用者可以预先定义好评估的范围,在进行过程描述时也是采用一种非常接近的方式。1.5.3 CMMI评估考虑事项影响CMMI评估的要素如下:● 选用CMMI哪个模型用于评估(CMMI或CMMI+IPPD)。● 确定组织涉及的评估范围和被评估的CMMI过程域,确定评价的是成熟度等级还是能力等级。● 选择一种评估方法。● 选择评估小组成员。● 选择被访谈者。● 建立评估的输出文件(例如:等级或特定实践的发现报告)。● 建立评估的约束条件(例如:时间和地点)。SCAMPI允许预先确定评估范围,这些评估选择是帮助组织商业需求和目标与CMMI进行关联。CMMI评估计划和结果的文档中,通常包括了评估选项描述、模型范围和实施评估的组织范围。CMMI评估计划和结果的文档确定了是否满足标杆的要求。CMMI的评估原则:● 高层领导作为评估的发起人。● 关注组织商业目标。● 为被访谈者保密。● 使用文件化的评估方法。● 采用一种参考模型。● 采用团队合作方式。● 关注过程实施的具体活动。

1.6 CMMI和CMM的比较

1.6.1 CMMI与CMM的模型比较CMMI模型建立在CMM模型基础之上,其基础源模型包括:软件CMM 2.0版,EIA-731系统工程,以及IPD CMM (IPD) 0.98a版。CMMI相对于CMM模型具有更好的可扩展性,通过学科(软件工程、系统工程、集成化产品和过程开发及供应商管理)进行模型的扩展,组合形成各种CMMI模型,如CMMI-SW、CMMI-SE/SW、CMMI-SE/SW/IPPD和CMMI-SE/SW/IPPD/SS。在CMMI 1.2版本中,CMMI-SE/SW模型被CMMI-DEV所取代。以后,还会通过增加新的学科领域扩展形成新的模型,如SEI 计划发布的CMMI-SVC模型和CMMI-ACQ模型。在CMM中,该模型只有一种表示法,即阶段式表示法。CMM的阶段式表示法将软件组织的成熟度划分为5个等级。在CMMI中,该模型采用了两种表示法:阶段式表示法和连续式表示法。为了保持软件组织之间的能力成熟度比较,CMMI保留了CMM中的阶段式表示法。但是,为了促进软件组织更加切合实际地进行内部软件过程改进,CMMI增加了连续式表示法。1.6.2 CMMI 与CMM 过程域比较CMM有18个关键过程域(Key Process Area,KPA),用于促进软件过程的改进。在CMMI中删去了“关键”,而仅称“过程域”。CMM中的度量分析实践分布在每个关键过程域中,而CMMI增加了独立的度量分析过程域(MA)。CMM第3级中的软件产品工程(SPE)关键过程域,在CMMI 中被分为需求开发(RD)、技术方案(TS)、产品集成(PI)、验证(VER)和确认(VAL)5个过程域。CMM第3级的同行评审(PR)关键过程域被融入到CMMI的验证(VER)过程域。CMM第3级的集成软件管理(ISM)关键过程域所阐述的风险管理,在CMMI中形成了一个独立的风险管理(RSKM)过程域。同时CMM第3级的集成软件管理(ISM)和组间协调(IC)合并成为CMMI的集成化项目管理(IPM)。CMMI第3级增加了决策分析和解决方案(DAR)过程域,其内容在 CMM 中没有提及。CMM第4级的定量过程管理(QPM)和软件质量管理(SQM)转变为CMMI的定量项目管理(QPM)和组织过程绩效(OPP)。CMM第5级的缺陷预防(DP)转变为CMMI的原因分析和解决方案(CAR)。CMM第5级的技术变革管理(TCM)和过程变更管理(PCM)合并为CMMI的组织革新与推广(OID)。CMMI和CMM的过程域比较,详见表1-5。表1-5 CMMI和CMM的过程域对比1.6.3 CMMI 与CMM评估方法比较CMM 的评估方法有两种,一种是 CBA-SCE ( CMM-Based Appraisal for Software Capability Estimation),它是基于CMM对组织的软件能力进行评估,是由组织外部的评估小组对该组织的软件能力进行的评估。另一种是CBA-IPI(CMM-Based Appraisal for Internal Process Improvement),它是基于CMM对内部的过程改进进行的评估,是由组织内部的小组对软件组织本身进行评估以改进质量,评估结果归组织所有。这两种评估均由SEI授权的主任评估师领导,参考CMM框架来进行,都要审查正在使用和将来使用的文件/文档,并对不同的组织员工进行采访。CMMI 的评估方法只有一种,即 SCAMPI ( Standard CMMI Appraisal Method for Process Improvement)评估方法。SCAMPI评估方法包含了A、B和C 3种不同的级别。其中只有SCAMPI-A评估才需要由SEI授权的主任评估师领导。

1.7 CMM/CMMI在中国

CMM的知识体系在中国最早由国防系统及部分大学和研究所引入。而在中国最早实施CMM的公司是Motorola中国公司,他们在1993年就开始实施CMM,并于1996年就达到CMM 3级,但是并没有广为宣传,也没有对整个软件业界产生大的影响。1999年,由IBM和清华同方合资成立的北京鼎新信息系统开发有限公司通过CMM 2级的评估,经过一些报刊文章的刊载,在我国软件研究界和工业界引起了不小影响。2000年6月,国务院颁发的《鼓励软件产业和集成电路产业发展的若干政策》对中国软件企业申请 CMM 认证给予了积极的支持和推动作用。第 17 条规定“鼓励软件出口型企业通过GB/T19000-ISO9000系列质量保证体系认证和CMM认证。其认证费用通过中央外贸发展基金适当予以支持”。各地方政府依据中央精神制定了不同的奖励制度,如珠海开发区规定了通过CMM 2级认证一次性奖励50万元的政策。北京市科委也宣布,通过CMM 2级认证的软件企业将获得20万元奖励,通过CMM 3级认证的企业将获得30万元奖励。同时从政府项目招标,软件企业资格评估等方面对通过了CMM评估的企业进行倾斜。2006年10月,商务部关于实施服务外包“千百十工程”的通知。根据《商务部关于做好服务外包“千百十工程”企业认证和市场开拓有关工作的通知》的有关规定,对符合条件且取得行业国际认证的服务外包企业给予一定的奖励,并采取有效措施支持其国际认证的维护和升级,力争5年内促进700家企业取得CMM/CMMI 3级认证,300家企业取得CMM/CMMI 5级认证。CMM/CMMI已经得到国内软件相关企业的广泛认识,不但进行了大量的理论研究,也有了大量的企业实践。截止2006年9月,中国企业已进行了354次CMM评估和158次的CMMI评估。通过实施CMM/CMMI,中国软件企业对自身的过程改进的意识和能力有了很大的提高,企业的管理走向了正规化。CMM/CMMI的另一个作用是为国内企业参与国际市场竞争,获取服务外包提供了便捷的途径。

第2章 CMMI的特定目标和特定实践

2.1 CMMI 2级过程域:需求管理

● 目的:管理项目的“产品需求和构件需求”,以及识别这些需求与项目计划、工作成果的不一致之处。● 特定目标(SG1):需求已经受管理,并且识别出需求与项目计划、工作成果之间的不一致之处。需求管理过程域的特定目标(SG)和特定实践(SP)见表2-1。表2-1 需求管理过程域的特定目标和特定实践2.1.1 SG1管理需求2.1.1.1 SP1.1获得对需求的理解需求管理过程域的特定实践SP1.1是“获得开发者和提供者对需求的共同理解”。随着项目的进展,为了避免需求的漫延或遗漏,要建立一些准则,用以指明接受需求的适当渠道或正式来源。接受需求并对需求进行分析,这些活动与需求提供者一起进行,以确保双方对需求的含义达成共识。对需求的分析和对话的结果是达成共识的需求集合。典型工作成果:● 用于识别“合适的需求提供者”的准则。● 评价和接受需求的准则。● 依照准则进行分析的结果。● 达成共识的需求集合。2.1.1.2 SP1.2获得对需求的承诺需求管理过程域的特定实践SP1.2是“获得项目参加者对需求的承诺”。即使以前某个活动与需求提供者达成了对需求的一致理解,但在具体实施时,还需要与实施这些活动的人员,就需求达成一致,并得到他们的承诺。在整个项目开展过程中,需求会发生演变,特别在“需求开发”和“技术方案”过程域中。随着需求的演变,受该活动影响,项目参与者需要对当前的已批准的需求作出承诺,以及对受影响的项目计划、活动和工作成果作出相应的变更。典型工作成果:● 需求影响的评估。● 记录“需求和需求变化”的承诺(形成文档)。2.1.1.3 SP1.3管理需求的变更需求管理过程域的特定实践SP1.3是“管理随着项目进展而发生的需求变更”。在项目开发期间,需求会由于各种原因而发生变更,将会产生一些附加的需求,也许不得不对现行的需求作出变更以满足客户要求。有效地管理这些需求和需求变更相当重要。为了有效地分析需求变更产生的影响,有必要了解每个需求的来源并且把每个变更的理由形成文件。项目经理要判断是否需要采取控制措施,或对已有的控制措施作出调整。典型工作成果:● 需求的状态记录。● 需求数据库。● 需求决策数据库。2.1.1.4 SP1.4维护需求的双向可追溯性需求管理过程域的特定实践SP1.4是“维护需求与工作成果之间的双向可追溯性”。需求的双向可追溯性是指:从源需求追溯到它的较低层次的需求,从较低层次的需求追溯到它的源需求。这种双向可追溯性有助于确定所有的源需求是否完全得到处理,是否所有的低层需求都可以追溯到某个有效的来源。典型工作成果是“需求跟踪矩阵”。2.1.1.5 SP1.5识别项目工作与需求的不一致需求管理过程域的特定实践SP1.5是“识别项目计划、工作成果和需求之间的不一致之处。这个特定实践旨在发现需求与项目计划和工作成果之间的不一致之处,并且启动纠正措施。典型工作成果:● 用文档记录不一致之处,包括“来源、条件和理由”。● 相应的纠正措施。

2.2 CMMI 2级过程域:项目规划

● 目的:建立并维护“项目各项活动”的计划。● 特定目标SG1:估算项目计划中的各种参数并予以维护。● 特定目标SG2:制定并维护项目计划,作为项目管理的基础。● 特定目标SG3:建立并维护对该项目计划的承诺。项目规划过程域的特定目标(SG)和特定实践(SP)见表2-2。表2-2 项目规划过程域的特定目标和特定实践2.2.1 SG1项目估算2.2.1.1 SP1.1估算项目的范围项目规划过程域的特定实践SP1.1是“建立顶层工作分解结构,以便估计项目的范围”。工作分解结构(Work Breakdown Structure, WBS)会随项目进展而演变。最初,顶层工作分解结构可以当作初始估算依据。工作分解结构把整体项目划分成若干便于管理的组成部分,用于考虑分配工作量、进度和责任,并且还可以用于规划、组织和控制围绕该项目进行的工作。典型工作成果:● 任务描述。● 工作包描述。● 工作分解结构。2.2.1.2 SP1.2估算工作成果和任务属性项目规划过程域的特定实践SP1.2是“估算工作成果和任务的属性”。“规模”通常是用于估算工作量、成本和进度的大多数模型的主要输入,其次是诸如关联性、复杂程度和结构之类的输入。这些估算应与项目需求一致,以便确定该项目的工作量、成本和进度。每个规模属性应附上相关的难度和复杂度。典型工作成果:● 技术解决途径。● 任务和工作成果的规模和复杂度。● 估算模型。● 估算结果。2.2.1.3 SP1.3定义项目生存周期的阶段项目规划过程域的特定实践SP1.3是“定义项目生存周期的阶段”。定义项目生存周期的阶段是为了评估各阶段和便于决策,在这些决策点上要根据资源和技术解决途径作出重要承诺。这些决策点指出一些预计的事件,在这些事件出现时可以对项目的走向作出调整,进一步确定项目的范围和成本。项目各个阶段的确定一般包括选择和进一步精练软件开发模型,以便处理项目中各项活动的依存性和适当的排序。由哪些阶段组成项目生存周期,取决于需求的范围、对项目资源的估计以及项目的性质。大型项目可能包含概念研究、开发、生产、运行和处置等阶段。这些阶段可能还分若干子阶段,例如,开发阶段可能包含诸如需求分析、设计、制作、集成和验证等子阶段。理解项目的生存周期阶段是非常关键的,用于规划项目的工作量和编制初始计划的时间点,也包括在合适的时间和关键的地方(关键里程碑)重新规划。典型工作成果:项目生存周期阶段。2.2.1.4 SP1.4估算工作量和成本项目规划过程域的特定实践SP1.4是“依据合理的估算方法,估算项目的工作量和成本”。一般是在运用模型或历史数据对规模、活动和其他参数加以分析所得结果的基础上进行工作量和成本估计。估算的置信度取决于选择估算模型的理由和历史数据的性质。在某些情况下没有适用的历史数据(例如无先例),有时没有适合于该类作业的模型可用。如果从来就没有做过类似的产品或构件,工作量就是无先例的。工作量无先例,风险就更大,需要多做调查研究,以便打下切实可行的估计基础,同时也需要比较多的管理后备。典型工作成果:● 估算原理。● 项目工作量的估算。● 项目成本的估算。2.2.2 SG2制定项目计划2.2.2.1 SP2.1编制预算和进度项目规划过程域的特定实践SP2.1是“编制并维护该项目的预算和进度”。应以所做的估算为基础,以便确保预算分配、任务复杂度和任务依存性等得到适当处理。在处理项目风险时,采用事件驱动式进度安排方式比较有效。先确定那些要进行验证的已完成的工作,可以使该事件的时间安排比较灵活,对预期的结果得到共识,对项目的状况有比较清楚的了解,以便更准确地了解项目状态。典型工作成果:● 项目进度。● 进度依赖关系。● 项目预算。2.2.2.2 SP2.2识别项目风险项目规划过程域的特定实践SP2.2是“识别并分析项目风险”。识别并分析风险以支持项目规划,这个实践应该向下延伸到所有的从属计划。项目规划中的风险识别和分析一般包括:识别风险和分析风险。以便确定风险发生的可能性、时间和影响;排列风险的轻重顺序。典型工作成果:● 已识别的风险。● 风险发生的可能性和影响。● 风险优先级别。2.2.2.3 SP2.3项目数据的管理计划项目规划过程域的特定实践SP2.3是“项目数据的管理计划”。这些数据是为支持某个大纲在其所有各个领域(例如,行政、工程、配置管理、财务、后勤、质量、安全、制造及采购等)所要求的各种文件。这些数据的形式是各种各样的(例如,报告、手册、笔记本、表格、图纸、规格说明书、文卷等或信件等),数据承载媒体也可能是各种各样的(例如,各种印刷材料、照片、电子媒体或多媒体等)。这些数据可能是可交付件(例如大纲的合同数据要求规定的资料),也可能是不可交付件(例如非正式资料、趋势研究和分析、内部会议记录、内部设计审查文件、经验教训和行动安排等)。这类数据分发形式的也很多,包括电子传输在内。对于项目的数据要求,应该根据通用的或标准的数据需求从两个方面考虑:一个是将要创建的数据项,另一个是数据项的内容和形式。对数据项统一的内容和格式的要求有利于理解数据内容,也有助于数据资源的一致管理。收集每份文件的原因应清楚。这项任务包括分析和确认项目的可交付件和不可交付件,合同数据要求和非合同数据要求,以及顾客提供的数据。典型工作成果:● 数据管理计划。● 纳入管理的数据的总清单。● 数据的内容和格式描述。● 对采购方和供应方的数据要求清单。● 隐私要求。● 安全性要求。● 安全性规程。● 数据检索、复制和分发的机制。● 收集项目数据的进度安排。● 待收集的项目数据清单。2.2.2.4 SP2.4规划项目资源项目规划过程域的特定实践SP2.4是“为执行项目提供必要的资源”。对执行项目各项活动所需的项目资源(人力、设备、材料和方法)和数量作出规定,将为管理该项目而扩展工作分解结构提供补充信息。在早些时候用于估算开发的顶层工作分解结构,一般将通过把它们进一步拆分为“工作包”加以扩展:这些工作包代表能够单独予以分配、执行和跟踪的工作单元;在这个层次上分配组织职能,以便执行各个工作分解结构任务。这个产品和组织职能的交汇点一般称为成本统计点。对于在工作分解结构的这个低层次上的每个任务或产品应该分配唯一的标识号(例如序号),以便跟踪。需求、活动和工作成果或它们的组合是工作分解结构的基础。工作分解结构应附有用于描述该工作分解结构中每个任务的工作的作业说明(作业词典)。典型工作成果:● 工作分解结构的“工作包”。● 工作分解结构的任务说明。● 按项目规模和范围考虑的人员配备需求。● 关键设施/设备清单。● 过程/工作流定义和图表。● 过程管理需求表。2.2.2.5 SP2.5知识和技能的计划项目规划过程域的特定实践SP2.5是“项目所需要的知识和技能的计划”。项目中的知识传递涉及项目人员培训和从外面获取知识。人员需要的知识和技能以支持执行项目为准。典型工作成果:● 技能需求清单。● 员工和新人招聘计划。● 数据库(例如技能和培训)。2.2.2.6 SP2.6项目干系人的介入计划项目规划过程域的特定实践SP2.6是“干系人(Stakeholders)的介入计划”。通过标识需要介入该项目的各类人员和职能,并且描述他们与具体活动的关系和相互作用的程度,确定项目生存周期所有阶段的干系人。一般用二维图表表示,坐标轴分别是干系人和项目活动。典型工作成果:干系人的介入计划。2.2.2.7 SP2.7制定项目计划项目规划过程域的特定实践SP2.7是“制定并维护整个项目计划的内容”。项目计划必须形成文件,以便与项目有关的个人、小组和组织达成共识,实现承诺。项目计划中要规定在逻辑上相关的所有各个方面:产品生存周期注意事项、技术和管理任务、预算和进度、里程碑、数据管理,风险标识、资源和技能需求以及干系人标识和交互作用等。此外还应该说明项目工作人员、管理者和各个支持单位的责任、权限和相互关系。典型工作成果:总体项目计划。2.2.3 SG3获得对计划的承诺2.2.3.1 SP3.1审查从属计划项目规划过程域的特定实践SP3.1是“审查所有从属计划,以便了解项目承诺”。从属计划应与总体计划兼容并且支持总体计划,以便明白各个有关方面的权限、责任、义务和控制情况。应审查这些从属计划,以确保对该项目的范围、目标、角色和关系等得到共识。典型工作成果:从属计划审查记录。2.2.3.2 SP3.2协调工作与资源配置项目规划过程域的特定实践SP3.2是“根据资源协调项目计划”。得到各个相关干系人的承诺是非常重要的,使预计的资源与可用的资源之间求得平衡。这种协调工作一般是通过以下方式来完成的:降低或延缓实现技术性能要求,商谈得到更多的资源,寻求提高生产率的途径,外购,对项目工作人员的技能组合加以调整或修订从属计划或进度。典型工作成果:● 修正估算的方法和相应参数(例如,采用更好的工具)。● 重新商谈预算。● 修正进度。● 修正需求。● 重新协商干系人的承诺。2.2.3.3 SP3.3获得计划承诺项目规划过程域的特定实践SP3.3是“获得负责实施和支持该项目计划的各个干系人的承诺”。应该使作出承诺的个人或群体相信,这项工作能够在规定的成本、进度和绩效约束下完成。典型工作成果:● 文档化的承诺请求。● 文档化的承诺。

2.3 二级过程域:项目监控

● 目的:了解项目的进展,在项目实际情况明显偏离计划时,采取适当的纠正措施。● 特定目标(SG1):对照项目计划监督项目的实际进展情况。● 特定目标(SG2):当项目的实际情况明显偏离计划时,采取纠正措施,直到结束。项目监控过程域的特定目标(SG)和特定实践(SP)见表2-3。表2-3 项目监控过程域的特定目标和特定实践续表2.3.1 SG1依据计划监督项目2.3.1.1 SP1.1监督项目计划的参数项目监控过程域的特定实践SP1.1是“监督项目计划参数的实际值”。项目计划中的参数是项目进展的典型指示器,其中包含工作成果和任务的属性、成本、工作量及进度等。工作成果和任务的属性包括规模、复杂程度、重量、形状、配置和功能。“监督”涉及对项目计划参数的实际值进行度量,把实际值与计划的估计值加以比较,识别出明显的偏差。记录项目计划参数的实际值(包括相应的背景信息),有助于理解项目的度量。对明显偏差造成的影响进行分析是为了确定需要采取哪些纠正措施。典型工作成果:● 项目执行情况的记录。● 明显偏差的记录。2.3.1.2 SP1.2监督承诺项目监控过程域的特定实践SP1.2是“监督项目计划中的承诺”。典型工作成果:承诺审查记录。2.3.1.3 SP1.3监督项目风险项目监控过程域的特定实践SP1.3是“对照项目计划监督项目风险”。典型工作成果:项目风险监督记录。2.3.1.4 SP1.4监督数据管理项目监控过程域的特定实践SP1.4是“依据项目计划监督数据管理”。一旦制定了项目的数据管理计划,就必须监督数据的管理,以确保计划得以执行。典型工作成果:数据管理记录。2.3.1.5 SP1.5监督干系人的介入项目监控过程域的特定实践SP1.5是“依据项目计划监督共利益者介入情况”。一旦在项目计划中确定了相关的干系人和他们在项目中的介入事务,那么必

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载