CMMI 2.0开发模型的十大困惑
对于CMMI概念,很多人都曾有过这样那样的迷茫,SEI当年曾列举了十大困惑,很好的做了一把科普。做过若干次的CMMI2.0培训和评估之后,发现大家对于2.0概念也有一些理解弱项。今天集中火力消灭常见问题也写个TOP10。
先做两点声明,除了模型中实践的句子,本文解释部分均是个人表述,没有引用模型中的描述(符合研究院的保密要求);另外这十大困惑奖完全基于个人感觉,没点到的欢迎留言,我会抽空解答。
研究院年会上分享2.0评估经验
10.II中的“infrastructure”到底指的是什么?
Implementation Infrastructure是要让过程执行力和改进力得到制度和机制上的保证。说了就要做,不好的就得改,这两句话说起来简单,做到却相当不容易,至少我经常做不到。II中的infrastructure指的就是执行和改进组织所有过程必须有的必要支持,这些支持不能因为换了领导就变,需要体现在制度上。其中,人员的保证是第一位的,也就是组织需要有明确、固定的过程改进的推动者,过程执行的监督者,过程优劣的评价者。过程培训必须是组织培训需要考虑的一个重要方面;资金的保证当然是必不可缺的,每年总得拨出一些预算进行规划吧;工具恐怕是最重要的装备要求。有了实施基础支持,我们不敢保证就能做好,但如果缺乏实质的制度化的支持,CMMI的导入基本就是鬼扯。
9.Verification和 Validation的区别是什么?
Validation给中国软件质量的提升带来了实质的帮助,用户不会再使用没有经过Validation的软件了。CMMI对二者区别的解释,不太符合中国人的阅读理解。简单来讲,Verification就是保证功能的正确,通常的单元、部件、配置项、集成、系统测试都属于Verification的范围(注意也有可能有例外)。而Validation则是要保证这些功能在预期的实际环境中也能实现预期的目的,通常试运行、验收测试是常见的Validation活动,站在用户角度来考虑是Validation的重要特点。
8.CAR提到的outcomes指的是什么?
CAR中提到要选择需要做CAR的outcomes(结果),而CAR是改进的一个重要步骤,所以这里的outcomes讲的是能带来改进机会的结果。我们不可能对所有的结果都做CAR,那么什么是一些性价比高的呢?如重复出现的缺陷类别,用户报的缺陷,惨不忍睹的客户满意度反馈等是常见的需要做CAR的坏的outcomes。而高效的评审、测试结果,让人眼前一亮的客户评价则可能是值得做CAR的好的outcomes。
7.Peer Review的peer指的是谁?
同行评审是技术评审,就是要尽可能多的发现问题。Peer(同行)一般应该是做同样工作的人,或者是相关领域专家。行政领导一般不应该是Peer,领导参加往往会出现一鸟入林百鸟无声的情况。
6.需要理清楚的三个level
Level在CMMI 2.0中出现在三个地方:Practice Level,Capability Level,Maturity Level。Practice Level 代表实践的级别,Capability Level 代表PA的能力,而Maturity Level则代表组织的能力。
5.赋予多义的performance
记得5000朋友问过如何翻译2.0中的Performance这个词,还真不好翻,因为看它出现在哪里了。你能区分出下列的Performance吗?business performance, process performance, measurement and performance objectives, performance parameter, 还有 technical performance。
4.需求双向跟踪的要求到底是什么?
RDM中的双向跟踪要求大家都不陌生,但到底要跟踪到什么程度?首先双向指的是纵向的双向,而不是纵向加横向。后者也有意义,但维护成本更高。实现需求双向跟踪的方式可以很灵活,不一定要做个矩阵,趋势是通过工具实现。而跟踪内容也可以根据实际需要和性价比来设定,同样是非常灵活。
3.MPM里面operational definition指的是什么?
度量的operational definition是一个及其重要的概念,不知为何它没有出现在之前的CMMI模型中。令人不解的是,它居然也没出现在2.0最后的词汇表中,这个概念理解起来也不是那么容易吧?简单讲operational definition解决的是度量的可比性、一致性、可重复性。你的度量表中的每一列内容加起来希望能够合理定义出一个度量项的可操作定义!
2.OT中的战略(strategic)培训指的是什么培训?
要理解战略培训,可以看看OT中和它并列的短期(short-term)培训(代表近期需要的技能)。顾名思义,战略培训有长期的意思,战略培训一定是和公司的战略目标绑在一起。那么战略要往前看几年呢?这和公司的规模和现状有关系。战略培训需求的识别和规划是许多小规模组织做得很薄弱的地方。
1.PAD提的过程架构(process architecture)是什么?
很高兴CMMI 2.0明确提出了过程架构的概念,这是一个普遍弱项。既然有了过程架构,那么就该有过程架构师。像产品架构一样,过程架构应该给出清晰的过程的View:过程元素之间的接口关系,先后次序,裁剪层次等。好的过程架构有助于过程的执行,同时有助于过程的完善。过程元素的模块化可以有力的支持过程架构建立、完善。(来源:丛斌博士)