同行评审的度量与分析

在软件过程中,同行评审是软件质量保证的重要手段,是尽早发现缺陷的一种最佳实践方法,几乎贯穿了整个软件生命周期。

它可以促进对工作产品及可预防缺陷更好的了解,从而提高软件工作产品的质量;它还可以促进对软件过程信息的采集与使用、提升组织过程质量、降低组织风险和软件开发成本、提高生产率。此外,同行评审也有助于参与者通过评审其他人的输出产品来提高自己的技能,给参与者以参与感、认同感和成就感,有助于组织内部知识共享,加强团队精神。

目前,同行评审已经在软件企业中广泛应用,大多数软件组织也已经建立了适应于自身实际情况的同行评审流程,但对于如何在同行评审过程中应用度量与分析的研究却并不深入。

那么,在同行评审过程中应该收集哪些数据,如何对这些数据进行度量与分析呢?

我们先来了解一下同行评审的相关概念。

同行评审不仅适用于软件过程中产生的任何可阅读的工作产品,比如,需求规格说明书、源代码等,还适用于软件过程改进中的任何工作产品,如过程描述、过程记录等。

软件项目应该在项目计划阶段就确定将经受同行评审的软件工作产品,并且在项目计划中有明确的记录。为达到良好的质量水平,建议每一个纳入配置管理的软件工作产品都至少要进行一次同行评审。

同行评审中的“同行”指的是与作者的工作领域和级别等相当、具备一定的产品知识和软件经验的人,避免管理层的人员参加。

一般情况下,参加同行评审的人员有3-7人,角色分为主持人、作者、记录人、评审员等。如果由于人力资源的限制或其它原因,有的人员可以兼任其他特定的角色,但是,原则上作者不可以兼任主持人,也不建议主持人和记录人由同一个人担任。为了取得良好的评审效果,一般建议至少有两名评审员。

所有参与同行评审的人员都应该经受必要的同行评审过程与方法的培训。而且,评审后将依据内部培训流程的规定给他们增加相应的记录和经验值。

同行评审的流程可分为评审计划阶段、评审准备阶段、评审会议阶段、跟踪验证阶段。后期需要度量的数据也是在评审流程中收集的。

CMMI中,同行评审实践域的3.1要求对同行评审中得到的结果和数据进行分析。结果分析可以帮助识别缺陷注入的趋势以及缺陷的来源和类型。

同行评审的度量包括两个方面,一是对评审员工作的度量,二是对评审充分性的度量。评审员是同行评审中最重要的角色之一,直接影响评审效果。对评审员工作的度量可以依据度量结果建立评审人员的奖惩制度,从而避免评审员积极性不高,评审问题少等问题的发生。对评审充分性的度量则可以用于判断本次评审的效果,是否需要重新组织评审,对提高同行评审过程质量以及工作产品质量具有实际意义。

在进行同行评审时,一般可以积累如下的度量数据

(1)评审文档或代码的规模

对于需求文档的规模一般是采用页或功能点为度量单位;

对于测试用例的规模一般是采用个或页为度量单位;

对代码的规模一般是采用行为度量单位;

对于设计或其他文档一般是采用页为度量单位。

(2)个人评审的时间周期,计量单位为小时;

(3)评审会议的时间周期,计量单位为小时;

(4)个人评审发现的缺陷个数,计量单位为个;

(5)评审会议发现的缺陷个数,计量单位为个(包括一般缺陷、严重缺陷);

(6)缺陷总数=在评审会上确定的缺陷个数(排除了不是缺陷的发现,以及各位专家重复的发现);

(7)个人评审的工作量,计量单位为人时;

(8)评审会议的工作量,计量单位为人时;

(9)评审的总工作量=个人评审的工作量+评审会议的工作量,计量单位为人时;

(10)个人评审的速率=个人评审的规模/个人评审的工作量,计量单位为:规模的计量单位/人时;

(11)评审的总体效率=评审发现的缺陷总数/评审的总工作量,计量单位为:个/人时

(12)评审发现的缺陷密度,计量单位为:个/规模的计量单位。

(13)评审的成本。

一个软件组织在制定切实可行的度量时,应该具体地说明何时( When)、何人(Who)、对什么度量项(What)、如何(How)进行度量。概括起来,我们的同行评审的度量过程是:在策划阶段由主持人和作者制订计划,在同行评审计划总结表中填写计划数据;后续跟踪阶段,记录人记录并整理同行评审过程的原始数据;质量管理人员收集、核实并处理这些数据,对同行评审进行度量和评估。并将结果提交配置管理部,同时向管理层报告。

对于收集到的数据如何分析和使用,可以参照业内数据进行分析,也可以使用加权缺陷数和加强缺陷密度进行详细的度量分析。

通常分析的结果包括(但不限于)缺陷何时注入、准备时间或速度与预期时间或速度、问题的实际数量与预期数量、发现问题的类型、造成问题的原因、问题解决办法的影响、与问题的关系人等。 分析的类型包括(但不限于)原因分析、趋势分析、常见问题解决办法分析等。通过得到的数据并改进来有效地提高企业的同行评审质量,以及软件产品的质量。

当组织中进行过若干次同行评审并收集到它们的度量数据后,就可以建立该组织的同行评审能力基线。

通过对同行评审收集到的数据进行度量,可以帮助企业优化评审过程,提高评审有效性;识别缺陷类型、分析缺陷产生的原因,避免以后再次发生;改进软件开发过程,提升产品质量;为项目做参考,提升组织过程质量。同行评审是非常耗费管理成本的,但是,同时也是最能提升过程和产品质量的一种手段,因此通过同行评审的度量与分析来优化同行评审就显得尤为重要。

结语

同行评审是一种非常有效的发现缺陷、获取软件过程信息的方法。同行评审的度量和分析对提高同行评审的过程质量,保证工作产品质量具有实际意义。在软件过程中应建立一个文档化的同行评审规程,并且明确度量指标、方法和过程等。只有在广泛应用同行评审并收集数据基础上,利用度量结果来评估和改进软件开发过程、提升软件组织能力,才能事半功倍!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值