研发效能的思考总结

原创 精选
新闻
很多时候,我们一直在思考如何高效支撑业务这个课题上。阿里技术分享平台或者网上都有非常多的文章分享,每个TL针对自己团队的状况也有一套自己的方法论。今天我结合自己所面临的状况,把自己的思考总结分享一下。

作者 |  天蓉

前言

在谈效能之前,我想先谈谈作为一个技术人或者技术TL,研发的核心价值是什么?

之前看了一篇文章,比较有意思,分享一下观念:

  • T外包公司:最核心的竞争力不是技术,而是快速响应、资源调配整合、项目成本控制等方面。
  • 企业信息化公司:研发的核心价值有三个层次:第一层是运用技术更好的去支撑业务;第二层是用技术推动业务,用自身业务经验(服务很多客户)帮助客户;第三层是去用经验积累去影响行业。
  • 解决特定场景和问题的产品公司:核心价值就在于技术,专注与做技术深度。

那我们的核心价值是什么?

(1)高效支撑业务:一个是支撑,一个是高效

  • 支撑:对我们的要求就是:阶段性与业务目标,落地产品对齐。
  • 高效:研发效能的思考落地。用数据说明我们的价值

(2)用技术影响行业:这个需要持续的积累和思考。

(3)建技术壁垒和技术基建,确保系统稳定,业务健康和持久发展。

很多时候,我们一直在思考如何高效支撑业务这个课题上。阿里技术分享平台或者网上都有非常多的文章分享,每个TL针对自己团队的状况也有一套自己的方法论。今天我结合自己所面临的状况,把自己的思考总结分享一下。

个人思考

从几个维度分别进行思考:

1.研发的流程效能:拆分阶段,发现关键问题,提出方案

(1)需求阶段

问题:需求反复,需求不清晰,需求争议

解决方案:

1)确保需求的有效期,明确业务价值和需求范围,并确保需求理解的一致性。

2)需求内容,先小范围内沟通对焦;等需求讨论清晰,再拉落地相关同学参与。

3)需求有争议时,为避免反复,拉上相关同学一起对焦。

4)日常需求,定期排期,通晒。

(2)研发阶段:这个在研发的生产效能单独说明。

(3)联调与测试阶段:

问题:联调效率低,环境不可用,提测代码质量低

解决方案:

1)前后端分离,各自具备Mock的能力

2)日常环境治理,降级系统服务的依赖,确保测试环境问题

3)基准测试用例,冒烟测试,自动化脚本测试,确保提测质量。

(4)发布阶段:

问题:发布频率高;定位问题耗时;部署系统时长

解决方案:

1)对同一时间的发布系统做适当合并。

2)与业务约定发布频率,控制发布周期。

3)系统依赖治理,缩短部署时长;并提前打包

4)针对排查问题耗时,提供相应的问题排查工具。

2.研发的生产效能

针对研发的过程生产,我们从如下几个方面去提升研发效能:

(1)全链路技术规范:

图片

每一个过程,通过规范文档统一标准,并通过宣传和考试的方式,让大家都熟知内容。并通过典型案例通晒,强化规范内容的价值。

(2)全链路业务可配置

  • u页面可配:表单页,列表页,详情页,单据页等中后台页面可配置。典型案例:宜搭的页面搭建
  • u逻辑可配:业务参数可配置;业务规则可配置;典型案例:类目特征;
  • u模型可配:用元数据方式定义数据表或业务模型+扩展字段两种方式典型案例:类目属性 ;NBF建模平台
  • u服务&流程编排:基于原子服务能力进行二次组合。典型案例:AECP的服务编排;NBF的服务编排等

基于上诉的原子工具能力,再结合产品工厂和解决方案能力,把横向和纵向的业务配置化能力链接在一起,形成一个分层的全链路业务可配置视图。

图片

(3)统一横向支撑工具

拉通团队内部共性的支撑工具,共建一份。比如excel批量导入导出,审批流,通知工具等。

(4)非功能性代码

  • 应用脚手架:一键生成应用工程,包括依赖的jar包等。
  • 代码规范的模板:错误码模板;日志模板;工程结构等
  • 中间件隔离层:包括使用的案例
  • 通用工具类:外部开源的工具类;业务抽象的通用类;自研抽象的通用工具类;
  • 业务标准拦截:用户登录;服务异常处理;dao的执行时间等
  • 稳定性:限流;应用自检;

把所有应用的共性代码抽象,沉淀为jar,在工程中默认引入。

(5)部署交付:部署手册指导;统一的问题排查工具;

(6)接口文档化:web层统一遵循swagger规范;能力中心/工具遵循接口规范的文档和client的使用案例说明等。

(7)系统协作的清晰边界

我们在落地过程中,往往会存在系统调用,系统依赖等问题,建议在启动初期,把这些关键问题定义出来,然后寻找TL或pm协调解决。

3.研发的协作效能

通过流程规范和模板,约定大家的协作模式

(1)日常答疑的协作流程

图片


(2)项目过程管理

图片

通过如下战役模板,同步项目进展:

图片


(3)日常需求排期

约定需求排期周期,固定时间,并沟通需求通过协作管理工具。

后续可通过协作管理工具,分析统计数据。

4.研发的人员效能

(1)学习与培训:

通过持续的学习,或借力其他团队的方式,提升技术水平。

通过沉淀团队规范,文档,案例等方案,让大家补齐知识。

通过复盘总结,沉淀典型案例,内部分享,避免重复采坑。

(2)考试

光学习肯定是不行的,还需要通过考试的方式强化。可以使用这个工具:阿里在线考试系统。

效能指标

制定过程的指标数据,每月通晒与对比,分析数据,定位效能问题。关键指标可参考:

(1)需求交付周期,需求交付数,项目数

(2)代码提交量

(3)Bug数

(4)线上问题与故障

总结

通过优化研发过程,并有明确的数据量化,证明研发对业务的价值。

责任编辑:武晓燕 来源: 阿里开发者
相关推荐

2021-12-24 10:39:33

软件开发 技术

2022-10-20 10:16:12

敏捷开发DevOps研发效能

2024-01-04 07:40:52

2022-06-20 15:24:51

开发软件程序员

2012-09-29 11:25:52

Windows Ser研发云操作系统

2022-09-01 15:47:47

编程工具AI

2022-05-25 10:47:01

淘宝开发模式

2022-12-14 10:09:44

研发效能

2023-03-22 09:02:39

云计算

2021-08-30 11:48:33

开发技术互联网

2016-12-12 13:26:03

钱岭大数据数据安全

2017-06-19 11:27:34

阿里云效能嘉年华在线大会

2022-05-27 11:46:48

技术能力思考

2010-07-26 13:47:11

SQL Server

2023-05-04 10:48:35

ChatGPT软件研发

2022-05-17 11:16:33

软件开发优化

2021-07-20 09:28:41

信息系统实践

2021-02-22 10:08:05

技术研发创业
点赞
收藏

51CTO技术栈公众号