天易31----CMMI(软件能力成熟度模型集成)

来源:互联网 发布:java上传本地文件 编辑:程序博客网 时间:2024/04/29 03:50

简介

CMMI全称是Capability Maturity Model Integration, 即软件能力成熟度模型集成,是由美国国防部与卡内基-梅隆大学和美国国防工业协会共同开发和研制的,其目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。其所依据的想法是:只要集中精力持续努力去建立有效的软件工程过程的基础结构,不断进行管理的实践和过程的改进,就可以克服软件开发中的困难。CMMI为改进一个组织的各种过程提供了一个单一的集成化框架,新的集成模型框架消除了各个模型的不一致性,减少了模型间的重复,增加透明度和理解,建立了一个自动的、可扩展的框架。因而能够从总体上改进组织的质量和效率。CMMI主要关注点就是成本效益、明确重点、过程集中和灵活性四个方面。

资料阅读:
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.打开关闭趋势,产品是否稳定。测试轮数太少。

CMMI中有关定义及英文缩写说明

一、英文缩写说明

l       能力成熟度模型集成CMMI: Capability Maturity Model Integration

l         通用目标GG:Generic Goals         特定目标SG:Specific Goals

l         通用实践GP:Generic Practices

l         特定实践SP:Specific Practices

l         过程域PA:Process Area

l         需求管理REQM: Requirement Management

l         项目策划PP:Project Planning

l         项目监督和控制PMC:Project Monitoring and Control  Planning

l         供方协定管理SAM: Supplier Agreement Management

l         测量和分析MA: Measurement and Analysis

l         过程和产品质量保证PPQA: Process and Product Quality Assurance

l         配置管理CM: Configuration Management

l         需求开发RD: Requirement Development

l         技术解决TS: Technical Solution

l         产品集成PI: Product Integration

l         验证VER: Verification

l         确认 VAL: Validation

l         组织过程聚焦OPF: Organization Process Focus

l         组织过程定义OPD: Organization Process Definition

l         组织培训OT: Organization Training

l         集成项目管理IPM: Integration Project Management

l         风险管理RSKM: Risk Management

l         决策分析和决定DAR:Decision Analysis and Resolution

l         质量保证QA: Quality Assurance

l         项目经理PM:Project Manager

l         软件工程过程组SEPG: Software engineering process group

l         过程改进指导描述PIID:Process Improvement Indicator Description

l         SCAMPI:Appraisal Method for Process Improvement  (CMMI中评估过程改进的一种方法)

 

二、定义

l         共利益者(Stakeholder):所谓“共利益者”,指的是受到某种负责产生输出的方式影响的群体或个人。共利益者可能包括项目经理、供方、顾客以及其他人。术语“相关的共利益者”用于指某个计划中要求执行某类活动或接收某类信息的群体和个人。

l         工作产品(work product):指由过程产生的任何人工制品。这些人工制品可能包括文卷、文档、产品的一部分、服务、过程、规范以及清册等。

l         产品构件(product component):“产品构件”是产品的组成部分。把产品构件加以集成,可以构造出产品。可能存在多个层次的产品构件。产品构件也是工作产品,但是必须经过工程化(需求确定、设计、集成式解决方案开发等)才能实现产品的预计用途。产品构件可能是将要交付给顾客的产品的组成部分,也可能只是供项目内部使用或其他方面使用。

l         目标(goal):本标准中为评估模型定义了“通用目标”和“特定目标”,把它们作为衡量实际的软件过程的能力的重要尺度;在涉及软件过程能力的上下文中,每个通用目标和特定目标都具有特定的含义,不要把其他背景中的目标一词与它们混淆。

l         组织的标准过程集合(organization's set of standard process):“组织的标准过程集合”包含各个基本过程的定义,用以指导本组织里的所有过程。这些过程的描述覆盖各个基本过程要素以及要素之间的 关系。这些基本要素是项目已定义过程的组成部分。对于那些要在项目中实施的已定义过程而言,这些要素是必须借用的。标准过程为整个组织范围内的开发活动和维护活动确立了一致性,是实现长期稳步改进的基础。  

l         已定义过程(defined process):“己定义过程”是根据本组织的剪裁指南从组织的标准过程集合剪裁得到的受管理的过程。“项目已定义过程”是对项目的作业和活动进行策划、执行和改进的基础。一个项目可以有不止一个已定义过程(例如,一个用于产品开发,一个用于产品测试)。

l         组织过程财富(organizational assets):“组织过程财富”是被认为对定义和实施组织里的过程有用的制品,它们供项目和开发、剪裁、维护以及实施过程时使用。

 

l         过程体系结构(process architectures):“过程体系结构”是标准过程中的各个过程要素之间的顺序、界面、相互依存性和其他关系的描述。  

l         过程要素(process element):“过程要素”是过程描述的基本单位。过程可以用子过程或过程要素予以定义。子过程可以进一步加以分








原创粉丝点击