外包模式下度量驱动研发效能质量提升
如果无法正常显示,请先停止浏览器的去广告插件。
1. GOPS 全球运维大会2021·深圳站
2. 外包模式下度量驱动研发质量效能提升
温粉莲 效能运营分析主管
GOPS 全球运维大会2021·深圳站
3. 温粉莲
效能运营分析主管
广东移动网络管理中心质量效能运营分析主管,多年
电信设备研发运维、信息系统集成工作经验。目前负
责广东移动DevOps平台建设及系统质量效能运营分
析。
GOPS 全球运维大会2021·深圳站
4. 1 为什么要在DevOps中引入度量
2 如何设计有效的度量体系
3 实施路径
目录
CONTENTS
GOPS 全球运维大会2021·深圳站
5. 为什么要在DevOps中引入度量
01
GOPS 全球运维大会2021·深圳站
6. IT外包模式下面临的挑战
GOPS 全球运维大会2021·深圳站
7. 自主搭建DevOps平台
测试环境
预发布环境
生产环境
Kubernetes容器云环境
物理机/VM传统环境
GOPS 全球运维大会2021·深圳站
8. 接入DevOps之后…
业务部门
老板
•
接入的系统使用情况?还有哪些没接
为什么我的需求交付还是这
入?
•
么慢?
产生什么样的效果?
运维
为什么上线还是有故障?
GOPS 全球运维大会2021·深圳站
HOW?
项目经理
故障恢复能更快吗?
9. 自动化只是先决条件
度量
Performance
流程
Process 原则
Principle
实践
Practice 组织
People
工具 Product
流水线不是为了更快的交付低质量的软件
GOPS 全球运维大会2021·深圳站
整
体
优
化
10. 如何设计有效的度量体系
GOPS 全球运维大会2021·深圳站
02
11. 度量的目的
现
状
目
标
If you can’t measure it, you can’t change it.
通过数据度量,发现瓶颈,持续改进
GOPS 全球运维大会2021·深圳站
精
-- Peter Ducker
准 改 进
12. 度量设计应遵循的原则
度量是一个系统工程,需要不断演进
度量不是免费的 ,需要成本,需要考虑有效性,需要考虑可靠性
度量是阶段性的 ,选择合适当前阶段的指标,重点优化这些指标
度量是动态变化的 ,需要不断的迭代,增加有用的,删除无效的
GOPS 全球运维大会2021·深圳站
13. 好的度量
人均代码产出量 =
软件开发
总代码变更行数
开发人员数量
写代码 ?
容易理解,可比较
GOPS 全球运维大会2021·深圳站
14. 好的度量
代码提交频率 =
总代码提交次数
开发人员数量
代码提交频率提升
更高的集成频率?
结果导向
GOPS 全球运维大会2021·深圳站
15. 好的度量
需求平均交付周期
150
100
26
33
50
17
47
0
6
27
20
12
39
0
14
43
5
20
13
36
1
16
12
30
77
34
17 21
7
41 34
42
8
6
16
18
25
31
18
43
31
19
平均排版周期
20
6
16
28
17
41
73
29
31
16
15
29
3
平均开发周期
12
18
20
25
21
16
22
32
48
22
8
38
1
16
17
30
8
平均验收前置时间
7
9
28
22
13
45
45
15
10
15
12
21
17
19
20
26
30
65
51
20
32
30
15
4
11
14
22
0
13
7
23
16
13
11
33
0
平均验收周期
需求平均交付周期
客户
提出
需求
评审
平均验收
前置时间
需求平均开发周期
需求平均排版周期
排版
开发
需求
签字
单元
测试
集成
测试
如何缩短?
GOPS 全球运维大会2021·深圳站
联调
测试
部署
上线
准备
验收
平均验收时间
开始
验收
验收
结束
蕴含改进路线、方法
16. 好的度量
千行bug率是好指标吗?
指标矩阵
• 多维度
• 相互制约
• 解读正确
单测覆盖率是好指标吗?
GOPS 全球运维大会2021·深圳站
17. 小结
1. 可比较、容易理解
2. 结果导向
3. 蕴含改进路径
4. 多维度,避免片面
好的度量具备的特点
GOPS 全球运维大会2021·深圳站
1. 评估效果
2. 发现问题
3. 体现价值
达到的效果
18. 实施路径
DevOps运营分析实践
GOPS 全球运维大会2021·深圳站
03
19. 建立运营分析体系
运营分析对象
分析方法、维度
识别运营分析的不同对象,调整运营分析
频次、策略
定量分析、环比、排序、趋势分析多种方法综
合使用
02
01
效能指标
从两种基础指标、六大类效能指标出
发,确定指标的定义、可能原因、改
进举措
GOPS 全球运维大会2021·深圳站
04
03
闭环机制
制定基于指标分析问题,确定改进和闭环机
制
20. 确立效能基础指标
接入广度 =
接入的子系统/模块个数
在用子系统/模块个数
DevOps工具链使用成熟度
数据分析的基本特征:可采集,可分析,可推论
GOPS 全球运维大会2021·深圳站
21. 基于工具的成熟度定义
广东移动DevOps工具使用程度
需求
管理
代码
管理
制品
管理
构建
和打
包
部署
到测
试环
境
部署
到预
生产
环境
部署
到
A平面
部署
到
B平面
JIRA
单元
测试
代码
扫描
API接
口测
试
性能
测试
镜像
扫描
UI
测试
L1:自动化配置管理能力
L2:持续集成/持续部署能力
L3:持续质量改进能力
L4:持续高质量和安全改进能力
自动化工具的使用程度,反映系统开发过程持续改进的能力
GOPS 全球运维大会2021·深圳站
22. 确立研发质量效能指标
价值 效率 质量 吞吐量 环境 安全
排版率 交付周期 单测覆盖率 需求吞吐量 占用率 Web漏洞
上线率 上线周期 严重bug数、
漏洞数 代码提交频率 使用率 逻辑漏洞
验收通过率 开发周期 代码重复率 人均开发产能 规划合理率 开源组件缺陷
数
验收及时率 上线前置时间 圈复杂度 版本发布次数 排版规范率 持续集成时长
部署成功率
部署时长
上线成功率
GOPS 全球运维大会2021·深圳站
23. 各阶段的数据采集
12583
Gitlab
n
需求
•
•
•
•
编码
IT网管
构建
需求排版率
• 代码提交 • 构建频率
需求上线率
频率
• 构建时长
需求验收率
• 构建成功率
规范率
测试
镜像
扫描
环境
部署
• web漏洞数 • 资源使用统 • 部署时长
!测"#$
• 逻辑漏洞数
• 部署成功率
计
技术债务
•
第三方漏洞
• 持续集成时
代码重复率
数
长
圈复杂度
自动化测试数
量
• 自动化测试成
功率
Prometheus + 脚本
• 手动测试数量
•
•
•
•
•
GOPS 全球运维大会2021·深圳站
监控
• MTTR
24. 组建效能团队
推动落实改进
设计指标、采集数据、组织运营分析
流水
线
业务
系统
容器
改进落实主体责任人
负责系统的质量、效能提升
GOPS 全球运维大会2021·深圳站
25. 推广运营
GOPS 全球运维大会2021·深圳站
26. 质量内建,引导观念转变
测试左移
GOPS 全球运维大会2021·深圳站
27. 调动积极性,主动改进
改进
方案
集中
分析
集中
采集
集中
宣贯
集中
跟进
保 姆 式 运 营
GOPS 全球运维大会2021·深圳站
分析
问题
答辩
上月
进展
主 动 式 运 营
28. 聚焦问题,形成综合打分机制
需求管理混乱: 需求排版规范率
客户满意度低: 一次验收通过率
需求延期 : 上线及时率
DevOps组件使用少: DevOps成熟度
集成测试通过率低: 单测覆盖率
部署时间长: 部署成功率
代码质量差: 千行bug率、重复率、漏洞数
上线故障多: 一次性上线成功率
GOPS 全球运维大会2021·深圳站
结果导向:
每系统、每月得分作为《网
管支撑定制软件研发项目考
核办法》的打分依据
得分结果评估团队改进成效
29. 经验总结、分享
比
学
优秀项目分享自动化测试经验
赶
优秀项目分享项目开发管理经验
帮
超
质量差项目的失败原因分析
GOPS 全球运维大会2021·深圳站
项目获得DevOps转型成功奖
30. 高效的DevOps组织
GOPS 全球运维大会2021·深圳站
31. 总结
现状更清晰
度量的必要性
目标更明确
改进更精准
可比较
好的度量
结果导向
蕴含改进路径
建立体系
持续运营、不断改进
GOPS 全球运维大会2021·深圳站
推广运营
调整优化
32. Thanks
高效运维社区
开放运维联盟
GOPS 全球运维大会2021·深圳站
荣誉出品