公司从去年年底开始实施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(质量保证)模拟访谈问题:

  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历时七八个月,加了无次班,但受益匪浅。

05-11 19:22