CMMI模型与评估介绍

来源:互联网 发布:小众淘客软件 编辑:程序博客网 时间:2024/04/28 20:48

1.CMMI模型与评估介绍

  • CMMI 模型

    1993年美国卡耐基-梅隆大学(CMU)软件工程研究所(SEI)发布了CMM(Capability Maturity Model )第二个基线版本-SW-CMM 1.1,评估方法为CBA-IPI。2002年SEI发布了CMMI (Capability Maturity Model Integration)  SE/SW 1.1版本,评估方法也改为SCAMPI。从2006年1月1日起,SEI不再接受CMM评估结果的注册,只接受CMMI评估结果的注册。
    2006年8月,CMMI V1.1升级为CMMI-DEV V1.2版本,相应的评估方法也升级为V1.2。CMMI-DEV V1.2与V1.1相比,在模型结构上有比较大的变化。同时SEI规定,只有高成熟度主任评估师才能为客户评估CMMI-DEV V1.2的4级和5级;每次评估的有效期为3年。
    CMMI之目的在发展一个共通性的整合架构,它把原来的软件能力成熟度模型(SW-CMM)、系统工程能力成熟度模型(SE-CMM)、集成产品开发能力成熟度模型(IPD-CMM)、外包开发能力成熟度模型(SS-CMM)等结合了起来,最大的特点是突破了纯软件开发的范围,扩大到系统集成企业或者硬件设计企业,提供了开发、采购及过程管理方面的指导性原则,使过程改进的受益企业更加扩大。企业可将CMMI模型当作自我改善的指南。
    CMMI的5个成熟度为

3.gif

  1. 初始级 (Initial) L1
        结果不可预测,流程不稳定,管理被动。(任何企业在做CMMI改进之前都属于L1)
  2. 管理级 (Managed)  L2
        项目有清楚的流程与明确的目标。本级包括:需求管理、项目规划、项目监控、供应商协商管理、度量与分析、流程与产品质量保证及配置管理等方面的工作。通过了CMMI Level 2“管理级”的评估,则代表企业的流程目标 (成本、时程、质量) 是经过规划、文件纪录、执行、受控,达到了目标。
  3. 定义级 (Defined)  L3
        组织建立了定义清楚的工作流程。本级包括:集成的项目管理、风险管理、需求开发、技术解决方案、产品集成、验证、确认、组织过程改进管理、组织开发财富库管理、组织培训管理、决策分析等方面的工作。通过了本级的评估,则代表企业已经根据组织标准流程及相关流程资产,来定义出合适项目的开发过程。这些流程被详尽说明与了解,用标准、程序、工具及方法来描述。“管理级”和“定义级”的差别在于流程的应用范围:前者只限于特定项目使用,后者则是适用于组织的所有项目。
  4. 量化管理级 (Quantitatively managed) L4
        流程被量化管理。本级着重在组织绩效集线的建立与量化的项目管理。在通过了Level 4评估的企业,组织为产品质量、服务质量与流程绩效所订定的数量化目标都已经建立,并通过统计方法诠释,作为流程管理的准则。“定义级”与“量化管理级”的差别在于流程绩效的预测力,前者的流程仅是定性的管理,后者则为定量的可预测管理。
  5. 优化级 (Optimizing) L5
        聚焦于流程改善作业。着重在组织的创新发展、原因分析并提出解决方案。达到本等级的组织,可以经由渐近与创新的技术变革,专注于流程的持续改进。组织的量化流程改善目标已经确定并持续地完善,以反映经营目标的变动。灵活与创新的最佳化流程是组织进步的原动力。

    各个级别CMMI的作用可以形象地表示为:2级是栽树,3级是开花,4级是结果,5级是改良品种。
    CMMI各级别中所包括的过程域如下图所示:

