????作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。 ????主页地址:【Austin_zhai】 ????目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能,分享行业相关最新信息。 ????声明:博主日常工作较为繁忙,文章会不定期更新,各类行业或职场问题欢迎大家私信,有空必回。
(阅读目录)
1. 目的
最近受朋友公司所托,帮他们的测试团队与产品线质量保障体系业务进行业务咨询。其中让我比较感兴趣的就是一个50人的测试部门,从5年前的初创的十几人团队开始,经历了从混乱到有序的流程演变,通过团队乃至公司整体的意识认知与实际行动,自始至终将产品质量思维贯彻其中,最后让公司通过了CMMI4级认证。能获得这样的成,最根本的原因就在于公司上下团结一致,各层部门与人员有效的发挥着各自的作用,坚持不断创新、总结、优化各类工作流程与项目经验。而更难得的是公司内的人员与团队又始终保持着高度的目的与价值观统一。这样的公司总体来说想不成功都很难。
说到这里就不得不提一下CMMI这个概念了,相信在IT公司做过研发与测试的同学应该都有所耳闻,这次我们就围绕着CMMI来详细说说与其相关的一些内容。
2. CMMI是什么
CMMI的全称为Capability Maturity Model Integration,即能力成熟度模型集成。最早的时候在部分国家与地区还是使用的是CMM这个标准,但随着模型本身的发展与演化,最后就变成了CMMI这个广泛的认证模型标准了。至于CMMI的具体来龙去脉,大家有兴趣的话可以直接百度一下,这里就不做赘述了。
那CMMI又有什么用呢?企业在集成了CMMI的成熟度模型之后,可以增强软件的开发与改进能力,也方便对软件工程过程进行管理和优化,从而能按时地、不超预算地开发出高质量的软件;这么说可能会有点虚,其实说直白点就是规范企业的项目产品执行过程。如果企业严格依照CMMI的要求去执行产品或项目的流程,认证时会评估企业这套执行流程就给与评分和改进建议,流程中的需求分析、设计、编码、测试、集成、交付一些列的动作就可以依照这个标准来进行优化和提升,并且CMMI认证的专业性也是毋庸置疑的,所以带给企业的执行流程方面的提升也是显而易见且效果巨大的。另外,如果企业的项目都是以招标的形式进行获取的话,通过CMMI的高等级认证,它可以帮助企业在招投标中获得高额加分,一般情况下可以获得2-7分的加分;某些情况下企业可以靠CMMI认证获得高额*补贴,部分地区的补贴可以达到几十万元;至于CMMI为企业带来的其他正向影响也是不胜枚举,比如行业标杆影响力、企业的品牌宣传、融资时的优势等等等等。
3. CMMI评级划分
CMMI一共分为5级,1级最低,5级最高。每一级的定义如下:
1级(初始级):产品或项目的研发过程是混乱的,对过程管理几乎没有定义,就是我们平时所说的干到哪算哪。过程中的风险与不可控环节随处都是,这样的状态下研发出的产品自然没有任何的高质量保障。说的极端点,产品是否OK完全看运气。
2级(管理级):产品或项目的研发过程中建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程规范,并能复用之前项目中成功经验。一般来说大部分的小公司都处于在这个阶段,有基本的研发流程与项目管理角色参与其中,但也仅限于此,项目中的时间、成本、质量无法做到应有的及时管控与优化。尽管可以从既有与过往的项目中复盘进行部分的完善与优化,但也有其自身的局限性。
3级(定义级):企业已经将产品或项目的过程有了一整套完整的实施流程,并演化成企业自身的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。到了这一等级,整个产品或项目的研发过程已经是相当的完善了,其中的每一个阶段的准入、输入、输出、成果物都是经过准确标准评审而产生的正向结果,也正是因为这样的严格标准,才能确保整个研发的链路中很少会出现不可控因素与低级风险产生,从而保证了产品与项目的高质量交付与上线。
4级(量化管理级):分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。这一级别是在3级的基础上增加了数据论证与量级控制标准,研发的过程中对于每个阶段的要求都有精确的度量数据,以此来进行高精度的产品与项目质量管控。试想一下,在这个等级中,测试团队需要在项目的测试阶段严格做好每一项测试流程中的活动:测试计划(是否细化到大中小周期)、测试用例(覆盖率是否100%)、评审的时机是否在需求规格说明书在设计阶段进行、接口测试-功能测试-非功能测试-性能测试是否按照事前安排准确执行、测试报告中测试结果描述维度、问题的解决与跟踪是否有明确的去向、是否符合执行标准,除了这些,还需要有缺陷防范机制;主动进行技术变动管理与标志、选择、评价的机制;过程变动管理,定义过程改进的目的,经常地进行过程改进等等条件限制。
5级(优化级):优化管理级的量化反馈和先进的新思想、新技术促使过程持续不断改进。这一等级的要求就已经变得极其严苛了,需要在产品或项目的过程中特别关注软件过程改进的持续性、有效性以及自身加强。防止缺陷及问题的发生。不断地提高整个的过程能力。另外对于执行过程的效果,进行成本/利润分析,从成功的过程实践中吸取经验,加以总结。把最好的创新成绩迅速向全组织转移。对失败的案例,由项目团队近行分析以找出原因。项目完成后进行分析,通过来自过程的质量反馈和吸收新观念、新科技,使过程能不断地得到改进。最后对过程的评价相对标准软件过程的改进,都在全组织内推广。
4. CMMI认证评级的注意点
4.1 CMMI 3
一般来说CMM1和CMMI2,企业只要有软件研发的过程,企业实际经营管理能够正常运转且经营状态为续存,就满足了要求。而从CMMI3开始才会有相应的认证证书,对企业也开始有了一定的要求了,如团队规模与人员角色数量规定。
认证CMMI3级的话研发团队人数应在15-20人左右,开发的产品需要准备3个(两个是研发完成状态,另一个是需要在研发中),评估小组成员4人(ATM),另外就是固定的办公场所。
CMMI3的人员架构需要1名发起人(公司法人或高层,法人最好),组织级5人(高层经理、组织培训、过程与产品质量保证、配置管理员、过程改进小组EPG),项目级10人(负责该项目的项目经理、开发与测试人员等),评估小组4人(主要负责协助主任评估师完成正式评估)。
一般来说CMMI3的认证不会太困难,大部分的企业都是可以达到认证条件的,只需要全力配合认证机构顺利开展,并确保所需的材料与日常工作标准与输出物OK的情况下,剩下的就只是水到渠成的事。
4.2 CMMI 4
CMMI4的要求自然就更高了,它要求认证企业必须拥有自己的项目库,并且能从一定量的案例中做到实际的优化,对人员(开发、测试、质量经理、ATM等)、软件、企业经营规模等要求都更高。
CMMI的认证是可以越级的,但也仅限于到CMMI3,要认证CMMI4与CMMI5的话必须先通过CMMI3的认证并且持证时间满一年后才可以。
CMMI4认证的资格除了上面说的这些先决条件之外,另外很重要的就是在CMMI3认证取得之后一直到CMMI4或5认证开的这段时间是否有积累到一定量的项目实施经验与成果累积,这里的积累不是单纯的只要执行就好了,重点在于是否可以按照后期需要认证的CMMI等级的标准要求进行相应的材料与经验累积。说的通俗一点就是你想考个证,就必须复习和他相关的教材的意思。日常工作中是否有严格按照CMMI的认证要求执行,对应的流程与标准是否有迹可循,文档化、量化、持久化都是必不可少的手段。剩下的无非就是团队的规模是否达标,企业战略目标是否合理且明确等等条件。
4.3 CMMI 5
能申请到CMMI5的公司都是非常厉害的,达到企业规模65人和项目规模6个的要求其实并不难,难就难在20个实践领域。企业必须确保在满足CMMI3的实践领域基础上追加这些并严格执行这些认证要求。
这里需要注意的是之前很多人说的22个过程领域其实是CMMI v1.3版本的叫法,2019年开始就全面改为CMMI2.0版本,此版本开始已经将这个22个领域进行了分解与合并,变成了现在的20个实践领域。要想认证这一等级的话就必须满足20个实践领域,具体领域明细如下:
5. CMMI认证评级的流程
CMMI的所有等级相关认证流程都是差不多的,这里以CMMI5为例,大致从企划到认证结束的流程如下:
5.1 企划发起
由于CMMI认证工作十分的专业,所以企业一般来说会先选择一家专业的咨询公司来帮助自己进行相关的认证准备工作。
5.2 信息注册与提交
首先,发起人需要在CMMI研究院官网进行信息注册,注册成功之后,联系CMMI评估师,将企业的OU表(包括公司信息、项目信息、ATM信息)发送给评估师,CMMI评估师会根据企业注册的信息发起评估计划,这个时候一般已经可以确定CMMI的评估日期了,CMMI评估师根据日程安排*选择。这里需要注意的是发起人账号与协调人账号的注册必须提前几个月的时间,不然评估的时间会排到你怀疑人生。还有一点就是与评估师的沟通最好都有咨询公司主导,当然后续的一些事宜都最好提前与咨询公司沟通到位或者在场陪同。
5.3 资料筹备与人员安排
接下来咨询公司会协助企业准备评审材料,CMMI认证材料主要包括项目资料,企业基本信息,研发流程,人员角色安排等等,咨询公司会根据这些资料将企业的软件开发流程进行CMMI标准化,使其符合认证的要求标准。
基本的审核材料有企业基本信息,如企业英文名、企业简介、组织架构、公司的战略目标、产品的应用领域、企业总人数、产品研发相关人员的数量、客户类型、年度销售额、评估的发起人和联系人等基本信息。项目相关的有项目信息,包含项目名称、项目描述、客户名称、客户类型、起始日期等。项目确定的考虑因素包含项目材料完整度、项目相关人员是否有时间参与评估、项目规模、项目类型、客户类型等。人员角色则需要根据已确定项目,将参与评估的各角色人员,如高层经理、各项目的项目经理、设 计人员、开发人员、测试人员、过程改进人员(EPG)、配置管理人员(CM)、质量保证人员(QA)等。这里需要考虑人员本身是否从事或了解角色所对应的工作、时间是否充足、项目相关人员是否参与过对应项目并有一定量的项目经验等。
5.4 评估前准备
这个是正式评估前的最后一环,在企业进行审核的相关材料准备过程中,咨询公司会对对应人员进行CMMI培训,另外在正式的CMMI认证之前,也需要对参与人员针对考核方向与访谈重点进行模拟访谈。培训的内容一般包含:CMMI的整体概念、根据认证等级的所属实践领域与其实际作用、大致的认证流程步骤、参与人员角色的具体分工责任、实践领域与执行流程各阶段的输出物是什么等等之类。
这里拿博主的公司举例,角色培训部门会对具体参与人员进行角色专项培训,培训内容主要是有针对性的梳理各角色工作内容、工作流程、输出成果物、相关干系人、访谈重点关注内容、评估准备重点材料等。之后会让各角色人员结合专项培训内容和整体CMMI评估材料进行评估前准备、了解材料内容、项目内容、相关工作成果输出物的位置与问题的作答方向。全部完成后按照正式访谈形式进行模拟访谈演练,了解受访谈人员的准备情况,针对准备不充分的人员进行补充培训。一般来说以上这些工作内容基本在正式认证前一个半月到两个月之前就必须完成。
5.4 正式评估
在正式评估开始的前一天,会由咨询公司与评估师联系,根据评估师要求,准备就绪检查。企业配合协调就绪检查和访谈期间使用的会议室场地、准备受访谈人员使用的电脑等设备、协调参与检查人员时间、准备投影设备、摄像头等。
正式评估为期5天,第1天会开一个启动大会,相关的角色人员都不用参加。
第2和第3天就是重头戏了,评估师与评估小组会根据对应申请等级认证的数百条要求来进行审查,审查大致分为两类,一个是物,文档审查,也就是我们平时项目执行流程中所涉及的各类执行工作文档与记录;另一个就是人,现场访谈,评估师与评估小组会对相关人员进行访谈,受访谈人员包话:项目经理、开发、测试、设计、需求分析、QA、OT、CM、高层经理等。评估小组完成所有的实践领域的文档审核、现场访谈工作后,评估小组更新产出物,并由评估师、评估小组全员参与已投票表决的方式进行逐条打分。最后,提交最终版的产出物、以及项目级和组织级文档给到评估师。评估师会对其查证与访谈的结果来判断企业的这一部分是否符合CMMI的对应要求,这个结果最终会在审查的最后一天向全员公布。
第4天评估小组与企业相关人员召开初步发现会议,此会议企业发起人、相关人员可以就初步发现报告中的问题进行补充说明,实质类似于答辩会。这个初步发现会会分为两次召开,第一次是面向相关员工的,第二次是面向管理人员的,时长都差不多在半小时左右。之后评估师与评估小组再次对初步发现报告进行最终确认,还是以投票表决的形式对结果达成一致。
第5天就会公布最终的审查结果,最终结果由评估师形成最终报告。并与企业相关人员召开最终报告总结会议,同时宣布评审通过和不通过。最后,评估师会将最终发现报告留存给企业发起人。这个会需要全员参与并且现场拍合照存档。
所有工作结束之后,评估师会整理好所有评估的工作输出物,通过评估系统提交给官方审查。官方的质量审查小组对全球每一场评估进行审查,判断评估是否满足SCAMPI A评估流程规范的要求。一般正式评估之后的1到2个月就可以在CMMI研究院官网上查看到公布的评审结果,另外审查结果也会以邮件的形式同步发送到企业发起人与评估师这边。
6. 一点建议
对于一般企业想通过CMMI来提升产品与项目流程的规范性,无论出发点是什么,CMMI3其实是一个比较不错的选择,相较于CMMI4与5来说,3既没有太高的审查认证难度,评估的周期也不长,重要的是认证价格也没有那么的贵。能达到CMMI3等级的企业,他们的执行流程较之前的提升效果也都是比较大的。再者说如果认证完CMMI3觉得没有太大压力并且有刚需的话可以再尝试4急或者5级的认证,这样的选择也未尝不是一个性价比与风险较低的方案。