CMM软件能力成熟度模型实践指导

发表于:2007-12-24 14:51

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:网络转载

分享:

1. 初始级

        此级是个人英雄主义的天下,绝无可重复性,也无甚积累,项目的执行是随意甚至混乱的,软件开发过程未经定义,即使有某些规范也并未严格执行,企业不具备稳定的软件开发与维护环境,面对开发中所遇的各类具体实施问题往往选择放弃原定计划仍由编程人员凭个人经验与主观感觉应对,对客户的承诺多数无法兑现,许诺客户的产品与服务质量并无客观的预测与监控体系保证实现。在此,能力只是个人行为不是组织行为,一旦人员流动或变动,整个企业的开发能力也随之而去。整个企业没有稳定的过程规则可依据。现有的种种规章制度也互不协调或矛盾。开发人员的工作方式是救火式,那里有漏洞就往哪里填补,很少收集关于开发过程的数据,新技术的引进也要冒极大风险。总之,整个企业的软件生产是不可重复,不可预见,不成体系,不可积累及不稳定的。

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

2. 可重复级

        确定了基本的软件生产管理和控制,能针对特定软件项目制定开发过程及管理措施,能将以往项目开发经验用于类似的新项目,有一套不同的软件生产过程提供不同项目选择。软件生产成本和工期能得以客观预测并被有效追踪,过程标准在项目实施中能保证被遵循。项目的开发是有计划的,有控制的,并可重复的行为,总原则是:一个可管理的过程是一个可重复的过程并能逐渐改进和成熟。

        第二级的管理过程包括需求管理,项目计划,项目追踪和监控,子合同管理,质量保证与配置管理等六个方面。在该级的企业可以给客户较有保证的承诺,因为企业可在以往同类项目的成功经验上总结和建立起一整套过程准则来保证成功地重复。项目管理采用基准(Baseline)来标识进展并对成本和进度进行追踪,企业通过子合同管理同客户建立了有效的供求关系,面对开发缺陷有规则可以依据来纠正错误,个人英雄行为被稀释并分解到企业整体的规则和管理框架之中,文档的准备和项目数据的收集也相应完备。

        本阶段改进重点包括:将各项目的过程经验总结为整个企业的标准过程,是整个企业的过程能力得以提高,注意,跨项目间的过程管理协调和支持,树立齐全组织的过程标准概念,建立软件工程过程小组(SEPG),对各项目的过程和质量进行评估和监控,使软件过程得以正确地调整。建立软件工程数据库和文档库,加强培训。

3. 定义级

        过程在整个企业范围内得以确立。企业制定了一套软件过程规则对所有软件工程和管理行为给与指导。企业有了标准化的过程并可在所开发的项目中,依据具体项目的需要,将标准过程调整为合适的项目过程。企业内部设置了软件工程小组(SEPG)负责过程的制定,修改,调整和监督。这一小组直接向企业最高领导层汇报。企业还有培训机构专门对全企业员工进行过程培训。各项目组的开发经验可相互借鉴并支持,对项目成本,工期及质量均可最终控制。有关软件工程及管理工程的过程文件被编制并成为企业标准,所有项目都必须按照这些标准过程或经调整后的项目过程来实施,从而保障了每一次工程开发的投入和时间,项目计划,产品功能及软件质量得以控制。软件过程在此得到的稳定的,重复的和持续性的应用,使开发风险大为下降。各项目组人员参与软件过程的制定和修改,并引进符合项目过程的新的软件开发技术,在各项目开发过程中收集的数据被系统共享。总而言之,第三级的主要特点在于软件过程已被编制为各个标准化过程,并在企业范围内执行,从而使软件生产和管理更具可重复性,可控制性,稳定性和持续性。

        本阶段改进重点:应准备对整个软件过程,包括生产和管理两方面的定量评测分析,以便尽可能将软件工程所涉及的定性因素转变为定量标准,从而对软件进行定量控制和预测。应使整个企业的软件能力在定量基础上可预测和控制。

