软件研发度量的实践
2015年6月
中兴通讯 无线研究院: 金泽锋
资深敏捷教练
金泽锋
我是谁?
理念
频繁演进的产品需要频繁演进的度量体系
软件度量的基本理念
■ ■ ■ ▲ ▲ ▲ ▲ ◆ ◆ ▲
Product:
Agile Software Project: Release on Demand
■ ■
Potentially Shippable Version Release Version
软硬件联调
Team
Backlog
Feature Team 1
Release
Plan
Product
Backlog
Feature Team n
Project
Team
Architecture
Sprint0
Sprint1 2 3 4 5 6
Hardening
7 8 9 10 11 12
Hardening
13 14 15
Team
Backlog
Bugs
Undone Test
Hardware
Requirements
软件研发的复杂性决定了度量设计的复杂性
软件度量的基本理念
Cynefin模型
驾驭平衡的能力 > 掌握确定性的能力
软件度量的基本理念
有效性
成本
决策
指向性
可靠性
效度
信
度
因果
采
集
分
析
映射质量
投入产出
手段
从一个故事讲起:郑人买履
引子
隐性信息显性化
信息的跨时间和跨空间使用
案例
上线,
中心线,
XXXX 系统测试缺陷密度
系统测试缺陷密度(/KL)
UCL
质量在基线范围内持续提升
应证数据:
R2-R3缺陷数据存在明显上升,
但在基线范围内
现状:敏捷后系统测试周期缩短50%,周期稳定
在43天
问题:随着版本整体交付周期的缩短,系统测试
周期占比偏高(40%)
分析:实施轻量级系统测试,及遇到的瓶颈
敏捷前
45 44
40%
0%
10%
20%
30%
40%
50%
60%
0
20
40
60
80
100
120
系统测试周期(天) 测试周期占比
.
R1
.
R2
.
R3
.
R1
.
R2
.
R3
均值
性能异常测试 % % % % % % %
原有功能手工测试 % % % % % % %
新功能自动化用例验证 % % % % % % %
新功能手工测试 % % % % % % %
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
系统测试占比
新功能手工测试 新功能自动化用例验证
原有功能手工测试 性能异常测试
1)性能异常测试提效(占比14%,预计提
效5%)
措施:15年所有网元实现性能测试自动化,
在xxx网元进行试点,R2开始推广
2)原有功能自动化用例验证(占比37%)
待无质量守护网网元清理完成后释放此部分
占比
3)新功能手工测试(占比44%,此处保证
用例正确性的人力消耗,是有必要的)
测试设计:特性团队输出,质量验收由测试专家组
通过测试策略保障
测试用例:特性团队输出,质量验收在系统测试阶
段通过手工回归保障
目标:预计15年7月完善轻量级系统测试
周期缩短至25天(提效42%)
系统测试周期占比27%
推进轻量级系统测试的持续改进
为什么要坚持做度量
管理学大师 彼得德鲁克:
IF YOU CAN’T MEASURE IT,
YOU CAN’T MANAGE IT
没有空:忙 茫 盲
——持续保证投入一定的时间片
——尽可能使用高效工具进行数据采集和初步分析
组织的尴尬:“边缘”部门负责运作“关
键”的内容
——将度量交还给业务部门负责,度量人员提供能力支撑
面临的挑战
谢谢!