近波音737MAX空难也让美国联邦航空局(FAA)遇到了的麻烦,因为用于航空飞行控制的软件都要通过FAA的标准认证流程, 如DO-178C (点击下图,阅读原文)。许多开始质疑FAA的认证过程存在问题,他们对FAA审核没有发现737 MAX升级软件的潜在问题感到不解。严格的软件认证过程真能发现所有质量隐患吗?如果了解软件特点,我们知道答案是否定的。否则不会有飞机失事、核电站泄漏、火箭实效等问题了。这些安全关键软件评估认证的过程比CMMI要严格10倍,也起到了重要的作用,但通过认证绝不是0缺陷的。
实施CMMI-4&5就是在CMMI-3级的基础上再实施4个PA,从PA数量上来说增加的很少,但这并不意味的实施起来比较简单,相反,实施CMMI-4&5级比实施CMMI-3级要难的多。主要原因是实施CMMI-4&5需要收集大量的过程数据,并进行统计分析,建立过程性能基线和模型,然后在项目和过程改进中应用这些基线和模型,综合来说主要有如下难点:
技术方面:
1) 统计分析技术不好理解,需要花费大量的时间学习和应用
2) 组织级度量库中收集的数据太少,不足以建立基线和模型:数据点一般在20个以上才具有统计意义
3) 组织级度量库中数据不全,需要的数据没有收集,导致不能建立有意义的基线和模型:基线和模型需要覆盖整个项目的生命周期,从需求、设计、编码、测试、交付都要覆盖
4) 过程不稳定,影响因素太多,数据之间相关性很差,根本不能建立模型:一般主要因为人员不稳定、项目类型差异很大,不可控因素太多导致过程不稳定
管理方面:
1) 领导支持力度不够:不能提供足够的资源
2) 缺乏有能力的人员:EPG和度量分析人员水平太差,对新知识的领悟和理解能力很差
3) 项目组不配合,很多数据无法收集:项目人员本身对CMMI高成熟度的要求不理解,反感记录和提供数据,或者记录和提供的数据不准确
4) 没有建立量化的质量文化:对数据不敏感,主要靠经验决策,对收集的数据可靠性没有信心
基于以上难点,实施CMMI-4&5级难度很大,但是也不是说不能实施,只要企业能够实实在在的实施CMMI-3级,并注意过程度量数据的收集,有了这些过程数据作为基础,在加上公司能够在资源上大力支持,那么实施CMMI-4&5级还是不算难的。