Day3 - 如何快速交付价值,持续交付流水线
2020-04-09 本文已影响0人
xianling_he
流畅高质量的交付用户价值
-
明确的用户价值
1.如何定义用户价值
2.将用户价值进行转移,比如自身价值在与A,将A价值成功转移到B价值上面
3.比如改变用户交付的目标,将目标达成以后实现用户价值
4.将需求从定性往定量发展,将用户价值体现出来 -
提升流动速度
1.用户价值会根据时间的演变而发生变化,所以要将用户的价值进行变更
2.在目标不清晰的情况下要选择试错或者改变目标 -
构建高速交付下的质量保证体系
1.加速批量的交付
如何加速小批量交付
-
常规的开发流程如下:
1.首先设计MVP,确定需求
2.确定研发分支,然后经过迭代合并分支
3.打包构建成功后进行测试任务
4.最后做发包的工作
来源课程.png
如何进行加速 - 过程自动化的方式
- 研发自动化
- 测试自动化
- 发布自动化
如何进行加速 - 减少过程
- 减少沟通
- 减少过程
- 减少内容
过程自动化的实现
- 自动化依赖于规范
1.自动化语法规范
2.自动化流程规范
3.自动化管理规范
如何让研发自动化
-
研发过程使用GitFlow或者 master模式
-
有详细的文档规范,比如是根据功能分支,还是业务分支
来源网络.png
-
打包发布
1.持续部署与持续构建
如何保证代码质量
- 语法的扫描(扫描语法格式)有没有语法问题,基于sonar体系的单元扫描
- 单元测试 (UnitTest)需要有质量的意识
-
度量统计
来源网络.png
如何保证测试质量
测试过程有哪些
- 获取测试包
- 构建测试环境
- 部署测试环境
-
执行测试
来源网络.png
如何保证发布流程
- 生产包的构建
- 发布的方式
- 灰度方式
- 生产测试(QAOPS)
- 代码合并主干
让流动完全无人值守
- 理想情况:从计划到开发到测试到版本发布等一系列流程都是自动化的
-
有效提升流动效率
来源网络.png
CICD - DevOps
- CI的过程:持续的构建打包,然后进行单元测试
-
CD的过程:发布,版本部署
来源课程.png
构建持续交付的流水线
-
使用Jenkins进行部署,发包,测试工作
来源课程.png
-
流水线工具
来源网络.png
构建内建质量的交付模式
- 手工完成的部分:结对编程,持续评审,探索性测试
-
自动化完成部分:代码分析,自动化测试,验收测试,自动部署,持续监控
来源课程.png
持续交付流水线
![](https://img.haomeiwen.com/i20044978/9fa04e29709c795d.png)
减少过程
-
构建交付迭代
来源网络.png
-
消除浪费
1.最有价值的目标最快到达
2.价值管理,根据价值的高低进行不同时间段交付
3.价值流动,将不同价值的目标随着时间推移改变而改进
来源课程.png
从批量生产到单件流
- 尽量使用单件流,减少损耗
-
将单件完成,不然目标多的情况都没法在短时间内达成
来源课程.png
流动层次
- 人员能力要求高,全栈测试
-
集合所有人来完成同一个目标
image.png
可视化的价值
![](https://img.haomeiwen.com/i20044978/1f1dffe01f63fd31.png)
顺畅高质量交付有用价值
![](https://img.haomeiwen.com/i20044978/c492761e2cc5e881.png)
研发效能度量体系
![](https://img.haomeiwen.com/i20044978/57c481ac0c10c805.png)