软件能力成熟度模型(Capability Maturity Model for Software,CMM)

在这里插入图片描述
为了保证软件产品的质量,80年代中期,美国联邦政府提出对软件承包商的软件开发能力进行评估的要求。因此,美国卡内基-梅隆大学软件工程研究所 (CMU/SEI) 于1987年研究发布了软件过程成熟度框架,并提供了软件过程评估和软件能力评价两种评估方法和软件成熟度提问单。4年之后,SEI将软件过程成熟度框架进化为软件能力成熟度模型(Capability Maturity Model For Software,简称SW-CMM),并发布了最早的SW-CMM 1.0版。经过两年的试用,1993年SEI正式发布了SW-CMM1.1版,这是目前使用最为广泛的版本。

自1991年SW-CMM首次发布后,SEI又开发了其他成熟度模型,包括:系统工程、采购、人力资源管理和集成产品开发等。虽然各个模型针对的专业领域不同,但彼此之间也有一定的重叠,毕竟它们同出一辙;另外,这些模型在表现形式上又有不统一之处:系统工程模型是连续式的,而其他模型采用了分级式。当SEI开始开发新一代成熟度模型的时候,其发起人提出了新的要求:整合不同模型中的最佳实践,建立统一模型,覆盖不同领域,供企业进行整个组织的全面过程改进。所以,SEI于2001年12月正式发布了能力成熟度集成模型(CMMI)1.1版本,这次发布标志着CMMI的正式使用。SEI也正式宣布,将不再维护SW-CMM的CBA-IPI评估方法:在CMMI1.1发布后的两年内,SEI还提供有关SW-CMM和CBA-IPI主任评估员的培训,并接收评估数据,但这一切已于2003年12月底正式停止。
SEI并没有废除CMM模型,而是以CMMI的SCAMPI评估方法取代CMM的CBA-IPI评估方法。当然很多业内人士认为,随着软件行业的发展,CMMI模型将最终取代CMM模型。
CMM在软件行业中的应用非常广泛,许多知名公司如Microsoft、IBM和Google等都通过实施CMM来提高软件开发过程的质量和效率。

一、应用场景

CMM(软件能力成熟度模型)的应用场景主要集中在以下几个方面:

  1. 软件过程评估与改进:CMM提供了一种评估软件组织过程成熟度的方法,帮助组织识别其软件过程的当前状态,并指导如何进行改进。
  2. 软件项目管理:CMM强调项目管理过程的制度化和标准化,使得项目能够在预算和时间范围内交付,提高项目成功率。
  3. 质量保证:通过实施CMM,组织能够建立更加可靠的软件开发和维护流程,提高软件产品的质量和可靠性。
  4. 风险管理:CMM作为一种风险管理模型,提供了衡量组织风险管理能力的方法,帮助组织更好地管理软件开发过程中的风险。
  5. 供应商管理:CMM可以用于评价软件承包商的能力,帮助组织选择合适的供应商,并监控其开发过程的状态。
  6. 组织内部改进:CMM的实施有助于组织内部对软件过程进行持续的改进,建立持续改进的文化。
  7. 国际市场竞争:CMM认证有助于提高组织的国际竞争力,通过标准化的软件开发流程,能够更好地满足国际市场的要求。
  8. 教育与培训:CMM的原理和实践可以作为教育和培训的教材,提升软件工程师和管理人员的软件工程能力。
  9. 第三方评估:CMM还可以作为第三方评估的依据,帮助评估组织的综合软件能力,为软件采购和合作提供参考。
  10. 软件过程能力评估:CMM与相关的评估模型一起,可以对软件企业的综合软件能力进行评估,帮助企业确定软件过程的能力状态。
    CMM的应用不仅限于软件开发领域,它的管理理念和方法论也被其他行业借鉴,用于提升整体的管理水平和产品质量。

二、成熟度级别

CMM定义了五个成熟度级别,从初始级到优化级,每个级别都有其特定的特征和要求:

  1. 初始级(Initial):在这个阶段,软件过程无序且不可预测,项目成功依赖于个人的努力和英雄式的核心人物的作用。
  2. 可重复级(Repeatable):建立了基本的项目管理过程,以确保项目能够在预算和时间范围内交付,且有过程准则来重复以前的成功经验。
  3. 已定义级(Defined):软件过程已经文档化、标准化,并成为整个组织的标准软件过程,所有项目都采用统一的过程来开发和维护软件。
  4. 已管理级(Managed):制定了软件过程和产品质量的详细度量标准,组织能够定量地控制软件工程过程,并能够预测项目的结果。
  5. 优化级(Optimizing):组织持续地改进其软件工程过程,以满足不断变化的项目目标和组织目标,拥有持续改进的文化,并不断寻求创新和提高效率的方法。
    CMM的关键过程领域包括软件配置管理、质量保证、软件项目跟踪和监控、软件过程改进以及供应商管理等,这些领域的有效管理对于提高软件开发过程的成熟度至关重要。
    实施CMM的方法和步骤包括预评估和计划、团队培训和意识提升、过程改进和模型调整、性能度量和持续监控以及成熟度评估和认证。

