欢迎光临散文网 会员登陆 & 注册

“软件研发效能提升之美”阅读笔记(1)

2022-01-29 15:58 作者:十指环  | 我要投稿


why 为什么需要提升软件研发效能

现代的软件行业已经不再是以前“大鱼吃小鱼”的时代了,而是转变成了“快鱼吃慢鱼”的时代,各企业比拼的是需求转化成软件或服务的研发效率。


what 什么是软件研发效能

“顺畅、高质量地持续交付有价值的闭环”

顺畅:价值的流动过程必须顺畅,没有阻碍;

高质量:如果质量不行,那么流动越快,死得越快;

持续:不能时断时续,小步快跑才是正道,不要憋大招;

有效价值:交付物是否真正解决了用户的本质问题;

闭环:强调快速反馈的重要性。

实践:持续开发,持续集成,持续测试,持续运维。

研发效能提升关注点

理想情况下更多的时间占比应该放在”未雨绸缪象限“,少量时间用于”救火象限“

研发效能工具一定是能解决实际问题

需要从全局理清全流程,识别出等待浪费的时间,通过流程再造与优化实现全局效率的提升

效能提升成功的标准是用户的成功

研发效能提升的落地遵循”先圈地,后改进“的策略

做自己研发效能平台的第一个用户

how 如何提升软件研发效能

研发效能的提升,既有基于工具的,也有基于流程的。

使用MVP(minimum viable product)的思想提升研发效能,即用最快、最简明的方式建立一个可用的产品原型,然后迭代来完善细节。例如,研发平台的建设,识别出待解决的问题之后,给出最简单的解决方案,并在后面的实践中不断优化和迭代。

效能提升8大实践:

1、从痛点入手

早期阶段,采用自下而上的策略,从一个工程实践中的实际痛点入手,从解决问题的角度打造研发效能的亮点,追求”短、平、快“,遵循将问题点逐个击破的原则。

2、从全局切入

需要从全局理清楚全流程,识别出等待浪费的时间,通过流程再造与优化实现全局效率的提升。

3、用户获益

成功的标准不是研发效能平台的成功,而是客户的成功。

4、持续改进

    问题在开始时,关注点是如何快速、简单地解决问题,但是当用户量和接入团队日益增大后,需要关注解决方案的普适性和通用性,采用”先圈地、后改进“的策略

5、全局优化

前期采用”自下而上“的工程实践来实现各种痛点的问题的各个击破,随着研发效能实践逐渐进入深水区,单一领域效能提升的边际效应会逐渐递减,此时基于横向拉通的全局优化变得非常关键,自上往下的推动在此时将会起到关键的作用。很多横向跨部门的流程优化和整合必须借助管理层的力量才能有效地向前推进。

6、效能平台架构的灵活性

研发效能的开发能力非常关键,它必须能够应对多样性,让业务线能够在平台上实现各自的个性化需求。

7、杜绝”掩耳盗铃“

    如下实践需要杜绝:

1)代码质量门禁sonar设而不立

2)单元测试只是执行,不写断言

3)代码覆盖率形同虚设

4)peer review走过场

5)代码递交过于随意

6)监控超配,由报警但无人认领

   虚拟指标案例:接入工程数,系统用户数,接入研发效能平台的项目数

8、吃自己的”狗粮“

      做自己研发效能平台的第一个用户



研发效率提升案例

1)采用前端代码的自动生成,大幅提升原型构建环节的效率;

手绘出GUI界面的草稿,然后通过Sketch2Code直接将草稿转换成目标平台的代码。

2)采用工具或脚本生成临界参数进行API测试,进一步将该机制与CI流水线集成,在CI被执行过程中主动执行临界参数下的API测试,以求问题更早地被暴露。

3)基于流程优化的效能提升。

4)本地编译耗时长:提供增量编译和分布式编译能力。

5)本地测试困难,测试环境准备复杂且耗时长:基于kubernts的pod提供一键搭建测试环境的能力。

6)自动化测试用来数量大,执行回归时间过长:采用并发测试用例执行机制,使用几百,几千台测试执行机并行测试用例,实现用硬件资源换时间。

7)自动化测试用例维护成本高:测试用例采用模块化和分层体系,实现低成本的自动化用例维护。

8)测试数据准备困难:引入统一的测试数据服务能力。

9)研发后期阶段,代码递交集中,缺陷井喷:推行测试左移策略,鼓励研发自测,遵循”谁开发,谁测试,谁上线,谁值班“的原则。

10)性能缺陷在研发后期发现,修复重测成本居高不下:从性能测试转变为性能工程,让性能融入软件研发的各个环节,而不是最后的一锤子买卖。

11)安全问题频现:实现DevSecOps。

12)集群规模庞大,发布过程耗时过长:各个层级的并发部署能力,集群内节点的并发,集群间的并发等。

13)项目的过程数据都是后期集中填充,失去度量意义:项目的过程数据由工具自动填充。


研发效能发展方向与未来展望

1、研发各个环节的全链路横向打通

2、研发全流程的可视化

3、”稳态“和”敏态“齐头并进

4、研发能力的中台化沉淀

5、数据驱动下效能提升



“软件研发效能提升之美”阅读笔记(1)的评论 (共 条)

分享到微博请遵守国家法律