什么是CMM的核心

原创 2004年08月10日 14:25:00

什么是CMM的核心?这是长期在有志于软件工程与过程改进的人中存在的一个问题。
本人在一次CMM培训中准备了一个案例,希望能够生动而浅显地解释这个问题,在此与大家共享,也希望大家能提出更多问题。
如要转载,请顺手给我发个Email:JennyLi@netease.com,非常感谢。

案例背景:有一间房子,里面有一些人,一些杯子和水壶,以及用于烧水的用具,所有的人都需要喝开水。

CMM 1级:
过程:
找到杯子和水壶
倒水喝
问题:
找不到杯子,没水喝
找不到水壶,没水喝
水壶没水——不知道该怎么办
一天要喝多少水——不知道
倒一杯水要花多少时间,每个人每天为倒水花多少时间——不知道
思考:
买个饮水机能解决问题吗?

CMM 2级:
过程:
杯子放在茶几上
水壶放在餐台上
如果水壶没水,在厨房烧水
杯子用完要清洗,并放回茶几
培训:厨房烧水,清洗杯子
度量一天要烧几壶水,每个人每次/每天倒水要花多少时间
有人检查是否所有人用完杯子后都清洗并放回餐台
管理者关注这些活动的执行状态与成效
问题:
烧水太花时间
水要等凉了才能喝
效率不稳定:有人每天花20分钟倒水,有人每天花80分钟
思考:
买个饮水机能有帮助吗?

CMM 3级:
过程:
所有人都先在茶几取杯子,再去餐台倒水
统一用大杯子
每人每次倒两杯水,与人分享
指派专人定时烧水,放在凉水壶里
指派专人定时收集和清洗杯子
问题:
怎样才能做得更好?
思考:
买个饮水机划算吗?

CMM 4级:
过程:
建立评价模型:节省1分钟=节省1元钱,如果每人每天节省1分钟,则100个人1个月(30天)可以节省3000元——只要每月花费不超过3000元,我们就可以尝试新过程
定义量化的管理目标:3个月内将每人每天用于倒水的时间减少2分钟
以现在每人每天用于倒水的时间建立基线:平均10分钟,最少5分钟,最多20分钟
每个人为自己制定优于平均值的目标:本人每天用于倒水的时间不超过6分钟
度量并监控每天用于倒水的时间,一旦超过6分钟,要分析根本原因,并制定调整措施;最后结果是8分钟,超出预定的目标,但比平均值要好
3个月后调整基线:平均8分钟,最低4分钟,最高15分钟
问题:
不改进不行了!
思考:
买个饮水机是最好的方案吗?

CMM 5级:
过程:
发现问题的根本原因:倒水的时间之所以不能再少,是因为房间太大,走到餐台太远
找出能够解决根本原因的所有方法,用评价模型进行评价
选择一种方法,并制定改进的目标:买10个饮水机放在客厅里,每人每天节省2分钟
制定相应的过程:如果买饮水机,则需要定期定购桶装水,定期对饮水机出水口进行清洗和消毒,请人及时更换空水桶
试行过程:先找几个人试用,看看是否能达到预期目标
推广:让所有人都用饮水机
继续发现其它的根本原因……
问题:
怎样发现更多根本原因
怎样引进更多新方法
思考:
还有什么比饮水机更好的方法吗?

实验二:CMM语言词法分析

笔记 (一)、扫描处理 最主要的是正则表达式( regular expression)和有穷自动机( finite automata)。 扫描程序的任务是从源代码中读取字符并形成由编译器的以后部...
  • ancientmoondjay
  • ancientmoondjay
  • 2016年11月11日 11:12
  • 1509

实验三:CMM语言语法分析

注意: 1.本程序用的是LL1预测分析表法。 2.可根据输入的文法文件自动生成first集、follow集、select集以及预测分析表。 3.文法的符号之间要有空格。 4.最后的输出文件有s...
  • ancientmoondjay
  • ancientmoondjay
  • 2016年11月21日 23:31
  • 1505

Spring最核心的功能是什么?使用Spring框架的最核心的原因是什么?

quote:Spring最核心的功能是什么?使用Spring框架的最核心的原因是什么? (IT公司面试手册,可以多看看) Spring 框架中核心组件有三个:Core、Context 和...
  • xuxurui007
  • xuxurui007
  • 2015年11月17日 22:30
  • 6091

完整cmm解释器构造实践(五):解释执行与GUI

解释执行接下来要做的事情就是解释执行, 我们只需要将中间代码一条一条执行下来就行. 我们可以模仿CPU的执行方式, 使用一个叫pc的变量存储下一条需要执行的指令的序号. 每次执行一条执行就将pc+1,...
  • oqqShaw123
  • oqqShaw123
  • 2015年02月17日 23:13
  • 1869

软件能力成熟度模型CMM

CMM:其英文全称为Capability Maturity Model for Software,英文缩写为SW-CMM,简称CMM。它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各...
  • housheng3319
  • housheng3319
  • 2013年06月15日 22:59
  • 755

完整cmm解释器构造实践(四):语义分析与代码生成

语义分析语法分析只是分析了代码在语法上是不是合法的, 但是代码仍然有可能存在问题, 比如一些需要上下文才能分析的错误, 语法分析就不能分析出来. 比如下面的代码a = 10;从语法上来看, 这是一句合...
  • oqqShaw123
  • oqqShaw123
  • 2015年02月17日 21:54
  • 2393

CMM/CMMI的20年和敏捷十年

近来在InfoQ上陆续翻译了纪念回顾敏捷十年的文章,在CMM/CMMI/Agile都有兴趣的我不由得想到从1991年CMM1.0发布之时算起,今年正好也是CMM/CMMI的20年。 对比看下两者的历...
  • zhangmike
  • zhangmike
  • 2011年09月22日 07:07
  • 3881

CMM & 敏捷开发,向左走?向右走?

近几年来,敏捷开发模式在业界风生水起,SCRUM、XP、测试驱动开发等等,演化出很多方法论。有人说CMM就是过程规范,质量有保证;有人说CMM就是写一堆无甚用处的文档;有人说敏捷开发过程灵活,速度快;...
  • uuussseeennn
  • uuussseeennn
  • 2014年09月29日 22:00
  • 584

软件开发过程RUP,CMM,XP

软件开发过程RUP,CMM,XP考虑目前国内项目现况:需求调研先行,但需求不明确导致需求变更。中小公司缺乏过程规范指导,基本在CMM1即混乱状态。所以BSP采用的是X Process = CMM的体系...
  • sleks
  • sleks
  • 2015年07月13日 02:56
  • 768

CMMI是什么,CMM与CMMI的不同

关键字:CMMI,CMMI是什么,CMM与CMMI的不同 什么是CMMI? CMMI全称是Capability Maturity Model Integration, 即软件能力成熟度模型集成...
  • YYJKJ
  • YYJKJ
  • 2011年11月02日 16:51
  • 234
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:什么是CMM的核心
举报原因:
原因补充:

(最多只允许输入30个字)