当前位置:文档之家› CMMI量化管理、用“数据说话”

CMMI量化管理、用“数据说话”

摘要人的体温是37℃,我们就说正常的、健康的度数,当人的体温是39℃,我们就判断他是发烧的、不健康的状态,当通过打针吃药降到37℃时,也就是通过医疗手段有成效、有意义的。

那么众多的软件项目,如何衡量他们的健康状态呢?如何发现其中的不良状况,识别过程改进机会、改进效果呢?本文通过“P项目”,介绍在高能力成熟度企业中以过程为导向,数据量化管理为基础的最佳实践,结合项目的实践情况,分析和总结如何在实践中通过数量化的指标来设置项目目标,跟踪项目状态,并且预测项目状态,以识别改进的机会,从而持续改进项目管理方法。

关键字度理管理,数据说话案例背景“P项目”是一个CMMI5推广项目,由于公司2004年年底通过CMMI5认证,2005年要在原有CMM3的基础上推广CMMI5,其中“P项目”是试点之一。

与CMM3要求相比,作为CMMI5推广的重要特点之一是:进行度量管理。

其重要特点是数据量大、数据较多,数据存放在哪里,没有挖掘使用,也就是数据垃圾。

2005年由QA与项目经理沟通,制定项目度量计划,根据公司2005年27个性能基线目标上,选择5个度量目标项,其中项目度量1个,产品度量4个,没有过程度量。

这些度量目标在项目过程书中有明确的规定,同时度量数据采集工具为:Bug Free。

项目的质量和过程性能目标如下:案例分析软件度量(software measurement)是对软件开发项目、过程及其产品进行数据定义、收集以及分析的持续性定量化过程,目的在于对此加以理解、预测、评估、控制和改善。

没有软件度量,就不能从软件开发的暗箱中跳将出来。

通过软件度量可以改进软件开发过程,促进项目成功,开发高质量的软件产品。

度量取向是软件开发诸多事项的横断面,包括顾客满意度度量、质量度量、项目度量、以及品牌资产度量、知识产权价值度量,等等。

度量取向要依靠事实、数据、原理、法则;其方法是测试、审核、调查;其工具是统计、图表、数字、模型;其标准是量化的指标。

在项目实施过程中,如何进行度量管理,用数据说话呢?一、了解度量基础知识l基本概念Ø度量目标:在一定时期内,度量工作应实现的或达到的程度。

这些目标通常根据组织的过程能力、资源预算、质量管理要求以及商业期望来定义。

Ø度量指标:组织级定义的,标准度量项和应达到的要求。

Ø基本度量:是用一个指定的度量方法对某个实体的单个属性的度量。

数据收集就是给基本度量赋值的过程。

Ø派生度量:是两个(或多个)基本度量(或派生度量)的函数。

派生度量用于获取基于多个属性的信息。

Ø度量项:基本度量和派生度量的统称。

如:“XXXX”公司2007年度量指标项:序号度量指标项控制下限平均值控制上限1 总进度偏差率0.00% 11.80% 31.18%2 设计阶段发现的属于需求的缺陷率7.76% 10.90% 14.05%3 编码阶段发现的属于需求的缺陷率0.50% 2.29% 4.08%4 编码阶段发现的属于设计的缺陷率9.56% 12.39% 15.22%5 需求缺陷注入率18.8% 22.3% 25.9%6 设计缺陷注入率25.1% 31.5% 37.9%l度量的目标软件开发正在经受一场危机。

需求调研时间很长、未签合同先行实施、费用超支、维护周期长、生产率低下、产品质量不合格等问题正困扰着它。

简言之,软件开发经常处于失控状态,项目管理处于滞后状态。

Tom Demarco曾经说过:"没有度量就不能控制。

"这种说法是好的,但不完全。

并不能说为了获得控制必须进行度量。

度量活动必须有明确的目标或目的,而正是这决定着我们选择哪种属性和实体进行度量。

这个目标与软件开发、使用时所涉及的人的层次有关。

以下主要从管理者和软件工程师两种角度来考虑,为了达到各种目标所要进行的度量工作。

一、对管理者而言:Ø需要度量软件开发过程中的不同阶段的费用。

Ø为了对不同的项目进行比较、对将来的项目进行预测、建立基线以及设定合理的改进目标等,需要度量开发的产品的质量。

Ø需要决定项目的度量目标。

例如:应达到多大的测试覆盖率、系统最后的可靠性应有多大等。

Ø为了找出是什么因素影响着费用和生产率,需要反复测试某一特定过程和资源的属性。

二、对软件工程师而言:Ø需要制定过程度量以监视不断演进的系统。

这包括设计过程中的改动、在不同的回顾或测试阶段发现的错误等等。

Ø需使用严格的度量的术语来指定对软件质量和性能的要求,以便使这些要求是可测试的。

例如:系统必须"可靠",可用如下的更具体的文字加以描述:"平均错误时间必须大于15个CPU时间片。

"Ø为了合格需要度量产品和过程的属性。

例如:看一个产品是否合格要看产品的一些可度量的特性如"β测试阶段少于20个错误。

","每个模块的代码行不超过100行。

",和开发过程的一些属性如"单元测试"必须覆盖90%以上的用例等。

Ø需要度量当前已存在的产品和过程的属性以便预测将来的产品。

例如:(1).通过度量软件规格说明书的大小来预测目标的大小。

(2).通过度量设计文档的结构特性来预测将来维护的"盲点"。

(3).通过度量测试阶段的软件的可靠性来预测软件今后操作、运行的可靠性。

