软件开发度量及考核方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
0 引言
本人觉得如果要提高软件开发人员的开发质量,必须有相应的考核制度,有了制度后才能推动开发人员想方设法改善自已的开发质量。虽然目前很多公司有这方面的绩效考核,但是大多数没有对软件开发的过程进行细粒度的度量,所以不能依据有效的度量数据来考核开发人员的工作绩效,大部份只是凭考核人主观意志来考核,不能形成对被考核人有效的说服力。以下文档是本人根据以前经验和相关的资料所编写的度量方法和考核方法,希望能对公司改善考核制度有用。由于时间有限,有不足之处,请各位仁兄多提意见,谢谢!
1 目的
对软件开发的过程所产生的软件项的质量和过程进行定量的评价,用评价的结果指导软件的开发过程,不断地提高软件开发质量水平,并依据度量记录来考核软件开发人员的工作绩效。
2 软件项包括
1)技术文档:参照公司"软件工程产品集",所确定的配置项;主要包括:可行性分析报告、需求分析报告、软件功能规格说明、开发计划、质量计划、系统设计报告、测试文档、技术报告、用户手册、总结报告等;2)计算机程序。
3 度量数据的来源
1)项目计划;
2)评审报告;
3)测试报告;
4)问题报告;
5)软件维护记录;
4 质量度量
4.1 度量指标
主要根据各类软件项检查表的检查指标来确定,例如,软件需求规格说明书检查表(见附录1),有10个检查指标,则根据具体项目检查侧重点不同,可从中选择相应的检查指标作为度量指标。
4.2 质量等级
1)软件项的质量等级的确定根据度量综合指标进行。
2)度量综合指标计算公式为:Total = ∑QiMi。
3)其中i=1,2,...n代表指标数量;
4)Q代表度量的指标;
5)M代表度量的指标Q在整个指标体系中所占的权重系数,对不同的开发项目可能不同,此系数根据开发的不同着重点给出。
度量指标权重系数表:
序号指标权重
1 指标1 权数1
2 指标2 权数2
3 指标3 权数3
4 指标4 权数4
5 指标5 权数5
加权平均分1.0
6)质量评价:一般地,根据度量综合指标值,有以下评分标准。
质量评价计分标准表
序号得分质量评价
1 9.0~10.0 优质
2 8.0~8.9 良好
3 6.0~7.9 合格
4 低于6.0 劣质
4.3 度量指标计算方法
1)度量指标评分标准:根据软件项的各检查指标的缺陷率来确定,既为每项度量指标制定计分标准,缺陷率越高得分越低。
度量指标计分标准表
序号得分缺陷率范围
1 9~10 范围1
3 7~8 范围3
4 5~6 范围4
5 低于5 范围5
2)缺陷率来源:主要是各软件项检查、评审、测试的过程所产生的缺陷跟踪表(见附录2),缺陷跟踪表中的缺陷类别对应检查表中的检查指标。
3)缺陷率单位
<1>结构化方法
需求文档:以功能点或文档页数为单位(缺陷数/功能点、缺陷数/页)。
设计文档:以模块或文档页数为单位(缺陷数/模块、缺陷数/页)。
软件代码:以模块或代码行数为单位(缺陷数/模块、缺陷数/LOC)。
<2>面向对象方法
需求文档:以业务用例或文档页数为单位(缺陷数/BUC、缺陷数/页)。
设计文档:以用例或文档页数为单位(缺陷数/UC、缺陷数/页)。
软件代码:以用例或代码行数为单位(缺陷数/UC、缺陷数/LOC)。
4)缺陷率计算方法:
<1>首先根据缺陷跟踪表中的缺陷类别分别统计各类别的缺陷率,然后依据度量指标计分标准表来给每个度量指标打分。
<2>缺陷率计算公式为:Total = ∑(Bi/U)Mi。
<3>其中i=1,2,...n代表缺陷级别,缺陷级别可分为:致命、严重、一般、轻微;
<4>B代表每种缺陷级别的缺陷数;
<5>U代表缺陷率单位数;
<6>M代表每种缺陷级别的权重系数,通常权重系数以"一般" 缺陷级别作为基数(权数设为1),"轻微"缺陷级别可不用计算缺陷率(权数设为0)。
缺陷级别权重系数表:
序号级别权数
1 致命3
2 严重2
3 一般1
4 轻微0
5 过程度量
5.1 及时度
1)以软件项目计划规定的的完成时间为基准,通过比较实际完成时间和计划完成时间的时间差,与软件项完成周期的比率来评价各软件项的及时度。
2)时间差率=(实际完成时间-计划完成时间)/(计划开始时间-计划完成时间)
3)评分标准如下:时间差率范围可根据具体项目而定。
及时度评分标准表
序号得分时间差率范围
1 9~10 范围1(15%以内)
3 7~8 范围3(15%~35%)
4 低于7 范围4(35%以上)
5.2 成熟度
以软件项检查、评审、测试的结果为评价基准,评分标准如下:
<1>9~10分:一次检查、评审、测试通过,无须调整;
<2>7~8分:一次检查、评审、测试通过,略有调整,或第二次检查、评审、测试通过无须调整;
<3>6分以下:二次以上检查、评审、测试未通过。
5.3 改善效率
在检查、评审、测试的结果的基础上改善软件项结果,以改善的时间是否影响后续阶段的完成和计划的总体完成时间为评分依据,评分标准如下:
<1>9~10分:改善效率良好,软件项的修改无须增加工作量,不影响阶段的继续进行和项目计划的总体完成,或无须修改;
<2>7~8分:改善效率一般,软件项的修改或完善影响阶段的继续进行,增加工作量在原计划的20%(此阀值可根据具体项目而定)以内;
<3>6分以下:改善效率较差,软件项的修改或完善过程使项目延期,或增加的工作量超过20%(此阀值可根据具体项目而定)。
5.4 综合评价
1)过程度量的综合评分方法是:S=P*A1+M*A2+E*A3。
2)S代表综合评分;
3)P代表及时度;
4)M代表成熟度;
5)E代表改善效率;
6)A代表过程指标(P、M、E)在整个指标体系中所占的权重系数(可根据具体项目而定)。
过程指标权重系数表:
序号指标权重
1 及时度权数1(0.3)
2 成熟度权数2(0.3)
3 改善效率权数3(0.4)
加权平均分1.0
7)过程评价:一般地,根据过程综合评分,有以下评分标准。
过程评价计分标准表:
序号得分过程评价
1 9.0~10.0 优质
2 8.0~8.9 良好
3 6.0~7.9 合格
4 低于6.0 劣质
6 软件项综合评价
1)软件项综合评分=质量评分*质量权数+过程评分*过程权数。
综合指标权重系数表:
序号指标权重
1 质量权数1(0.5)
2 过程权数2(0.5)