美文网首页
CMMI-能力成熟度模型集成

CMMI-能力成熟度模型集成

作者: 晓说娟绘 | 来源:发表于2021-11-23 23:36 被阅读0次

    什么是CMMI?

    组织典型关注三个重要方面:人员、规程与方法、以及工具与设备。是什么将这些结合到一起?那就是组织中所使用的过程。


    CMMI, Capability Maturity Model Integration,帮助组织改进其过程的最佳实践的集合。这些模型有来自产业界、政府以及CMU(卡耐基梅隆大学) 的软件工程研究所SEI(Software Engineering Institute)的成员所组成的产品团队开发完成。

    CMMI群集与模型包含

    • CMMI Development
    • CMMI Services
    • CMMI Supplier Management
    • CMMI Security
    • CMMI Safety

    从其发展历史,可见其包含的内容,由软件扩展到整个集成产品、服务和采购等。


    CMMI的历史

    什么是CMMI-DEV

    其中最著名应用最广的是CMMI-DEV,基于CMMI模型(CMMI Model Foundation)或简称CMF(即所有CMMI模型与群集共同的模型组件)并纳入了开发组织的工作,以便使CMMI适合在产品与服务的开发中使用,为开发型组织应用CMMI最佳实践提供了指南,关注于开发高质量产品与服务的活动,以满足客户与最终用户的需要。

    如何评估 - SCAMPI评估

    SCAMPI评估类别,包括A类、B类、C类,最正式的是A类(认证机构评估),B类是外部机构有资质的人员进行评估,C类是自己进行评估。

    两条改进路径(连续式 vs 阶段式)

    1. 连续式

    组织选定单个过程域(或一组过程域),逐步改进对应过程,达到“能力等级”


    连续式改进

    2. 阶段式

    组织选择相应级别的过程域集合来改进,达到“成熟度级别”


    等级(能力等级 vs 成熟度级别)

    能力等级与成熟度级别的对比

    能力等级与成熟度级别的对比

    等价阶段式定级别

    使用连续式表示法的组织,如何将能力等级转换成关联的成熟度级别评定?

    要达到相应的成熟度级别n,n及n以下对应的过程域能力等级必须>=n

    如,
    要达成成熟度级别3,所有归入成熟度级别2级与3级的过程域必须达成能力等级3级


    成熟度等级定义 - 官方版

    CMMILevel 1,完成级。在完成级水平上,企业对项目的目标与要做的努力很清晰,项目的目标得以实现。但是由于任务的完成带有很大的偶然性,企业无法保证在实施同类项目的时候仍然能够完成任务。企业在一级上的项目实施对实施人员有很大的依赖性。
    CMMILevel 2,管理级。在管理级水平上,企业在项目实施上能够遵守既定的计划与流程,有资源准备,权责到人,对相关的项目实施人员有相应的培训,对整个流程有监测与控制,并与上级单位对项目与流程进行审查。企业在二级水平上体现了对项目的一系列的管理程序。这一系列的管理手段排除了企业在一级时完成任务的随机性,保证了企业的所有项目实施都会得到成功。 
    CMMILevel 3,定义级。在定义级水平上一,企业不仅能够对项目的实施有一整套的管理措施,并保障项目的完成;而且,企业能够根据自身的特殊情况以及自己的标准流程,将这套管理体系与流程予以制度化这样,企业不仅能够在同类的项目上升到成功的实施,在不同类的项目上一样能够得到成功的实施。科学的管理成为企业的一种文化,企业的组织财富。
    CMMILevel 4,量化管理级。在量化管理级水平上,企业的项目管理不仅形成了一种制度,而且要实现数字化的管理。对管理流程要做到量化与数字化。通过量化技术来实现流程的稳定性,实现管理的精度,降低项目实施在质量上的波动。
    CMMILevel 5,优化级。在优化级水平上,企业的项目管理达到了最高的境界。企业不仅能够通过信息手段与数字化手段来实现对项目的管理,而且能够充分利用信息资料,对企业在项目实施的过程中可能出现的次品予以预防。能够主动地改善流程,运用新技术,实现流程的优化。 企业在实施CMMI的时候,路要一步一步地走。一般地讲,应该先从二级入手。在管理上下功夫。争取最终实现CMMI的第五级。

    成熟度等级定义 - 戏说版

    人类社会经历了原始社会、奴隶社会、封建社会、资本主义社会,还有马克思预言的共产主义社会。CMMI五个级别分别与人类社会的五个形态有类似之处。

    CMMI一级 = 原始社会

    CMMI一级如同原始社会。在原始社会,没有法律、没有制度,部落间发生冲突和相互仇杀是常有的事情。在CMMI一级的组织,产品开发没有规矩,每个人的工作方式全凭喜好和习惯,一般项目中也极少有关于过程方面的规定,不论采用什么方法、遵循什么样的开发步骤,最后只要把代码写出来了就可以了,软件开发的主要活动就是编码和调试。很少有项目计划,顶多有个项目时间表,需求、设计等工程文档也很少有。

    CMMI二级 = 奴隶社会

    CMMI二级如同中国的奴隶社会。从奴隶社会开始,人类便有了文字记载的历史,出现了法律法规,人类进入文明时代,夏、商、周、春秋战国都属于奴隶社会。但中国的奴隶社会国家,实际上是由众多的诸侯国构成,每个诸侯国有自己法律、度量衡、货币、语言、文字等。
    处于CMMI二级的组织,各个项目(好比诸侯国)有了各自的制度和标准,比如项目A规定采用瀑布开发模型,使用CVS作为配置管理工具,要度量项目的进度和成本;而项目B规定采用增量开发模型,使用VSS作为配置管理工具,度量项目的质量成本和需求稳定度。同CMMI一级比,项目的开发过程已由混乱的开发方式跃迁到了有纪律的开发过程。
    公元前221年,秦始皇统一全国,从此中国开始步入了封建社会。秦始皇不仅仅统一了领土,更具有长远意义的是他统一了法律、文字、货币和度量衡。在秦之前的诸侯割据时代,文字的不统一严重影响文化传播和交流,货币制的不统一,也严重阻碍着各地商品的流通及统一国家的财政收支,其它方面的不统一也同样带来各种各样的问题。文字、货币、度量衡的统一,在中国历史上占有重要地位。孔子之孙子思在《中庸》倡导“今天下,书同文、车同轨、行同伦”,可见统一的、标准化是多么重要,如同工业上零件规格的统一,或网络协议的统一一样,都有着重要。

    CMMI三级 = 封建社会

    CMMI三级类似封建社会,结束了项目的“各自为政”的状况,整个组织有统一的过程、标准。这样,新启动的项目不必花精力考虑本项目该走什么样的过程、遵循哪些标准、使用什么模板等等。因为过程的统一,不同项目项目经验教训具有了可参考性,项目数据具有了可比性了,有了这样的前提,组织可以创建过程财富库,收集历史项目的经验教训、度量数据、文档样例等等,为后续的项目所使用。所以,到了三级项目管理是基于一个已建立好的平台上进行的,比如项目经理花费心思项目计划要包含哪些方面,组织级的项目管理计划模板提供了答案。也许项目经理经验有限,不清楚制定一个好计划有哪些注意事项,那么组织级的项目计划检查单可以帮助项目经理注意到制定计划的关键点,从而制定更加全面、完整的计划。组织级的经验教训库和风险库同样可以帮助项目经理计划和监控项目。
    目前,许多组织为了提高生产率、缩短开发周期、降低开发成本,提升产品质量,建立了一些产品重用组件库,当有了新产品开发时,会像搭积木一样去使用重用组件构建产品,只对产品独特的地方进行重新开发,这样的过程叫做产品重用,或叫技术重用。而CMMI三级的组织,其流程体系(包括流程、模板、指南、规范、检查单等)和所累积过程资产(如经验教训、风险、样例、度量数据等)类似于一个个产品重用组件,为项目开发管理所用,这样的过程叫做过程重用。大家都知道重用可以大大提升效率、提高质量,产品重用是有形的资产重用,而过程重用是无形的资产重用。如果能够很好对无形资产进行累积,并且在项目中推广使用,那么会给组织带来的价值会远超于产品重用所带来的价值。
    可见,CMMI三级相对二级有时一个飞跃:二级开发制度是“诸侯割据”的状态,而三级“一统体天下”;二级是项目级的,而三级是组织级的。

    CMMI四级 = 资本主义社会

    CMMI四级类似资本主义社会。很多读者或许同我一样,未必会多了解资本主义,那么我们就用社会的部分现象做类比,只要能有助于理解CMMI就好了。
    资本主义相对封建社会,科技有了巨大的进步,做什么事情都讲究科学,而科学又是通过数据呈现出来的。研究天文的,有天文方面的数据;研究地理的,有地理方面的数据;研究经济的,也有经济方面的数据……有了数据,才能说明人们对所研究的事物有了认识和理解。在这些数据的基础上,通过实践与分析,人们在各个的领域建立一些模型,通过这些模型来理解过去、预测未来。比如,天文学家可以精准地告诉我们何时何地会出现日食;经济学家可以解读金融危机的原因,预测未来经济的走势……
    处于CMMI四级的组织,通过历史项目数据的累积,可以反映出当前的组织能力状况,如生产率是30LOC/人天,进度偏差是20%等等,同时可以建立预测模型预测未来,建立控制图找出过程中的异常因素。四级的项目管理要依据数据进行管理,而不仅仅凭着感性的经验,因此,也被称作量化的项目管理。
    需要注意避免一个误区:到四级才有数据、才有度量。其实,在二级就有了度量与分析这个过程域,如果没有二级、三级度量方面基础,四级的量化管理将成为空谈。二级的度量和四级的量化管理是有区别的,用个炒股的类比来解释。
    股票的价格起起伏伏,二级要求股民根据目的设定度量项,并要收集和分析数据,基本上每个股民的目的都是想盈利,那么,收集、记录股票买入价格、买入时间、卖出价格、卖出时间和股票量等数据,从而帮助分析盈利情况。在二级,股民缺乏数据帮助他们理解具体是什么因素导致股票价格上扬或下挫,也不清楚明天后天的价格会是多是。如果到了四级,某些度量项要进行细化,如股票价格,设为Y,通过长期的数据累积和假设验证找出影响Y的因子x1,x2……,从而建立了股票价格预测模型:
    Y=f(x1,x2…)
    另外要注意的是,SEI对四级和五级的理解和要求自2007年已发生了很大变化,以往四级强调过程的稳定性和控制图的使用,而现在更强调过程的可预测性,以及对过程偏差的理解。
    综上所述,如果用两个词来形容CMMI四级,一是量化管理的,二是可预测的。

    CMMI五级 = 共产主义社会

    CMMI五级就到了人类社会的最高阶段——共产主义社会。在共产主义社会,物质和精神文明极大丰富,因为是共有制,社会资源更够根据全民的需求进行合理的配置,而不是以资本家的利益为导向的,从而避免了经济危机、金融危机,社会效率非常高。
    达到了CMMI五级的组织,在四级量化管理的的基础上,通过持续的、系统的改进,其生产率、产品质量等重要指标都有很大提升。
    关于五级的理解,同样要避免一个误区,以为只有五级才要持续改进。其实,从一级到二、三、四、五级,这个过程一直是持续的过程,即使一个处于三级的组织想要维持三级的成熟度依然要持续的改进,因为环境不断地变化,新问题会不断地出现,过程也要随之优化。
    那么,五级的持续改进和之前级别的持续改进差别在哪里呢?比如,一个人每天开车上下班,他不断改进以减低油耗,比如改进开车方式,如不猛踩油门;速度快时关闭车窗以减小阻力;在路况和交规允许的情况下,高档快速行驶;保证车胎气量充足;确保车上没有多余负载等等。这些改进项一般是比较明显的,改进者凭借着经验、靠着感性进行的,属于五级前的改进。
    如果他上下班有两条线路可以选择,A线路10公里,平均速度慢,但红绿灯相对多;B线路12公里,红绿灯少,平均速度快。如果他平时大都走A线路,那么他现在要不要改进走B线路呢?这样问题很难回答了,就不能靠感性来选择,一定用数据来说话。我们假设其它条件相同,可以建立一个汽车耗油模型,耗油量设为Y,路程、车速和启动次数为影响Y的三个因子,设为x1,x2,x3,则有:
    Y=f(x1, x2, x3)
    当通过大量数据统计,得出各个因子的实际数值或者数值分布时,就可以计算出Ya 和Yb,如果Ya>Yb,则他应该选择线路B了。则这样的改进就是五级的改进了。可见,五级的改进是基于数据的、更加理性的改进。

    CMMI的过程域

    CMMI开发模型包括22个过程域,其中16个核心过程域,1个共享过程域(与其它CMMI模型共享),以及5个开发活动所特有的过程域(工程类)


    1. 过程管理类

    过程管理类过程域包含跨项目的活动,这些活动与过程的定义、计划、部 署、实施、监督、控制、评估、度量及改进相关。

    CMMI-DEV 中的五个过程管理类过程域是:
    • 组织级过程定义(Organizational Process Definition,OPD)
    • 组织级过程关注(Organizational Process Focus,OPF)
    • 组织级绩效管理(Organizational Performance Management,OPM)
    • 组织级过程性能(Organizational Process Performance,OPP)
    • 组织级培训(Organizational Training,OT)

    过程管理类的基础过程域为组织提供了一种能力,以将最佳实践、组织级 过程资产与经验教训文档化并在整个组织范围内分享。



    过程管理类的高级过程域为组织提供了一种提升了的能力,以达成其质量 与过程性能的量化目标。


    2. 项目管理类

    项目管理类过程域涵盖了与项目的计划、监督和控制相关的项目管理活动。

    CMMI-DEV 中的七个项目管理类过程域是:
    • 集成项目管理(Integrated Project Management,IPM)
    • 项目监督与控制(Project Monitoring and Control,PMC)
    • 项目计划(Project Planning,PP)
    • 量化项目管理(Quantitative Project Management,QPM)
    • 需求管理(Requirements Management,REQM)
    • 风险管理(Risk Management,RSKM)
    • 供方协议管理(Supplier Agreement Management,SAM)

    项目管理类的基础过程域应对建立并维护项目计划、建立并维护承诺、对照计划监督进度、采取纠正措施、以及管理供方协议等相关的活动。



    项目管理类的高级过程域对诸如以下活动进行应对:建立从组织的标准过 程集中裁剪得到的已定义过程,根据组织的工作环境标准建立项目的工作 环境,与相关干系人进行协调与协作,为项目的执行组建并维持团队,量化管理项目,以及管理风险。


    3.工程类

    工程类过程域涵盖了工程学科所共有的开发与维护活动。工程类过程域的 书写使用了通用的工程术语,这样,涉及产品开发过程(如软件工程、机 械工程等)的任何技术学科都能够将其用于过程改进。
    工程类过程域还将不同工程学科的关联过程整合到单一的产品开发过程 之中,来支持以产品为导向的过程改进策略。这样的策略瞄准的是实质性 的业务目标,而非特定的技术学科。这种过程方法有效避免了组织级“烟 囱”型隔阂思想的倾向。
    工程类过程域适用于开发领域中任何产品或服务的开发(如,软件产品、 硬件产品、服务、过程等)。

    CMMI-DEV 中的五个工程类过程域是:
    • 产品集成(Product Integration,PI)
    • 需求开发(Requirements Development,RD)
    • 技术解决方案(Technical Solution,TS)
    • 确认(Validation,VAL)
    • 验证(Verification,VER)

    4.支持类

    支持类过程域涵盖了支持产品开发与维护的活动。支持类过程域应对执行 其它过程时使用到的过程。总的来说,支持类过程域应对面向项目的过程, 并能够应对通用于组织的过程。
    例如,“过程与产品质量保证”过程域能够与所有的过程域一起使用,来 对全部过程域中所描述的过程与工作产品提供客观评价。

    CMMI-DEV 中的五个支持类过程域是:
    • 原因分析与解决(Causal Analysis and Resolution,CAR)
    • 配置管理(Configuration Management,CM)
    • 决策分析与解决(Decision Analysis and Resolution,DAR)
    • 度量与分析(Measurement and Analysis,MA)
    • 过程与产品质量保证(Process and Product Quality Assurance,PPQA)

    支持类的基础过程域应对所有过程域都使用到的基本支持功能。尽管所有 的支持类过程域都依赖于其它过程域作为输入,支持类的基础过程域所提 供的支持功能同样有助于一些通用实践的实施。


    支持类的高级过程域为项目与组织提供改进了的支持能力。这些过程域中 的每一个都依赖于来自其它过程域的具体输入或实践。


    过程域的模板

    参考

    https://cmmiinstitute.com/cmmi/
    CMMI-DEV V1.3

    相关文章

      网友评论

          本文标题:CMMI-能力成熟度模型集成

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