2.gif

  • 实施CMMI的IDEAL方法

    CMU/SEI(美国卡内基•梅隆大学的软件工程研究所)提供了一个实用的、便于理解的CMMI实施方法-IDEAL。该方法建议使用CMMI进行改进软件过程的用户,按照初始化、诊断、建设、行动和推进等五个阶段开展软件过程改进工作:

3.gif

    I——初始化(Initiating),为成功地进行软件过程改进工作奠定基础;
    D——诊断(Diagnosing),确定现状与目标之间的差异;
    E——建设(Establishing),计划如何达成目标;
    A——行动(Acting),根据计划开展工作;
    L——推进(learning),从经验中学习,以提高未来使用新技术的能力。

  • CMMI的评估方法

    SEI将CMMI的评估过程分为Class A、B 、C三种类型:
    Class A类评估:是正式的标准过程,目的是获得评估等级,评估过程需执行所有的评估步骤 ,在CMMI标准中需要满足ARC要求 ( Appraisal Requirement for CMMI )  ,需要组建正式评估小组,并需要SEI授权的主任评估师领导评估组进行评估。根据被评估的CMMI的不同级别,评估组人数通常为4-9人,评估天数为5-10天,被评估企业派人参加ATM。评估方式为文件审查和人员访谈,评估输出物为最终评估报告,并由主任评估师向SEI注册评估结果。具体评估过程详细描述参见SCAMPI ( Standard CMMI Appraisal Method for Process Improvement) “标准的CMMI评估方法”。企业做CMMI评估并向SEI注册,都是采用本类评估。
    Class B类评估:只需要满足部分的ARC要求,并可以只收集更少的信息,但必须包括从访谈方式获得的信息,不需要最终产生组织的成熟度级别,评估组的负责人既可以是SEI授权主任评估师,也可以由组织内部有经验的成员担当,可以认为是组织内部的评估过程,可以在过程改进过程中的诊断过程中使用,也可以在组织发展过程中进行阶段性评估审计时使用。
    Class C类评估:是一种非正式评估过程,满足更少的ARC要求,组织快速浏览过程,只确定相对较少过程域,不需要SEI授权评估师给出组织成熟度级别。一般是针对特定少数或一个项目,或针对少数过程、或一个过程在组织中执行的情况进行评估,通常是在组织发展过程中进行。

2.实施CMMI的获益

    企业通过CMMI的评估,表明在行业内占有领先地位,并可以得到以下收益:
    1. 提高公司在市场上的声誉,有利于提高市场竞争力,增加客户满意度。
    2. 系统学习和掌握了软件开发业界得到公认的、最先进的开发管理模型。
    3. 建立了一套符合CMMI要求的、同时也符合企业自身特点的软件开发及管理过程,从而改变了原来的不规范、具有随机性的开发模式和管理模式,使企业的软件开发过程有了基本的纲领和流程,并通过设置专职的QA人员,保证流程得到有效的实施。
    4. 企业培养出了自己的过程改进队伍,可以将过程改进活动持续进行下去。
    5. 在企业关注的重要方面(如生产效率、开发成本和质量成本),了解到更多的优秀案例,得到更好的解决方案,因而得到了切实的改进效果。
    6. 通过有效的培训体系,使企业员工得到更正规的培训,提高员工的工作技能和素质。
    7. 加强了质量控制措施,例如技术评审和软件测试,有效地控制了缺陷发生概率,降低不良成本。
    8. 建立了工作量、成本的度量体系,通过对数据度量和分析,可以进一步提高生产率、降低成本。
    9. 建立了企业的过程改进财富库,对企业的组织级和项目级的数据和优秀案例进行管理,便于日后参照和复用,可以减少估算的盲目性,提高了对项目的控制能力和控制精度。
    10. 在上述收获的前提下,提高了投资回报率。企业实施CMMI后的获益数据(以下数据来自SEI的分析报告):
         生产力提高35%
         产品上市时间缩短19%
         产品发布后缺陷率减少39%
         节省了的成本与投入软件流程改善的成本的比例为5:1