首页 > 软件测试/ 正文
CMM的动机
2013-03-05 00:02:45 ℃
cmm的原始动机有很多,我今天分析其中的几个。 首先我关注的是cmm希望能够满足组织间能力成熟度的对照评价。 实际上真正被关注的是组件间开发能力的评价,而由于cmm本身的限制,其提供的只能是这个评价的一个参数。而这里其实就有很大的问题。比如评价一个军队的战斗力,不能仅仅是评价其组织的能力,还应该评价其装备和指挥思想以及基础人员的基本素质。而就一个开发团队来说其过程显然是受其使用技术和面向的商业环境以及开发的产品的约束更大,当然过程能力也会有反作用,不过这个反作用不应该是其决定作用的一个因素。一个好的过程自然会让技术得到更多的发挥,也可以更加适应市场环境,同时能够更加针对性的推出产品。不过显然市场环境,企业的技术能力和所使用的技术,以及其产品,更加是受客观环境的约束和企业决策管理的制约,过程能力无论如何不可能起到决定因素。而如果我们从发包方的角度看,他们希望的是能够评价究竟谁更加能够完成他们的项目。这里显然是具有更多类似项目经验的具有更大的竞争力。而同时使用的技术也是被予以更多的关注,这就好比人们认为武器更加先进的一方战斗能力更容易取得上风。而过程能力由于其自身的限制,应该是最后才被考虑的。这也就是为什么cmm更加被做纯粹编码外包的企业所重视的原因,因为在这个时候其技术和商业环境以及产品都是固定的,是被发包方所规定的。而这本身也就是表明你赚取的只能说最稀薄的那块利润。 那么我们是不是就能够比较容易的对比企业间过程的能力呢,或者说是不是就能够使用cmm的方法很简单的做出这个评价呢?这里显然又出现了一个问题,比如我做代码外包,你衡量我的需求分析过程是不是符合难道就真的那么重要吗?而需求分析显然是cmm2的最基本要求。而这是不是说cmm初始级别的企业其实也可以满足纯粹代码外包的能力呢? 而我们分析过程能力的一个必须要件scm,也存在很多的疑点。一个5人的团队的scm能力显然无法同一个50人团队的scm能力直接比较。而一个50个月的项目和一个5个月的项目,scm的能力也很难比较。同时一个采用软件公有制的团队,同一个软件私有制的团队,能力的比较又该如何做呢? 另外软件项目计划能力显然对与非设计外包的企业用处不大,而软件项目控制能力其实也并非那么需要被重视。 而更加重要的是,存在很情况是某些项目只能某些人才能够被接受,这人是不是说明cmm初始级其实就可以解决问题。那么我们投资做cmm的评估意义何在,更加直接的说我们搞过程改进的意义又在哪里呢? cmm的另外一个动机也被我关注——cmm提供了一个过程改进的框架,或者说途径。 这里其实我们真正需要的是提供一个改善我们软件开发能力的通道,而傻子都知道找到有能力的人员并且留住他们是最有效、最便捷的途径,为什么cmm却认为这个是cmm初始阶段的特征呢?这里有2个解释,一个是cmm认为过程绝对是决定因素,依靠能人不行。这显然是在骂cmm是比傻瓜还弱智。另外一个合理的解释是,有能人是一个基础过程,不管什么时候都必须满足这个条件,因此cmm就把这个问题当公理一样了。而这是不是就说明本身前期在国内的某些宣传是撒谎呢? 又比如scm这个基础实践。我们都知道在混乱情况下的scm保证更加困难,也就是说完成本身所代表的能力就更高。而随着过程的改进,可控制性的提升,显然应该说对scm能力的需求就不那么强烈了。这个时候我们去维持一个我们已经不需要那么强大的能力是不是有必要呢?而同时如果是随着能力的增加,所面临的项目可能更加复杂,环境更加恶劣,这个时候是不是又需要提高我们的scm。而更加重要的是,可能随着新技术或者新的市场策略,scm也需要改变策略,这个时候我们该如何评价这个能力呢?当然这也就是cmmi提出的一个原始动因。不过企业的发展显然是在二维空间,而不是一个线性的通道中,这个也是一个问题。 cmm的一个动机显然是上面这个动机的一个引申,也就是可制定一个标准来评价企业发展的前后过程能力。 问题又来了,过程能力的提高应该看的是过程能力所带来的收益和其成本的比例,以及这个效率同其他成本付出的收益之间的比较。而本身我看不到cmm在4以前能够提供这个能力,那么是不是说我们要走一大段的黑路,这难道合乎最基本的企业管理思想吗? 上面是cmm这些动机所带来的问题,然而这些动机无疑都是非常重要的。cmm可能不能满足这些动机,但是cmm提出的这些动机也确实是非常有前瞻性和突破性的。也许cmm不能告诉我们如何满足它们,但是提出他们本身就是一个巨大的进步。这为我们今后以此为起到进行我们自己的过程改进提供了一个基础的平台,是一个巨大的贡献。 对比组织间的过程能力,无疑会带来企业自身能力的一个评估过程,这是现在竞争性环境先的必然考量。而提供一个框架供企业进行过程改进的参考,无疑也是大多数人所希望看到了。而能够标准化的衡量企业的过程能力,无疑也对企业进行过程改进,增强竞争力提供了一个可靠的参数。 而实际上cmm最初的的原型,是一套企业开发情况的问答题,企业可以按照它来检视其自身的开发过程情况,然后可以针对做出的改进。这个做法无疑是有效而面向实践的。实际上如果我们也来搞一套自己的类似cmm的东西,也是应该按照这个样本来做的。 同时我们还可以发现,cmm提纯出的19个关键过程域是很正确的,它实际上理顺了我们过程中所需要做的工作,这是一个很有价值的分类。不过这其中也是有问题的,之后我就会具体的拿出一个做分析。
- 上一篇:软件测试流程?
- 下一篇:嵌入式系统软件的全过程质量保证
更多开封电脑学校技校都有什么专业,郑州北大青鸟一天都有课吗,郑州北大青鸟IT学校有哪些,郑州技校有哪些学校在招生,郑州计算机培训班具体位置在哪,洛阳电脑学校哪家好呢相关文章
- 基于Java Web开发中的Ant属性配置文件代码
- 浅谈Java中的几种随机数
- 关于如何提高代码可测试性的一些看法
- 对话马丁·福勒(Martin Fowler)——第四部分:灵活性与复杂性
- 软件测试脚本设计心得
- 接口测试的两种方法
- 如何测试一个印有广告的水杯?
- 五个月的软件测试工作感想
- Scrum交互瀑布式软件测试
- 为什么要做探索性测试
- 接口验证模式
- 学习TDD:TDD的好处
- 探索性测试揭秘
- 软件测试员需要学习的基本知识
- 软件产品质量的价值
- 三年QA工作的感想与体会
- 说说软件的质量控制
- 质量保证漫漫谈之SQA的三种层次及职业发展
- 软件测试及软件质量控制
- 跌跌撞撞的持续集成之路
- 软件开发各阶段的质量控制
- 网络邮箱格式怎么写 教你怎么写网络邮箱格式
- CMD命令集全部放送
- 电脑的寿命有多长?
- 一些要慎用DOS命令
- 常用的电脑名词英文解释和缩写
- 电脑十大件都怕什么---电脑保养
- 软件开发行业的有哪些就业岗位需要做什么事呢?
- 程序员要怎样学英语
- 郑州Java高薪就业零基础培训班
- 搜索
-
- 热门标签