作者:Edmond 宋
最佳实例
许多人认为度量只在CMMI高成熟度等级中(例如,成熟度等级第四或第五级)被使用到。这是不对的。当CMMI被引入代替CMM软件的时候,“度量和分析”过程域是第一个被引入的。显然,不满足“度量和分析”就不可能达到成熟度等级2或者3。由于许多公司并不存在一个度量项目,所以对于他们来说“度量和分析”进程域通常是一个薄弱的环节。
这段问答对话是给那些有兴趣了解,如何在他们机构的内部进行“度量和分析”进程改善的机构提供。
问:通常在度量和分析中存在哪些误解?
答:没人知道为什么对分析要设定特定的度量数据和条件。但是,很不幸的是,度量通常是用来满足CMMI“度量和分析”要求的。这个度量项目是被用来支持管理信息需要的。这意味着,项目中的度量目标应该与公司商业目标相一致。
提供数据的人不知道WIIFM(里面有什么是我要的)如果被要求提供初始数据的人没有看到价值,那么他们将失去兴趣,并且不会继续合作。
缺少自动化的工具。如果要求手工向一个人工系统输入数据,那么将难以为继。
问:如何决定使用哪个计量数据?
答:源自Basili博士的“目标,问题,计量”(GQM)范例,是一个广泛使用的方法:
1、开发出一套目标
例如。在面向对象的关系中进行测试,从项目团队的视角来评估测试进程,目的是要改进该进程,用于项目ABC上。
2、开发一套问题,能够显示目标的特性
- 在寻找一个问题时,平均要耗费多少时间?
- 在确定一个问题时,平均需要耗费多少时间?
- 耗费在寻找和确定一个问题上的平均效果量是多少?
3、设定特殊的计量,需要回答这些问题
- 导出的度量数据和基本度量数据的结合
4、开发出数据收集机制
谁应该收集计量数据?
什么时候该收集数据?
数据如何能够被准确地以及有效地收集?
谁将会是这些计量数据的受众?
5、实时收集、确认和分析这些数据,给项目提供反馈,用于校正行动操作;用一个运行后检查的模式来分析数据,以确定是否和目标相吻合。
可以在分析中使用图表----历史图表,鱼骨图表,以及帕累托图表。例如。在一个设定的时间内列出错误的类型之后,我们能够制作一张历史表格来显示,对于每个错误类型,在寻找和确定一个问题时所花费的时间。
6、给利益相关人提供反馈。
例如。在一页上,显示目标、问题、计量数据和图表结果
问:如何开始?
答:有三种普通的数据资源,能够用于控制软件项目:
§ 对于计划的效果(WBS)
§ 检查出来的错误(例如,平行检查)
§ 需求改变进程
效果
在软件的开发过程中,人力成本是总成本的主要部分。知道这部分是如何开销的非常重要。历史效果数据能够帮助我们估计职员的生产能力。因此,我们在新项目中能够做一个更好的估量。我们也能够知道整个的效果是如何在不同的生命周期阶段中分布的。效果数据通常通过进度表进行收集。员工应该填入确切的开始时间,结束日期以及在完成WBS任务上耗费的人力时间。使用一个自动化进度表系统,每个员工都能在几分钟之内,将他当天的实际的成果数据快速填写完成。然后,项目经理就能够很容易地了解到实际的成本消耗(实际消费的人工时间),同时也能知道在计划表中,是否存在任何延误的情况。如果微软项目管理器是被用来建立WBS和项目计划,那么自动化进度表系统需要能够被下载(并且之后上传)到MPP文档中。
检查
错误、类型的数量,他们刚发生时所处的阶段,并且他们被检查时所处的阶段能够被显示:
§ 在那些阶段中,最大数量的问题被引发了?
§ 阶段控制有效性(Phase containment effectiveness)
§ 哪些类型的问题需要耗费最长的时间去修复?
耗费在检查工作中的时间量,对控制项目也是有重要作用的。
需求变化
一旦软件被配置完成,为了满足他们而进行的需求和效果的改变,通常要进行跟踪:他提供了许多有用的信息。例如:
- 在一张历史表格中,显示变化的类型
- 哪个模能够经受住最频繁的变化?
- 他们的反应速度有多快?
数据的结合能够为进程改善提供历史基线。例如:
· 获得的值
· 估计准确性
· 总缺陷控制有效性
· 生产率
问: 对于CMMI度量与分析,需要特别指定哪些文件?
答:通常对每个项目都有一个度量计划。它涵盖了收集度量结果的数据、分析和报告的目标、计量以及程序。下面是一个项目等级度量计划的大纲:
· 目的、范围和参数
· 责任
· 生命循环报告
· 度量和计量,
用目录:
管理、需求、质量等
· 数据需求
· 报告的频率和类型
问: 如果想要达成CMMI成熟度等级3,对于度量与分析有什么额外的要求?
答:基于度量与分析奠定的基础,我们必须由一个机构的度量储备(在OPD中定义)。在成熟度等级3中,一个组织有一套标准进程。现在机构能够在不同的项目中进行度量,因为,项目中的进程都是从机构设立的标准进程中剪裁而来。能够观察到曲度。能够更容易地进行预测。进程表现基线现在能够进行开发,在高成熟度等级(成熟度等级4、5)中来支持定量管理。
机构的度量储备包括:
· 产品和进程度量
· 数据在进程中的收集点,以及收集的程序
通常使用到的度量的范例:
· 工作产品的尺寸(功能点)
· 成果和成本
· 质量的度量
· 测试与检查的范围
推荐书籍与文章
“质量软件工程管理”
Robert T.Futrell, Donald F. Shafer, Linda I. Shafer著
这本参考书在它的覆盖面上深受好评。读者完全可以对其极为丰富详细的内容放心。有关软件项目管理质量问题全部范围,从确认和检查到性能发布,都涉及到了。度量和“目标,问题,计量”范例的论题,也在此书中有详尽的解释。
应用“目标,问题,计量”范例来开发标准参数评定模型,以用于OO项目规划课程
N. Khamis,
人文与社会科学国际期刊,第二卷,1号
用例子来说明如何在一个域中应用“目标,问题,计量”范例,许多软件开发者都很熟悉的方式----OO项目规划
缩略语和术语
基本度量----直接地测量;例如,在功能点条件中的尺寸
CMMI ----能力成熟度模型集成
衍生度量 ----涉及计算的基本度量
OPD----组织进程定义,一个CMMI进度域
PCE----阶段控制有效性=在阶段中错误的数量/引入到哪个阶段的错误的总数量
SEI ----软件工程研究院,卡内基梅隆大学
TDCE –总的缺陷控制有效性
WBS – 工作分解结构