工程效率度量没有标准的定义,各个团队可依据自己的需要给出定义。一般来说,常用的工程效率度量有以下几种。 ( l4 x2 e; g2 F& s5 O6 d) x
1.编译效率
$ [0 p- h) @* {9 R7 e
编译效率一般用开发人员从启动个人构建,到获得构建结果反馈的时间来度量,包括的活动有代码提交、编译连接、静态检查、单元测试。 % f- I+ A0 T) t0 d. [+ n
2.版本构建效率
; y7 Y( z4 Q" _* }/ W
版本构建效率一般用从启动版本构建到获得可运行版本的时间来度量,包括的活动有版本编译、静态检查、冒烟测试。
/ F$ K5 P& Q; X B* S4 P) @
3.回归验证效率
' @! \$ I; z. |2 y; ?( `回归验证效率一般用完成一轮产品回归验证所需的时间来度量,即在迭代周期内修改了旧代码后,重新进入测试程序以确认修改没有引入新的错误,或导致其他代码产生错误的一轮测试时间。回顾验证包括手工和自动化测试,但是应该尽量采用全自动化测试,因为手工的回归验证方法无法满足频繁发布的要求。 3 B: K# b3 m! ?: Z5 l7 x T" ?( \
4.全量功能验证效率
% K" P q% ?, [% l' S
一般用覆盖版本所有功能的一轮测试执行时间来度量全量功能验证效率,包括手工测试和自动化测试,自动化测试的程度越高越好。 ; j: L& D" ]3 V1 b: o
5.非功能性验证效率
& n1 r: G. f; `; M, R4 \ p5 i依据产品的测试计划,有些版本需要开展性能测试、安全测试、压力测试等非功能性测试。这些测试需要用专业的工具完成,这些通常是模拟大数据量、模拟长时间运行的测试,因此,非功能性验证效率是测试效率的重要组成部分。
$ g2 @* z: q. A1 o9 J
表9-5是互联网企业Y定义的研发效率提升的度量项和提升
- D; G8 \& X6 O7 r5 |
表9-5研发效率目标示例
7 ^0 U5 t2 M. s' w4 W( c, c- j
该企业为每个指标设定了一个目标,并期望通过敏捷转型在两年内达到该目标。最后一项指标是缩短特性平均周期时间,这是最高的效率提升目标,前面效率提升的最终目的都是为了缩短特性平均周期时间。 7 C( D% g( o) k0 ^6 `- o* Y& N
. O$ _2 e& K: w3 b6 Q% h
, C) _3 P2 o# R r- V# O |