实施CMMI3的体会

      公司从去年年底开始实施CMMI3,记得当初上培训课的时候,听着老师介绍过程管理,项目管理,工程过程,支持过程这四大类过程域的时候,全部门上下听得稀里糊涂,从未想到这个鬼东西还这么复杂,这么麻烦。

      公司之所以要实施CMMI3,一来是想规范一下项目开发流程,二来是拉更多的外包项目,因为有些项目投标时,有些客户一定要求要通过了CMMI。全部门上下都没有实施过CMMI的经验,有些同事在以前上班的公司早已实施过CMMI,有些也轮不到他们去参与。所以实施CMMI3感觉有点像摸着石头过河。实施七八个月,过程虽然痛苦,但收获彼多。

      CMMI分为五个等级:CMMI1.初始级   2. 已管理级  3. 已定义级4. 量化管理级 5. 优化管理级,公司可以直接评CMMI3级,但要评CMMI4级,要通过CMMI3级才可以实施,CMMI5级则要先通过CMMI4级。

      CMMI3的体系文件主要分为四大类过程域:过程管理,项目管理,工程过程,支持过程,每个过程域下面都有相应的模板文件。

      财富库: 财富库里面包括六个子库

     

库名

存放内容

责任部门

标准过程库

**公司CMMI标准过程集合(含过程、指南与文档模板)

EPG

培训库

公司级培训教材与相关资料

培训工作资料保存

办公室

开发研发类经验

存放公司产品开发类、产品研发类、维护开发类项目在实施中的好的记录与资料、经验教训,以供其它项目参考

**部门

过程改进经验库

存放公司过程改进中的优秀过程记录,包括改进计划、改进报告、改进经验、案例、评估记录等资料

EPG

测量库

存放组织各部门的测量数据及测量分析报告

EPG、各测量责任部门

软件构件库

可供组织项目组复用的公用软件、代码

**部门



       软件项目开发活动中主要的几个步骤项目立项—>初步策划(包括编写项目总体计划初稿,编写项目进度计划初稿等)—>需求调研(编写用户需求规格说明书和需求规格说明书)—>总体策划(在初步策划的基础上编写计划书)—>设计(概要设计和详细设计)—>编码(根据详细设计与编码规范进行编码)—>单元测试—>测试(集成,系统)—>试运用—>验收交付—>结项,开发过程中还有很多评审,比如需求规格说明书评审,概要设计说明书评审,详细设计说明书等,每次评审时都有评审检查单和评审报告或是评审会议纪要,这些都将成为CMMI评审的直接证据或间接证据。

      配置管理的工具:公司是用VSS版本控制器来进行配置管理,其他的版本控制 器也行,这是没有特殊规定的。

     PIID表: PIID表是用来记录CMMI实施的直接证据,间接证据,访谈证据的Excel表,这个表相当重要,评审的时候要检查这个表,然后去配置库找相应的文档。

     角色 在CMMI参与人员中,可分为很多角色,不同的角色各司其职。

               PM:项目经理;    DEV:开发人员;   EGP:过程改进组;   QA:质量保证员

               CM:配置管理人员  SEPG 软件工程过程组   SAM(部门经理)  Tester 测试人员

               GM:副总,副总经理,高层领导

     不同的级别,在CMMI3实施中担任不同的角色,访谈的时候也会对不同的角色分类访谈,各个角色人员必须熟悉自己任务与自己写的文档,对相关的其他工作与流程也要了解,因为评估师有可能会问及其他角色的问题.

     访谈答案的准备:在访谈问题准备前,一般培训老师会给出一些针对不同角色的访谈问题,然后由我们自己整理答案。在评估前,会有几次的模拟访谈。

     项目经理模拟访谈问题:

代码
1.    项目介绍,自我介绍
2.    如何作项目估算 
3.    如何作项目定义,裁减?
4.    怎么编写项目计划?
5.    怎么做项目监控 
6.    项目执行中出现偏差,如何处理?
7.    如何管理风险?
8.    测量分析活动如何做?
9.    何时做决策分析?针对什么问题,怎么做?
10.    项目如何做需求调研?
11.    如何分析需求?
12.    如何确认需求?
13.    如何管理需求变更?
14.    如何跟踪需求?

     开发人员设计人员模拟访谈问题:

代码
1.    自我介绍,职责
2.    工作由谁分配?项目计划,进度计划,周例会;
3.    怎么根据需求做概要设计的?
4.    概要设计详细设计如何评审?
5.    是否参与评审?发现了哪些问题?
6.    如何做详细设计?
7.    如何判断详细设计够了?足可以指导开发的工作。
8.    编码是否有编码规范?
9.    如何做单元测试?
10.    单元测试发现的缺陷如何处理?
11.    单元测试结束后,如何产品集成?
12.    手工如何做集成?
13.    集成环境是怎样的?
14.    集成顺序是如何?为何要这么做?
15.    开发人员如何修改BUG?
16.    是否存在开发人员觉得不是BUG,测试人员觉得是的情况。怎么解决?
17.    开发人员如何对配置库进行使用?
18.    设计开发人员的职责是什么?
19.    接受过哪些跟设计开发相关的培训?
20.    QA有无检查你们的工作?
 

     EPG(过程改进小组)模拟访谈问题:

1. 如何策划公司过程改进工作的?策划过程?
2.怎么确定改进的目标的?
3.过程改进过程中收集了哪些过程改进的建议? 
4.如何对周期性的问题改进?
5.改进计划 ?
6.如何实施改进?
7.改进效果的监控如何进行?
8.财富库如何管理?
9.职责,培训,工作产物放在哪里,如何监控,QA如何检查工作。

 QA(质量保证)模拟访谈问题:

QA
1.    如何做项目质量的保证?
2.    如何对策划的过程进行检查?
3.    如何检查需求规格说明书?(对工作产品德检查)
4.    对项目的检查,发现最主要的问题是什么?
5.    造成这些问题的原因?
6.    发现的问题如何沟通解决的?
7.    谁来检查你的工作?  第三方QA
8.    问题长时间没有解决如何做?
9.    质量保证过程的方针?
10.    对EPG提出了哪些建议?是否接受?

     测试人员模拟访谈问题:

代码
1.项目测试目的?
发现问题,确保产品达到需求的要求。
2.如何对测试计划?
对象,进度,开始准则
3.如何写用例?
根据需求规格说明书,覆盖测试需求;项目特别的流程分析,异常情况,用例发现缺陷的能力。
4.测试和开发之间衔接。
开发人员集成完成后,给安装包,进入测试环境进行测试,测试完后发现的缺陷提交到MANTIS,(缺陷管理过程的流程:分派,解决,验证,分版本解决)
5.对于测试结果的地分析?(怎么通过结果分析,是否达到要求可通过测试,测试用力的覆盖和缺陷解决率,稳定性,是否达到结束要求准则)
6.测试报告的内容?
7.职责,资源,培训,
8.其他角色的关系,人员怎么安排,如何分配,怎么确认,怎么做汇报。与PM,QA的关系。
9.测试环境,软硬件?怎么组建这些测试环境,工具….测试用例的数据准备,考虑特例。等价类,边界值。如何判断测试解释结束,通过的方法。
10.打开关闭趋势,产品是否稳定。测试轮数太少。

    对于CMMI3的一个很大的感触就是文档太多,成本太高,小项目根本不可能嫌钱。CMMI3历时七八个月,加了无次班,但受益匪浅。

 

 

 

posted @ 2010-07-11 17:07  遗落沧海的贝壳  阅读(7315)  评论(34编辑  收藏  举报