4.管理级

        第四级的过程是量化的过程,所有项目和产品的质量都有明确的定量化衡量标准,软件也被置于这样一个度量体系中进行分析、比较和监控,所有定量指标都被尽可能地详细采集并描述,使之可具体用于软件产品的控制之中,软件开发真正成为一种工业化生产行为,由专门的软件过程数据库收集和分析软件过程中的各类数据并以此为对软件活动的质量评估的基准。企业所有项目的生产过程在定量化的基础上大大提高了可控制性和可预测性,生产过程中可能面对的偏差被控制在一定的量化范围内并被分析和解决,新技术的采纳也在量化基础上有控制的地进行,从而控制了风险。在此级中,所有的软件过程和产品都树立了定量的目标并被定量的管理,使软件组织的能力可以很好地预测。此阶段中所有定量标准都是明确定义并持续一致的,可以用于对软件过程和管理的评估与调节。所有修正和调节方法(包括对偏差及缺陷的校正分析)都是基于变化指标上,新的软件开发技术也在定量的基础上被评估。项目组成员对整个过程及其管理体系有高度一致的理解并已学会运用数据库等方法定量地看待和理解软件工程。本级主要特点是定量化,可预测化和高质量。

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

5.优化级

        第五级的软件过程应是持续改进的过程,并且有一整套有效机制确保软件工程误差接近最小或零。每一个过程在具体项目的运用中,可根据周边和反馈信息来判断下一步实施所需的最佳过程,以持续改善过程使之最优化。因此,企业能不断调整软件生产过程,按优化方案改进并执行所需过程。这样,企业的精力集中于持续的过程改进之中。新技术的采用也被作为日常活动加以规划,各项目组已具备尽早和尽快识别工程缺陷并改正错误的手段。这需要完善的数据库和长期积累的量化指标来协助实现,新技术和自动化工具也使软件工程人员能够预防软件缺陷并找到其根源以防止错误再现,企业资源在第五级阶段被有效利用并节约。一般来讲,企业在优化级所遵循的持续改进措施既包括对已有过程的渐进改善,也包括应用新技术和工具所产生的革新式改进,整个企业的过程定义、分析、校正和处理能力也大大加强,这些都需建立在第四级的定量化标准之上。项目组都能主动找到产生软件问题的根源,也能对导致人力和时间浪费等低效率因素进行改进,防止浪费再发生。整个机构都有强烈的团队意识,每个人都致力于过程改进、缺陷防范和高品质的追求。本阶段总的特点是新技术的采用和过程的不断改进被作为企业的常规工作,以实现缺陷防范的目标。

        CMM描述的五个等级的软件过程反映了从混乱无序的软件生产到有纪律的开发过程,再到标准化、可管理和不断完善的开发过程的阶梯式结构。任何一个软件机构的项目生产都可以纳入其中,除第一级初始级外,每一级成熟度都由若干核心过程域构成,这些核心过程域分别针对软件开发过程的某一方面阐述了这一等级的软件过程在此方面应达到的目标组的核心实践。所有核心实践又可划分为五种共性:完成目标组所需的承诺、执行能力、执行活动、测量分析、实验验证。当然,任何一个级别的核心过程域都不仅包括本级所有的核心实践。例如,第四级管理级的实现必须完成第四级本身具备的两个核心过程以及第三级中的七个核心过程域和第二级中的六个核心过程域,共十五个核心过程域。

        核心过程域又称关键过程域(Key Process Area,KPA),每一个KPA都与一些目标相关,代表某种对过程的要求,我们可根据KPA对软件过程进行评估并找到改进的重点所在。可见,除第一级 KPA外,CMM的每一级都按相同结构组成,KPA不仅标明了某级成熟度所要求的目标和评估标准,也说明了要达到此级成熟标准所需解决的具体要点。实施每个核心过程域所包含的核心实践(Key Practices),就是实现此核心过程域所制定的目标并提高软件过程能力。如前所述,各个核心过程域中的核心实践都可按公共属性进行分类,每个KPA 都包括五类核心实践。应该指出,核心实践只是规定了软件过程必须达到什么样的标准而未规定这些标准应如何实现,因此,对同样的过程水平,不同企业,不同项目可采纳不同的过程和实施方式去完成。下面,我们将就五类不同的核心实践给予具体说明:

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

2.执行能力(Ability to perform):指企业执行核心过程域的前提条件,包括企业资源、过程制定、人员培训等多种措施。对PKA的执行必须建立在此基础之上,才可保证所规划的目标得以实现。

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

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

5.实施验证(Verify Implementation):在过程执行的中途及末尾对过程实施进行验证以确保执行活动与制定的过程相一致。它包括检测、复审等一系列质量保证活动,这些质量保证活动需要通过项目组以外的独立的质检人员和管理人员来保证验证的有效执行,从而确保产品符合计划要求。如果我们把执行活动看作是与项目执行相关的属性,则其他所有属性可一起视为企业成熟度能力基础建设。

重磅发布,2022软件测试行业现状调查报告~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号