CMM模型框架.docx
- 文档编号:2124741
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:10
- 大小:25.10KB
CMM模型框架.docx
《CMM模型框架.docx》由会员分享,可在线阅读,更多相关《CMM模型框架.docx(10页珍藏版)》请在冰豆网上搜索。
CMM模型框架
CMM模型框架
软件开发的风险之所以大,是由于软件过程能力低,其中最关键的问题在于软件开发组织不能很好地管理其软件过程,从而使一些好的开发方法和技术起不到预期的作用。
关键字:
CMM
软件开发的风险之所以大,是由于软件过程能力低,其中最关键的问题在于软件开发组织不能很好地管理其软件过程,从而使一些好的开发方法和技术起不到预期的作用。
另外,项目的成功也是通过工作组的杰出努力,所以仅仅建立在可得到特定人员上的成功不能为全组织的生产和质量的长期提高打下基础,必须在建立有效的软件工程实践和管理实践的基础设施方面,坚持不懈地努力,才能不断改进,才能持续地成功。
框架
CMM提供了一个阶梯式的进化框架,将软件过程改进的进化步骤组织成5个成熟等级,为过程不断改进奠定了循序渐进的基础。
5个成熟度等级定义了一个有序的尺度,用来测量一个组织的软件过程成熟和评价其软件过程能力,这些等级还能帮助组织自己对其改进工作排出优先次序。
成熟度等级是已得到确切定义的,也是在向成熟软件组织前进途中的平台。
每一个成熟度等级为连续改进提供一个台基。
每一等级包含一组过程目标,通过实施相应的一组关键过程域达到这一组过程目标,当目标满足时,能使软件过程的一个重要成分稳定。
每达到成熟框架的一个等级,就建立起软件过程的一个相应成分,导致组织能力一定程度的增大。
如果要用简单的一句话来表达从一级到高一级所需要的努力的话,我们可以有:
从一级到二级的转化:
规范化过程;
从二级到三级的转化:
标准化、稳定的过程;
从三级到四级的转化:
可预测的过程;
从四级到五级的转化:
持续改进过程。
(1)初始级(Initial)
初始级的软件过程是未加定义的随意过程,项目的执行是随意甚至是混乱的。
也许,有些企业制定了一些软件工程规范,但若这些规范未能覆盖基本的关键过程要求,且执行没有政策、资源等方面的保证时,那么它仍然被视为初始级。
在初始级,企业一般不具备稳定的软件开发与维护的环境。
常常在遇到问题的时候,就放弃原定的计划而只专注于编程与测试。
处于这一等级的企业,成功与否在很大程度上决定于有杰出的项目经理与经验丰富的开发团队。
因此,能否雇请到及保有能干的员工成了关键问题。
项目成功与否非常不确定。
虽然产品一般来说是可用的,但是往往有超经费与不能按期完成的问题。
(2)可重复级(Repeatable)
根据多年的经验和教训,人们总结出软件开发的首要问题不是技术问题而是管理问题。
因此,第二级的焦点集中在软件管理过程上。
一个可管理的过程则是一个可重复的过程,一个可重复的过程则能逐渐进化和成熟。
第二级的管理过程包括了需求管理、项目管理、质量管理、配置管理和子合同管理五个方面。
其中项目管理分为计划过程和跟踪与监控过程两个过程,通过实施这些过程,从管理角度可以看到一个按计划执行的且阶段可控的软件开发过程。
在这一级,建立了管理软件项目的政策以及为贯彻执行这些政策而定的措施。
基于过往的项目的经验来计划与管理新的项目。
企业实行了基本的管理控制。
符合实际的项目承诺是基于以往项目以及新项目的具体要求而作出的。
项目经理不断监视成本、进度和产品功能,及时发现及解决问题以便实现所作的各项承诺。
通过具体地实施这一级的各个关键过程领域的要求,企业实现了过程的规范化、稳定化。
因而,曾经取得过的成功成为可重复达到的目标。
(3)已定义级(Defined)
在第二级仅定义了管理的基本过程,而没有定义执行的步骤标准。
在第三级则要求制定企业范围的工程化标准,而且无论是管理还是工程开发都需要一套文档化的标准,并将这些标准集成到企业软件开发标准过程中去。
所有开发的项目需根据这个标准过程,剪裁出与项目适宜的过程,并执行这些过程。
过程的剪裁不是随意的,在使用前需经过企业有关人员的批准。
在这一级,有关软件工程与管理工程的一个特定的、面对整个企业的软件开发与维护的过程的文件将被制订出来。
同时,这些过程是集成到一个协调的整体。
这就称为企业的标准软件过程。
这些标准的过程是用于帮助管理人员与一般成员工作得更有效率。
如果有适当的需要,也可以加以修改。
在这个把过程标准化的努力当中,企业开发出有效的软件工程的各种实践活动。
同时,一个在整个企业内施行的培训方案将确保工作人员与管理人员都具备他们所需要的知识与技能。
非常重要的一点是,项目小组要根据该项目的特点去改编企业的标准软件过程来制订出为本项目而定义的过程。
一个定义得很清楚的过程应当包括:
准备妥当的判据,输入,完成工作的标准和步骤,审核的方法,输出和完成的判据。
因为过程被定义得很清楚,因此管理层就能对所有项目的技术过程有透彻的了解。
(4)已管理级(Managed)
第四级的管理是量化的管理。
所有过程需建立相应的度量方式,所有产品的质量(包括工作产品和提交给用户的产品)需有明确的度量指标。
这些度量应是详尽的,且可用于理解和控制软件过程和产品。
量化控制将使软件开发真正变成为一种工业生产活动。
在这一级,企业对产品与过程建立起定量的质量目标,同时在过程中加入规定得很清楚的连续的度量。
作为企业的度量方案,要对所有项目的重要的过程活动进行生产率和质量的度量。
软件产品因此具有可预期的高质量。
一个企业范围的数据库被用于收集与分析来自各项目的过程的数据。
这些度量建立起了一个评价项目的过程与产品的定量的依据。
项目小组可以通过缩小他们的效能表现的偏差使之处于可接受的定量界限之内,从而达到对过程与产品进行控制的目的。
因为过程是稳定的和经过度量,所以在有意外情况发生时,企业能够很快辨别出特殊的原因并加以处理。
(5)优化级(Optimizing)
第五级的目标是达到一个持续改进的境界。
所谓持续改进是指可根据过程执行的反馈信息来改善下一步的执行过程,即优化执行步骤。
如果一个企业达到了这一级,那么表明该企业能够根据实际的项目性质、技术等因素,不断调整软件生产过程以求达到最佳。
在这一级,整个企业将会把重点放在对过程进行不断的优化。
企业会采取主动去找出过程的弱点与长处,以达到预防缺陷的目标。
同时,分析有关过程的有效性的资料,作出对新技术的成本与收益的分析,以及提出对过程进行修改的建议。
整个企业都致力于探索最佳软件工程实践的创新。
项目组分析引起缺陷的原因,对过程进行评鉴与改进,以便预防已发生的缺陷再度发生。
同时,也把从中学到的经验教训传授给其他项目。
降低浪费与消耗也是这个等级的一个重点。
处于这一等级的企业的软件过程能力可被归纳为不断的改进与优化。
它们以两种形式进行。
一种是逐渐地提升现存过程,另一种是对技术与方法的创新。
虽然在其他的能力成熟度等级之中,这些活动也可能发生,但是在优化级,技术与过程的改进是作为常规的工作一样,有计划地在管理之下实行的。
内部结构
除第一级外,CMM的每一级是按完全相同的结构构成的,如图2.4所示。
每一级包含了实现这一级目标的若干关键过程域(KPA),每个KPA进一步包含若干关键实施活动(KP),无论哪个KPA,它们的实施活动都统一按五个公共特性进行组织,即每一个KPA都包含五类KP。
下表给出了CMM模型的概要,表中的5个等级各有其不同的行为特征。
要通过描述不同等级组织的行为特征,即一个组织为建立或改进软件过程所进行的活动,对每个项目所进行的活动和所产生的横跨各项目的过程能力。
过程能力等级
特点
关键过程域
1初始级
软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。
管理是反应式(消防式)
2可重复级
建立了基本的项目管理过程来跟踪费用、进度和功能特性。
制定了必要的过程纪律,能重复早先类似应用项目取得成功。
需求管理
软件项目计划
软件项目跟踪和监督
软件子合同管理
软件质量保证
软件配置管理
3已定义级
已将软件管理和工程文档化、标准化,并综合成该组织的标准软件过程。
所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件。
组织过程定义
组织过程焦点
培训程序
集成软件管理
软件产品工程
组间协调
同级评审
4已管理级
收集对软件过程和产品质量的详细度量,对软件过程和产品都有定量的理解与控制
定量过程管理
软件质量管理
5优化级
过程的量化反馈和先进的新思想、新技术促进过程不断改进
缺陷预防
技术变更管理
过程变更管理
通过上表,我们知道每个成熟度级的关键过程域,每个关键过程域包括一系列相关活动,只有全部完成这些活动,才能达到过程能力目标。
为了达到这些相关目标,必须实施相应的关键实践。
其中关键过程域总共18个,相应的包含过程分为下表所示的三种类型,从而可以更好地明白关键过程区域是怎样实施的了。
可重复级
可重复级包含6个KPA,主要涉及建立软件项目管理控制方面的内容。
(1)需求管理(RM,RequirementManagement)
是指对分配需求进行管理。
即要在客户和实现客户的软件项目之间达成共识;控制系统软件需求,为软件工程和管理建立基线;保持软件计划、产品和活动与系统软件的一致性。
(2)软件项目计划(SPP,SoftwareProjectPlanning)
是指为软件工程的动作和软件项目活动的管理提供一个合理的基础和可行的工作计划的过程。
其目的是为执行软件工程和管理软件项目制订合理的计划。
(3)软件项目跟踪与监督(SPTO,SoftwareProjectTrackingandOversight)
是对软件实际过程中的动作建立一种透明的机制,以便当软件项目的实际动作偏离计划时,能够有效地采取措施。
(4)软件子合同管理(SSM,SoftwareSubcontractManagement)
目的是选择合格的软件分承包商和对分承包合同的有效管理。
此项工作对大型的软件项目十分重要。
(5)软件质量保证(SQA,SoftwareQualityAssurance)
目的是对软件项目和软件产品质量进行监督和控制,向用户和社会提供满意的高质量产品,它和一般的质量保证活动一些,是确保软件产品从生产到消亡为止的所有阶段达到需要的软件质量而进行的所有有计划、有系统的管理活动。
(6)软件配置管理(SCM,SoftwareConfigurationManagement)
包括标识在给定时间点上的软件的配置,系统地控制对配置的更改,并维护在整个软件生命周期中配置的完整性和可跟踪性。
这里的配置是指软件或硬件所具有的功能特征和物理特征,这些特征可能是技术文档中所描述的或产品所实现的特征。
可定义级
可定义级包含7个KPA,主要涉及项目和组织的策略,使软件组织建立起对项目中的有效计划和管理过程。
(1)组织过程焦点(OPF,OrganizationProcessFocus)
帮助软件组织建立在软件过程中组织应承担的责任,加强改进软件组织的软件过程能力。
在软件过程中,组织过程焦点集中了各项目的活动和运作的要点,可以给组织过程定义提供一组有用的基础。
这种基础可以在软件项目中得到发展,并在集成软件管理中定义。
(2)组织过程定义(OPD,OrganizationProcessDefinition)
在软件过程中开发和维护的一系列操作,利用它们可以对软件项目进行改进,这些操作也建立了一种可以在培训等活动中起到良好指导作用的机制,其目标是制定和维护组织的标准软件过程,收集、评审和使用有关软件项目使用组织标准软件过程的信息。
(3)培训程序(TP,TrainingProgram)
提高软件开发者的经验和知识,以便使他们可以更加
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CMM 模型 框架
![提示](https://static.bdocx.com/images/bang_tan.gif)