|
||||
基于能力成熟度模型的软件过程改进 |
|
北京鼎新信息技术开发公司 沈泓 刘海笑 基于CMM的软件过程改进 1. 有关CMM的概念 CMM是由卡内基-梅隆大学的软件工程研究院(SEI)主持开发的能力成熟度模型(Capa city Maturity Model)。这套模型自问世以来就一直备受关注,成为衡量软件公司软件开 发管理水平的重要参考。CMM是一个五级模型,即:初始级、可重复级、已定义级、已管理 级、优化级。 2. CMM模型的用途 ··评估组用来评估一个软件组织在过程方面的力量和弱点; ·评估组用来评估软件发包方在选择承包商和管理合同时,由于选择不同承包商所造 成的风险; ·项目管理者和参加者用来在制订和实施组织的过程改进计划时,判定什么改进是必 须的; ·软件工程过程组用来指导他们制订和改进软件过程的行动。 3. CMM对于内部过程改进的价值所在——CBAIPI (1) CBAIPI概述 在CMM的四类用途中,对于一个要求改进软件过程的组织来说,第四类可能是最重要的 。那么,对于此种用途,CMM的模型该如何使用呢?为此,SEI引入了CBAIPI(CMM Based App raisal for Internal Process Improvement,内部过程改进用的基于CMM的评估方法)。 CBAIPI是专为组织进行内部过程改进而建立起来的一套CMM成熟度级别评估方法。该方法 是建立在以往SEI参与或者观察过的对软件组织的评估工作基础之上,依据成熟度框架构 建的一套评估的方法论,初稿发表于1995年,并于1996年发布了CBAIPI 1.1版。 CBAIPI方法论是一种诊断性的工具,它可以用来为一个软件组织判定它的软件过程, 并且对软件过程的改进起到指导性的作用。 (2) IDEAL模型 SEI推荐使用的软件过程改进方法是所谓的IDEAL模型,如图1所示。 @@1460200.JPG;图1@@ 根据IDEAL模型,成熟度的评估只是软件过程改进中的一个环节,如果这个环节与软件 过程改进的其他环节不能很好地结合,那么,软件能力成熟度的评估对于软件过程改进所 应具有的作用就得不到发挥。CBAIPI正是基于IDEAL模型所提出的一套面向内部过程改进 的评估方法论,它不仅能够帮助评估组判定一个软件组织当前的过程状况,更能够使评估 组和被评估组有针对性地进行协作,更加有效地进行内部过程改进工作。 (3) CBAIPI的目标、方法和要求 CBAIPI的方法论有两个主要目标 ··支持、鼓励和帮助软件组织致力于内部过程改进; ·使用CMM作为参考,为软件组织准确地提供其当前软件过程的力量和弱点,并指出需 要改进的关键过程区域。 CBAIPI的具体方法是 首先组织并且培训一个评估组,这个评估组不仅包括SEI承认的首席评估员,还应该包 括被评估组织的成员。然后,由评估组按照一定的结构与该组织的关键成员一道进行一系 列的活动,以了解他们存在的问题、关注的焦点以及改进意见。这个方法论基于以下原则 ·使用软件CMM 1.1版本作为过程的参考模型; ·使用正规的符合CMM评估框架(CAF)的评估过程; ·组织的高级经理作为赞助者参与评估; ·评估建立在赞助者的商业目标和需要上; ·严格保密,不泄漏针对特定个人或者项目的信息; ·评估应该以评估组与被评估组织协作的方式进行。 CBAIPI的要求如下 ·CBAIPI要求有一个评估组,由首席评估员领导,包括4~10名成员,其中至少有一名 来自被评估组织。所有的评估组成员必须接受相应的培训。评估组成员的挑选要符合相 关的软件工程和管理经验的要求。 ·评估必须是有计划的,该计划必须包括评估的目标、评估的范围(包括组织内需要 评估的项目、接受评估的人员意见、评估要覆盖的KPA)、评估的日程表和资源分配、评 估的输出以及相应的后续工作、对评估方法的裁剪计划、赞助者对评估工作的授权。 ·采集到的数据必须分类。 ·采集到的信息必须进行核实。 ·评估结果必须符合CAF的要求。 ·评估结果必须交给赞助者。 (4) CBAIPI的流程 CBAIPI分为三个阶段,即初始阶段、现场阶段和报告阶段。 初始阶段的流程如图2所示。 @@1460201.JPG;图2@@ 现场阶段的活动包括: ·开始仪式,应由被评估组织的高级经理参加,以示支持; ·面谈,使评估组得到第一手关于项目过程的信息以及项目参与者对过程的看法和改 进意见; ·概括和统一信息; ·准备报告草稿; ·展示报告草稿; ·统一、评估并准备最终的发现报告。 报告阶段的活动包括: ·展示最终的发现报告; ·与被评估单位的执行官交换意见; ·总结。 现场和报告阶段流程如图3所示。 @@1460202.JPG;图3@@ CAF和CMM评估 1. CAF及其目的 CMM评估框架(CMM Appraisal Framework,CAF)是一个开发、定义和使用基于CMM模型 的评估方法的框架。它提供了根据特定参考模型评判一个软件组织或机构其软件过程成 熟度的总体框架。这里介绍的CAF 1.0版本使用CMM 1.1版作为参考模型。 CAF包括两部分内容,即通用的CAF评估方法体系及评估方法的要求描述。 只有当一个评估方法满足所有CAF的要求时,我们才称之为与CAF完全相符。SEI提供 有偿的CAF相符性认证服务。 CAF是用来改进某一评估方法内部及不同方法之间的一致性,以帮助方法的制订者、 赞助者和使用者了解各种方法之间的优劣。 CAF的设计目的是:定义符合CAF的评估方法都有哪些需求;提供比较不同方法的指南 ;定义与CAF相符的方法构件及其相互关系;公开CAF评级方法的定义及其前提条件。 图4表示了参考模型、CAF和评估方法之间的关系。 @@1460203.JPG;图4@@ 2. 评估体系 根据SEI的IDEAL集成软件过程改进模型,过程改进将由下列阶段组成:准备阶段(Ini tiating)、调查阶段(Diagnosing)、计划阶段(Establishing)、执行阶段(Acting)和调 整阶段(Leveraging)。评估只是调查阶段中的部分活动,被用来了解软件组织当前实践活 动的特征。评估结果将被用于提出进一步过程改进的建议。 按照评估的目的可以将评估分成三种类型:为客户选择软件供应商提供信息;为软件 供应商进行内部过程改进提供指导;为客户/供应商联合过程改进和风险管理提供信息。 评估活动可分为评估计划和准备、执行评估、报告结果三个阶段。 评估数据的处理流程包括:以个人笔记的方式记录评估数据;充实上述记录,使之成为 可管理的数据集;由评估小组判断此数据集是否构成合法的观察结果集合;依照观察结果 进行级别判断;产生评估结果。 3. CAF方法介绍 下面将描述主要CAF方法的要求(要求编号为R1、R2、R3等)。 (1) 对评估方法进行文档化 对CAF相符性进行文档化 要求:R1 一个与CAF相符的方法应该文档化,该文档至少包括: ·它所基于的CMM和CAF版本号; ·对评估活动的实现方法及CAF要求的中间产品和指南加以文档。 (2) 评估的几个阶段 要求:R2 一个与CAF相符的方法应该为执行评估的三个阶段提供指导: ·评估的计划和准备; ·执行评估; ·报告结果。 (3) 评估的计划和准备 计划和准备是评估成功的关键,该阶段包括以下活动: 分析评估需求 包括分析评估的目的和制约条件,确定这些目标是否能够通过一个评 估方法来实现。同时还要确定评估的范围和客户对评估活动的承诺。 建立评估小组 包括选择小组长及组员,并对他们进行培训和定向指导。 选择参加评估人员 参加评估人员将为评估小组提供与软件过程相关的数据。选择参 加评估人员包括:确定地点、项目和有关组织的支持机构;确定参与数据收集工作的特定 人员;对上述人员提供评估的定向培养。 制订评估计划 一个CAF评估方法应该为制订评估计划并将其文档化提供指南,该计划 至少包括:确定评估目标,确定评估范围,确定评估活动,制订活动时间表,确定人员、资源 和预算,确定评估结果及其用途,确定预期的下一步活动,确定评估活动的风险。 (4) 执行评估活动 评估执行阶段的三个主要活动如下: 数据采集和记录 要求:R19 一个CAF评估方法应该为在评估执行时使用的数据采集方法和技术提供指南,并对其 按管理工具、讲演、面试、文档审查四种类型进行分类。 数据确认过程 包括: ·将得到的观察笔记转换成按CMM分类的观察记录集合; ·确定这些观察记录的合法性; ·确定这些观察记录对评估范围的覆盖程度,并适当调整数据采集计划; ·保持观察数据、观察结果和最终级别评定的一致性。 做出级别评定 要求:R28 一个CAF评估方法应使用下列规则定义一个级别评定过程: ·一个KPA(关键过程区域)或目标是满足CMM要求的,仅当与之相关的CMM要求都已实 现为人所共知或有适当的替代做法。 · 一个KPA或目标是不满足CMM要求的,仅当在被评估机构里存在CMM实现或推广教育 的严重缺陷,且无相应的替代做法。 ·一个KPA或目标是不适用的,如果该KPA在被评估软件组织的环境中是不适用的。 ·一个KPA或目标是未评定的,如果与之相关的评估记录不能满足覆盖准则或该部分 内容超出了评估的范围。 在做出级别评定中还包括: 何时执行评定 要求:R29 一个CAF评估方法应定义一个评定过程,该过程定义包括: ·仅当有效的目标观察数据满足该评估方法中定义的覆盖标准时,评估小组可以开始 对目标的评定。 ·仅当一个KPA的所有有关目标都被评定以后,才可以开始对该KPA的评定。 ·仅当一个成熟度级别及其各较低级别的KPA都被评定以后,才可以开始对该成熟度 级别的评定。 评定算法 要求:R30 一个CAF评估方法应定义一个评定过程使所有评估小组成员在做出评定决定时达到一 致。 要求:R31 一个CAF评估方法要求评定以CMM for Software V1.1和Key Practices of the Cap ability Maturity Model V1.1版本为基础。 要求:R32 一个CAF评估方法应定义一个评定过程,该过程要求评估小组以有效的观察数据为基 础进行评定。 判断目标的满足性 要求:R33 一个CAF评估方法应定义一个评定过程,该过程说明每个目标的评定方法: ·一个目标被评定为"满足的",如果与之相关的观察结果表明该目标已被实现且被普 遍认同而无重大缺陷,或存在实现该目标的替代做法。 ·一个目标被评定为"不满足的",如果与之相关的观察结果表明该目标在实现或被普 遍认同过程中有重大缺陷,且不存在实现该目标的替代做法。 · 一个目标被评定为"不适用的",如果该KPA在软件组织的环境中是不适用的。 ·一个目标被评定为"未评定的",如果与之相关的观察数据不满足评估方法中定义的 覆盖准则或该目标超出了评估的范围。 判断KPA的满足性 要求:R34 一个CAF评估方法应定义一个评定过程,该过程说明每个KPA的评定方法: · 一个KPA被评定为"满足的",如果与之相关的目标都被评定为"满足的"。 · 一个KPA被评定为"不满足的",如果有一个与之相关的目标被评定为"不满足的"。 · 一个KPA被评定为"不适用的",如果该KPA在软件组织的环境中是"不适用的"。 · 一个KPA被评定为"未评定的",如果有一个与之相关的目标被评定为"未评定的"或 该KPA超出了评估的范围。 决定成熟度级别 要求:R35 一个CAF评估方法应定义一个评定过程,该过程说明成熟度级别的评定方法: ·某一成熟度级别是"满足的"仅当该成熟度级别及其各较低成熟度级别的KPA被评定 为"满足的"。 ·成熟度级别的判定以最高的满足级别为准。 (5) 报告评估结果 报告评估结果 要求:R37 一个CAF评估方法应规定评估小组在评估结束时应向评估赞助人提交至少下列数据: 评估范围;评估的地点、项目、参加人员、评估小组成员;评估记录;评定的级别;与评估 结果的准确性和完整性有关的风险。 保护评估结果的机密性 要求:R39 一个CAF评估方法应为保护评估结果的机密性提供指南。 评估记录的保存 要求:R40 一个CAF评估方法应为评估记录的保存提供指南。 |
周报全文频道联系方式:010-68130909 |
||||||
| 【关于我们】 【广告服务】 【周报发行】 【投稿指南】 【投稿声明】 【联系方式】 【法律声明】 【媒体手册】 【编读往来】 |
||||||
| Copyright© ccw.com.cn,All rights reserved | ||||||
| 中国计算机世界出版服务公司版权所有 | ||||||