美文网首页
关于CMMI你不得不知道的常识

关于CMMI你不得不知道的常识

作者: alice_tl | 来源:发表于2017-09-17 22:50 被阅读622次

    大部分软件公司都会去申请获得 CMMI 的认证,也会以通过认证为荣,那么 CMMI 认证的意义和目的是什么?怎样可以拿到 CMMI 认证呢?这篇文章为不懂 CMMI 的同学做个常识的介绍,并且将书本和网络上的文本介绍,转化成了图示和表格等更容易理解和更直观的形式。

    CMMI 的定义

    CMMI全称是Capability Maturity Model Integration,即能力成熟度模型集成。

    CMMI是世界公认的软件产品进入国际市场的通行证,不仅是对产品质量的认证,更是一种软件过程改善的途径。如果一家公司最终通过CMMI的评估认证,标志着该公司在质量管理的能力已经上升到一个新的高度。

    而认证的等级越高,意味着公司质量管理能力成熟度越高,做的越好。

    CMMI 的来源

    1994年由美国国防部(United States Department of Defense)与卡内基-梅隆大学(Carnegie-Mellon University)下的软件工程研究中心(Software Engineering Institute,SEISM)以及美国国防工业协会(National Defense Industrial Association)共同开发和研制的

    CMMI主要关注点就是成本效益、明确重点、过程集中和灵活性四个方面。

    这些都可以不用关注。只要知道它是一项国际认可的认证标准即可。

    CMMI的价值

    CMMI为企业带来价值主要体现在以下几个方面:

    1)对开发流程进行标准化和规范化,保证项目进度和质量。

    2)有利于成本控制,缩减不必要的项目开支。

    3)建立完备的知识库,不畏惧人才流失。

    4)持续改善流程,提高质量和效率。

    5)在一些投标项目竞争中,或者融资过程中,更具有优势。

    6)来自美国制定的国际标准,更能得到国外的认可。

    传闻有这么一个故事,在一个项目投标过程中,一家公司说,我们 CMMI 认证是5级,另外几家都是3级,所以直接中标了。

    软件外包公司之所以特别重视 CMMI 的认证,也是这个原因。

    软件公司也会将拿到CMMI 认证视为争取国际融资的一个重要过程。

    CMMI 的结构

    连续式表述(Continuous)

    连续式表述可以提供最大的弹性,一个组织可以选择改善单一流程相关的问题点的绩效,或是可以使用多个领域以密切配合组织的经营目标。连续式表述允许对不同的流程执行不同等级的改善。但组织在选择上仍有一些限制,因为有一些流程领域是彼此相依赖的。

    阶段式表达(Staged)

    阶段式表达提供系统化结构化的方式,一次一个阶段达到以模型为基础的流程改善。达到每一个阶段可确保有足够的流程基础建设,可作为下一个阶段流程改善的基础。

    连续式表达和阶段式表达图示如下:

    常见的 CMMI 等级为阶段式表达。

    CMMI 的等级

    CMMI 等级共五级, MaturityLevers,通常简写为 ML。

    ML1初始级

    软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。管理是反应式的。

    ML2已管理级

    建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。

    ML3已定义级

    已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。

    ML4量化管理级

    分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。

    ML5优化级

    过程的量化反馈和先进的新思想、新技术促使过程持续不断改进。

    默认情况下,任何一家软件公司都可以认为是1级。

    2级比较容易做到,3级的要求要多很多,一般来说建议2、3级一起来做。3级到4级间跨度和难度较大。但如果4级做得比较好,要做到5级难度不算很大。

    参考示意图如下:

    而评估的时候,如果2级的标准达到,但3级的要求达不到,就算4级的要求达到了,也只能算2级。

    CMMI的各级标准

    先理解过程域的概念。过程域(Process Area),简称PA,简单的说就是软件开发过程中的某一个方面。

    每个ML等级都被分解为若干个过程域。

    如上图,PA共22个,2级有7个PA,3级有11个PA,4级有2个PA,5级有2个PA。

    各个过程域对应的名称及释义如下:

    每个过程域有明确的目标(Goal)和实践(Practice),必须要达到该等级所有过程域的目标,才可达到该等级。而达成目标的方式,即要完成这个目标对应的所有实践。

    目标和实践又包含:

    GG(Generic Goals),中文名为通用目标,对应GP(Generic Practices),中文名为通用实践,应用于能力维度,所以适用于所有关键过程域。

    SG(Specific Goals),中文名为特定目标,对应SP(Specific Practices),中文名为特定实践,应用于过程维度,只能适用某一特定关键过程域

    CMMI 的等级、过程域、目标和实践的关系如下:

    中文图示为:

    CMMI级别、PA、Goal与Practice的详细清单如下:


    CMMI的评估办法

    SCAMPI(Standard CMMI Appraisal Method for Process Improvement),是CMMI的评估方法。这种评估方法又划分成了3种严格程度,分别为 ClassA,ClassB,ClassC。

    三种方法的大概区别见下表,很多细的区别需要去看评估方法的定义文件。

    可见, Class A类评估是正式的标准过程,也是最为严格的,目的是获得评估等级,评估过程需执行所有的评估步骤。

    按照SEI SCAMPI评估方法1.2版本的要求,CMMI评估的结论是3年有效期,即3年后需要重新评估。

    相关文章

      网友评论

          本文标题:关于CMMI你不得不知道的常识

          本文链接:https://www.haomeiwen.com/subject/nlamsxtx.html