软件开发度量考核方法

?

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 范围115%以内)
3 7
8 范围315%35%
4
低于7 范围435%以上)
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代表过程指标(PME)在整个指标体系中所占的权重系数(可根据具体项目而定)。
过程指标权重系数表:
序号 指标 权重
1
及时度 权数10.3
2
成熟度 权数20.3
3
改善效率 权数30.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
质量 权数10.5
2
过程 权数20.5
加权平均分 1.0
2
)软件项综合评价:一般地,根据软件项综合评分,有以下评分标准。
软件项综合评价计分标准表:
序号 得分 过程评价
1 9.0
10.0 优质
2 8.0
8.9 良好
3 6.0
7.9 合格
4
低于6.0 劣质
7
度量记录
项目经理或开发经理在软件项提交检查、评审、测试通过后,需要填写软件项度量表(见附录3),并提交给SQA部审核和软件事业部经理批准。如果一个软件项由多人完成,需要将软件项按(功能、模块)拆分,分别记录
各人的度量,SQA部在审计软件项时,根据软件项度量表填写软件项综合评价表(见附录4)。
8
绩效考核
8.1
开发人员考核
1
)软件项的平均得分值计算方法是:AV=(∑COi)/i*10
2
AV代表软件项的平均得分值;
3
CO代表软件项综合得分;
4
i=1,2,...n代表软件项数量。
5
)绩效考核标准:一般地,根据软件项的平均得分值,有以下评分标准。
绩效考核计分标准表
序号 得分 考核评价
1 90
100 优秀
2 80
89 良好
3 60
79 及格
4
低于60 很差
6
)软件部门根据软件项综合评价表每个月或季度统计各开发人员所负责的软件项的平均得分值,比较开发人员软件项的平均得分值与绩效考核标准范围,确定开发人员绩效考核评价。绩效考核为"良好"以上人员奖励相应金额,绩效考核为"很差"人员处罚相应金额。对于很差的开发人员需要通报批评,并要求在项目经理、开发经理帮助下写个人软件开发过程改进书。如果是连续三个月都是很差,则可能降级、降工资、甚至解雇;对于优秀的开发
人员通报表扬,并组织经验交流会介绍其优秀的软件开发过程控制方法,如果是连续三个月都是优秀,则可能升级、升工资。
8.2
项目经理、开发经理考核
1
)项目组的平均得分值计算方法是:AV=(∑COi)/i*10
2
AV代表项目组的平均得分值;
3
CO代表项目组成员绩效考核得分;
4
i=1,2,...n代表项目组成员数量。
5
)绩效考核标准:一般地,根据项目组的平均得分值,有以下评分标准。
绩效考核计分标准表
序号 得分 考核评价
1 90
100 优秀
2 80
89 良好
3 60
79 及格
4
低于60 很差
6
)软件部门每个月或季度确定了项目组成员绩效考核评价后,计算项目组的平均得分值,比较项目组的平均得分值与绩效考核标准范围,确定项目经理、开发经理绩效考核评价。绩效考核为"良好"以上项目经理、开发经理奖励相应金额,绩效考核为"很差" 项目经理、开发经理处罚相应金额。对于很差的项目经理、开发经理需要通报批评,并要求在部门经理帮助下作项目组软件开发过程改进书,如果是连续三个月都是很差,则可能降级、降工
资、甚至解雇;对于优秀的项目经理、开发经理通报表扬,并组织经验交流会介绍其优秀的项目组开发过程管理方法,如果是连续三个月都是优秀,则可能升级、升工资。
8.3
检查、测试人员考核
1
)在软件项检查、评审、测试过程中,项目经理或开发经理需要填写检查、测试人员的缺陷查找质量度量表(见附录5)作为月度考核或季度考核依据。
2
)缺陷查找率计算方法
<1>
缺陷查找率计算公式为: Total = ∑(Bi/U)Mi
<2>
其中i=1,2,...n代表缺陷级别,缺陷级别可分为:致命、严重、一般、轻微;
<3>B
代表每种缺陷级别的缺陷数;
<4>U
代表缺陷率单位数;
<5>M
代表每种缺陷级别的权重系数,通常权重系数以"一般" 缺陷级别作为基数(权数设为1),"轻微"缺陷级别可不用计算缺陷查找率(权数设为0)。
缺陷级别权重系数表:
序号 级别 权数
1
致命 3
2
严重 2
3
一般 1
4
轻微 0
3
)缺陷查找质量评价:为每个软件项制定相应的缺陷查找质量计分标准。
缺陷查找质量计分标准表:
序号 得分 缺陷查找率范围
1 9
10 范围1
3 7
8 范围3
4 5
6 范围4
5
低于5 范围5
4
)缺陷查找的平均得分值计算方法是:AV=(∑COi)/i*10
<1>AV
代表缺陷查找的平均得分值;
<2>CO
代表缺陷查找质量得分;
<3>i=1,2,...n
代表软件项数量。
5
)绩效考核标准
绩效考核计分标准表:
序号 得分 考核评价
1 90
100 优秀
2 76
89 良好
3 60
75 及格
4
低于60 很差
6
)软件部门根据软件项综合评价表每个月或季度统计各检查人员或测试人员缺陷查找的平均得分值,比较检查人员或测试人员缺陷查找的平均得分值与绩效考核标准范围,确定检查人员或测试人员绩效考核评价,绩效考核为"良好"以上人员奖励相应金额。对于优秀的人员通报表扬,并组织经验交流会介绍其优秀的检视和测试方法。
8.4
缺陷考核
1
)某阶段的软件项检查、评审、测试通过后,如果在后面阶段工作中发现此软件项的缺陷时,需定位缺陷级别,定位是"重大"以上级别缺陷时,每个缺陷罚款××元,作为项目组活动经费。
2
)在软件项检查、评审、测试过程前,需要制定软件项的最低缺陷查找率,通过缺陷查找质量度量表(见附录5),比较检查或测试人员的缺陷查找率少于最低缺陷查找率时,当软件项在以后阶段发现缺陷而被罚款时,款项由软件项负责人和检查、测试人21分摊。
9
附录
附录1:软件项检查表;(略)
附录2:缺陷跟踪表;(略)
附录3:软件项度量表;(略)
附录4:软件项综合评价表;(略)
附录5:缺陷查找质量度量表。(略)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 软件开发KPI考核指标涵盖了项目的质量、进度、效率等方面。其中,质量指标包括代码质量、系统稳定性、安全性等;进度指标包括项目计划的执行情况、缺陷修复速度、需求变更响应时间等;效率指标包括开发人员能力、团队协作效率、工具使用效率等。 在具体的KPI考核中,需要根据具体的项目特点和目标制定相应的指标。例如,在一个以快速迭代为主的项目中,需要设定每个迭代周期内的代码提交量、测试覆盖率等指标;在一个注重代码质量的项目中,需要关注代码规范性、单元测试覆盖率等指标。 除了指标设定外,对于软件开发KPI考核还需要注意以下几点: 1.指标要量化:KPI指标需要通过具体数据进行衡量和评估,不能是模糊的概念。 2.指标要能够衡量团队绩效:KPI指标旨在衡量整个团队的绩效,而不是个人贡献。 3.指标需要逐步优化:KPI指标需要不断调整和优化,以适应项目变化和目标变化。 4.指标需要及时反馈:对于KPI指标,需要及时反馈成果,以便团队能够及时发现问题和改进。 综上所述,软件开发KPI指标的设定需要考虑多方面因素,不同的项目需要采取不同的指标,针对具体情况定制评估体系,以提高整个团队的绩效和效率。 ### 回答2: 软件开发kpi考核指标主要用于衡量和评估软件开发团队的工作效率,监控项目的进度和效果,以及帮助企业或组织掌握团队工作的情况。以下是一些软件开发kpi考核指标举例: 1. 项目进度:主要包括开发计划的执行情况、任务进度的完成度、阶段性成果的提交等。 2. 质量指标:评估软件开发团队的开发水平和质量水平,例如测试用例的设计和执行情况、代码臭味和安全方面的问题。 3. 成本控制:大规模软件开发的过程中,成本控制非常关键,如编写源代码的人力成本、硬件的成本等等。 4. 团队效益:团队效益度量团队完成工作的效率和效果,例如代码的行数、代码质量提高的比率、缺陷率等。 5. 用户满意度:软件开发的最终目的是为用户提供可用的、高效的产品。满意度可以通过用户满意度调查问卷等方式得出反馈信息。 总而言之,软件开发kpi考核指标的重点是将项目进度、质量控制、成本控制、团队效益以及用户满意度等方面有机结合起来,全面评估和监测软件开发团队的工作效率。 ### 回答3: KPI(关键绩效指标)是对于软件开发团队非常重要的考核指标。软件开发KPI考核指标一般包括以下几个方面: 一、开发效率 软件开发团队的效率可以通过各种因素进行衡量。例如在一个时间段内团队完成的任务数以及团队成员个人完成任务的时间等。开发效率不仅仅是完成任务的速度,同时也涉及到团队的质量和生产力等因素。 二、项目进度 项目进度是软件开发团队关注的另一个KPI方面。项目进度以及里程碑的完成情况均有助于团队成员掌握项目的状态,并能够更好的规划后续的工作。 三、质量保证 软件开发KPI还需要考虑到软件质量的保证。这个方面使对于团队所有成员很重要,包括开发人员、测试人员和质量保证人员。软件开发团队需要确保交付的产品质量始终符合团队的标准和客户的预期。 四、客户满意度 软件开发团队需要时刻关注客户的需要和要求,并且确保产品交付后可以达到客户和用户的满意度。这个方面可以通过用户反馈和用户满意度调查来衡量。 总之,软件开发KPI考核指标涵盖了很多方面,通过对这些方面进行不断的监测和改进,可以使软件开发团队提升其工作效率和质量,从而实现更好的业绩表现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值