三、评估流程

  1. 评估前准备:企业需要对项目参与人员进行评估流程的介绍,准备PIIDS(项目信息和数据收集系统)编写,指导过程完善,参与人员熟悉访谈列表,以及准备评估前清单。
  2. 注册发起人账号:至少提前两个月在CMMI官网注册发起人账号和协调人账号,以便于后续的评估活动。
  3. 咨询公司协助:企业通常会通过咨询公司进行CMMI评估的申请,咨询公司与评估师沟通确定评估时间,并协助企业准备评审材料,如项目资料、公司基本信息、开发流程、人员角色安排等。
  4. 人员培训:在材料准备过程中,咨询公司负责对企业进行CMMI培训,并对企业人员进行模拟访谈,主要针对访谈的重点问题和需要考核的方向。
  5. 正式评估:咨询公司根据情况协助企业进行线上或现场评估,提供部分ATM(Appraisal Team Member)人员、商务翻译等,企业需要提供访谈人员,包括高层经理、EPG(过程改进小组)、项目经理、测试人员、开发人员等。
  6. 评估策划:进行评估策划(远程),然后进行评估准备的文档评审,评估注意事项培训,现场准备工作审查,ATM培训。
  7. 现场评估报告:正式评审一般持续5-7天,评审完成后,1-2个月公示结果,可以通过CMMI官网或者领汇认证中心CMMI查询网站进行查询。
  8. 评估结果:评估团队由主任评估师领导,根据CMM模型进行评估,审查正在使用和将来使用的文件/文档,并对不同的组织员工进行采访。评估结束时由主任评估师签字生效。
  9. 评估报告:评估报告必须针对CMM的每个关键过程方面,指出软件过程在哪些方面已经有效地执行了,哪些方面还没有有效地执行。评估报告和结果将送交所有有关的人员并上报CMU/SEI。
  10. 后续行动:根据评估结果,企业将制定相应的改进措施,继续提升其软件过程的成熟度。
    CMM评估是一个系统化和标准化的过程,旨在帮助软件企业识别和改进其软件开发过程,提高产品质量和生产效率。

四、实施费用

CMM(软件能力成熟度模型)评估的费用会根据多种因素而有所不同。根据搜索得到的信息,以下是一些影响CMM评估费用的因素:

  1. CMMI官方评估费用:这是固定的费用,需要交给CMMI官方机构。这个费用会根据CMMI研究院的动态变动而变动,例如CMMI模型版本从V1.3升级到V2.0后,评估费用可能会有所上调。
  2. 咨询公司服务费用:如果企业选择通过咨询公司进行CMMI评估的申请,还需要支付给咨询公司的服务费用。这包括CMMI材料制作、辅导费,人员CMMI培训费,ATM(Appraisal Team Member)成员和商务翻译费用,以及评估师的招待费和路费(如果进行现场评估)。
  3. 企业规模和所处行业:公司的大小和行业特点也会影响评估的总体费用。
  4. 认证级别:CMMI认证有不同的级别,从1级到5级,不同级别的认证所需的费用也不同。CMMI 3级的评估费用和CMMI 5级的评估费用有显著差异。
  5. 培训与咨询支持需求:企业在准备评估过程中可能需要额外的培训和咨询支持,这也会增加费用。
  6. 评估师的报酬和差旅费:评估服务费用包括主任评估师和评估团队的工作报酬,以及可能产生的差旅、住宿等费用。
  7. CMMI研究院的评估费用调整:CMMI研究院可能会不定期对评估费用进行调整,因此,具体费用可能会随时间变化。
    根据提供的信息,CMMI 3级的评估费用大约在15-17万人民币不等,而CMMI 5级的评估费用在35-38万人民币不等,具体费用需要根据企业的软硬件实力进行评估。
    实际费用可能会根据具体情况有所不同。企业在选择CMMI评估机构时,应综合考虑服务项目、服务标准、服务水平与服务价格的相符性,而不仅仅是价格因素。
    总的来说,CMM作为软件行业中的重要管理工具,将继续在未来发挥重要作用,帮助软件公司提升软件开发能力,提高产品质量,实现持续创新和发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值