1.实施CMMI过程改进的两种方法
- 阶段表示
- 连续表示
2.CMMI评估
-
实施CMMI过程改进的两种方法
- CMMI模型支持两种实施过程改进的方法,一种称为阶段表示,一种称为连续表示。
- 阶段表示(Staged Representation)为过程改进提供了一个预定义的路线图,即从成熟度等级1到成熟度等级5逐级增加,要达到某一成熟度等级,必须满足该等级(及其以下等级)上所有过程域的目标。
- 连续表示(Continuous Representation)支持单个过程域的改进,可理解为一个过程域接着一个过程域实施改进。在每个过程域上从能力等级0到能力等级5逐级增加。
-
阶段表示和连续表示的对比
- 阶段表示是从CMM模型继承而来,已经过多年的实践检验。它提供了一个明确的、被证实的过程改进路径,遵循这条路径不需要过多的讨论和争论。而且由于它的明确性和统一性,有助于进行跨组织的比较。
- 连续表示的优点是提供了灵活性。用户可根据具体的改进目标来选择需要实现的过程域及其实现次序。
-
CMMI评估
- 成熟度等级的评估由美国卡内基梅隆大学的软件工程研究所授权的主任评估师领导一个评审小组进行,其成员大部分来自企业内部。
- 评估过程包括员工培训(企业的高层领导也要参加)、问卷填写和统计、文档审查、数据分析、与企业的高层领导讨论和撰写评估报告等。评估结束由主任评估师签字生效。
- 评估结果报告给SEI。
- 一般有两种类型的评估:软件过程评估和软件能力评价。
- 软件过程评估用于确定机构当前过程的状态,决定一个机构所面临的与过程相关的问题,并且获得机构对软件过程改进的支持。
- 软件能力评价用来确定合格的软件项目承包方,或用来监督在目前的软件项目中正在进行的软件过程的状态。
-
软件过程评估方法
- 判断一个组织当前的软件过程的状态,并发现过程中的缺陷。
- 判断并确定一个组织面对的与软件过程相关的改进策略。
-
软件能力评价方法
- 判断有意承担某个软件项目的软件组织(投标者)的过程能力。
- 利用评价结果确定选择某一承包者的风险。
- 判断已进行的软件过程所处的状态是否正确或是否正常。
- 推动承包者在工作过程中改进他们的软件过程。
-
过程评估和能力评价步骤
- 挑选队伍:成员必须具有专业的软件工程和管理方面的知识,并接受过基本CMM/CMMI概念和特定评估及评价方法的训练。
- 问卷调查:让来自被评估单位的代表完成软件过程成熟度问卷并回答评估评价组提出的诊断性问题。
- 响应分析:明确哪些回答与问题的答案相吻合,并确定须进一步调查的领域。
- 现场调查:从响应分析的结果出发,评估小组进行提问、检查、协商等,以获取专业性的结论,说明软件过程的 KPA是否达到了应有的目标。
- 评估小组提供一个定义软件过程优缺点的结果清单。对于软件过程评估来说,这些结果将成为过程改进的基础和参考; 对于软件能力评价来说,这些结果为决策者提供风险分析的技术基础。
- 评估小组完成KPA基本概况的描述文件,给出组织已经满足的KPA目标和尚未满足的KPA目标。
-
软件过程评估和软件能力评价之间的不同
- 软件过程评估和软件能力评价在出发点和目标上是不同的(导致成熟度问卷调查的内容组织不一样,收集的信息不一样,结论的评价不一样)。
- 软件过程评估是在一个开放的、互相协作的环境下进行的。而软件能力评价往往是在有较大阻力的环境中进行的。(因为过程评估是为了提高管理者和工程师的工作水平,而能力评价是为了表明一个软件组织的实际软件过程能力,为选择承包者和减少费用服务)。
-
影响CMMI过程改进成败的因素
- 过程改进必须有高级主管的支持与委托,并积极地管理过程改进的进展。
- 基层技术人员的参与和支持极端重要。
- 利用定量的可观察数据尽快使过程改进的成果可见,从而激励参与者的兴趣。
- 按照软件过程改进对企业文化的要求进行变革,要求软件过程改进为商业利益服务,并与企业其他部分协调。