研究上面我们列出的度量的目标和活动我们可以发现:软件度量的目标可大致概括为两类。

其一,我们使用度量来进行估计。

这使得我们可以同步地跟踪一个特定的软件项目。

其二,我们应用度量来预测项目的一些重要的特性。

但是,值得指出的是我们不能过分夸大这些预?仅仅是预测而已。

有些人甚至认为只要使用合适的模型和工具,所获得的预测可以精确到只需使用极少的其他度量(甚至根本就不用使用度量)。

事实上,这种期望是不现实的。

l成熟度等对质量体系的要求ØCMMI5:进行根本原因分析,消除编差发生的普遍原因,改善过程能力基线,制度化过程改进活动。

ØCMMI4:建立过程控制方法,建立过程能力基线,消除编差发生的特殊原因。

ØCMMI3:验证数据,分析度量结果;对组织层面指定的度量确定目标值;制度化度量活动。

ØCM MI2:基于度量目标,建立一个覆盖过程、产品、和项目的度量框架,并实施度量。

成熟度等级对度量粒度的影响l软件度量三维度软件度量能够为项目管理者提供有关项目的各种重要信息,其实质是根据一定规则,将数字或符号赋予系统、构件、过程或者质量等实体的特定属性,即对实体属性的量化表示,从而能够清楚地理解该实体。

软件度量贯穿整个软件开发生命周期,是软件开发过程中进行理解、预测、评估、控制和改善的重要载体。

软件质量度量建立在度量数学理论基础之上。

软件度量包括3个维度,即项目度量、产品度量和过程度量,具体情况如表-1所示。

二、度量实施过程l策划度量管理活动Ø采集和统计软件项目及其过程(例如规模、工作量、进度、成本或缺陷等要素)的数据。

Ø以采集的数据为基础,通过对数据的有效性分析,从而建立例如软件估计或决策方面的应用,包括模型的建立等许多数据分析的方法。

Ø保留数据,并将这些数据用于评定过程的稳定性和能力;解释分析的结果;预测将来的成本和性能;提供基线和基准;进行趋势分析;确定改进时间。

Ø涉及业务:量化开发过程活动和工作产品,确定度量范围,收集度量数据,分析并反馈,改善度量过程;向度量数据库提供过程度量数据。

l编制组织级度量计划Ø从过程改进组成员选定一位公司度量管理人员。

Ø公司度量管理人员每半年或事件驱动编制《组织度量计划》。

Ø过程改进组评审《组织度量计划》。

l编制项目组度量计划Ø项目经理指派一位项目度量管理人员。

Ø项目度量管理人员在项目计划阶段编制《项目度量计划》,该计划作为项目计划的一个部分。

l度量需求调研Ø公司度量管理人员向相关人员调查度量的需求。

Ø过程改进组每半年对组织软件过程情况进行总结,明确近期的改进目标和重点。

Ø公司度量管理人员收集度量需求信息,根据度量需求信息和度量评审会议的结果,形成《度量数据需求报告》。

Ø过程改进组对《度量数据需求报告》进行评审。

l确定度量指标Ø公司度量管理人员根据公司的质量目标和通过评审的《度量数据需求报告》,定义出适合的度量指标。

具体度量指标的方法参见《目标和性能管理》程序文件。

组织每年确定的度量指标不宜过多,一般保持3-5个即可。

Ø项目经理依据组织确定的度量指标,在《项目过程书》中分解项目的度量指标。

l收集度量数据Ø公司度量管理人员按照《组织质量计划》,收集度量数据,并将度量数据记录到《度量数据采集表中》。

Ø项目经理协同项目度量管理人员组织项目组成员进行相关度量数据的收集,并将度量数据记录到《度量数据采集表中》。

l审核度量数据过程改进组对收集的组织级度量数据的真实有效性和完备性进行评审。

项目经理协同项目度量管理人员审核项目级度量数据,主要包括:Ø数据真实有效性:发现与项目的平均预期有较大的偏差时,必须与数据收集人核对所收集的数据,如果确有错误,应及时纠正或对数据进行附加说明。

Ø数据完备性检验:必须核对是否收集了全部数据,是否存在遗漏、无用数据,如果确有遗漏,需督促收集人进行补充。

l存储度量数据Ø公司过程数据库由过程改进组指派专人进行管理,并在组织级度量计划中明确。

Ø公司度量管理人员负责将度量数据提交过程数据库管理员入库,并检查度量数据入库情况。

Ø项目组成员每天将度量数据输入万达项目管理工作平台(PMTOOL),项目度量管理人员依照规定采集方法和时间,采集度量数据,并将采集的度量数据转移到项目数据库中,待项目结束时,集中纳入组织过程数据库。

项目度量管理人员根据度量数据入库情况,依据《项目度量计划》的要求,编制《项目度量情况报告》。

Ø公司过程数据库管理员应该保留采集的度量数据,以供将来重新分析或建立文档时使用。

l分析度量数据Ø公司/项目度量管理人员每月统计度量项的及时率,如果及时率低于80%,则将偏差情况提交给过程改进组;(度量项及时率=1-原始数据的入库时间超过规定时间的工作日/度量频度*100%)Ø公司/项目度量管理人员每审核20个数据即统计度量项准确率,如果低于80%,则将偏差情况提交给过程改进组;(度量项准确率=1-原始数据的未通过审核个数/总度量个数*100%)。

Ø项目度量管理人员根据《度量分析规程》分析项目数据,初步解释所获得的分析结果,起草《项目度量分析报告》。

相关主题