当前位置:网站首页>技术人 | 研发效能的思考总结
技术人 | 研发效能的思考总结
2022-07-28 09:43:00 【凌云时刻】
通过优化研发过程,明确的数据量化,证明研发对业务的价值。
前言
在谈效能之前,我想先谈谈作为一个技术人或者技术 TL,研发的核心价值是什么?
之前看了一篇文章,比较有意思,分享一下观念:
T 外包公司:最核心的竞争力不是技术,而是快速响应、资源调配整合、项目成本控制等方面的能力。
企业信息化公司:研发的核心价值有三个层次:
- 第一层是运用技术更好地支撑业务
- 第二层是用技术推动业务,用自身业务经验服务帮助客户
- 第三层是用经验积累去影响行业
解决特定场景和问题的产品公司:核心价值就在于技术,专注做技术深度。
那我们的核心价值是什么?
高效支撑业务:一个是支撑,一个是高效:
- 支撑:对我们的要求是阶段性与业务目标、落地产品对齐
- 高效:研发效能的思考落地,用数据说明我们的价值
用技术影响行业:这个需要持续的积累和思考。
建技术壁垒和技术基建,确保系统稳定、业务健康和持久发展。
很多时候,我们一直在思考如何高效支撑业务这个课题上。阿里技术分享平台或者网上都有非常多的文章分享,每个 TL 针对自己团队的状况也有一套自己的方法论。今天我结合自己所面临的状况,把自己的思考总结分享一下。
个人思考
从几个维度分别进行思考:
研发的流程效能:拆分阶段,发现关键问题,提出方案
1、需求阶段
问题:需求反复,需求不清晰,需求争议
解决方案:
(1)确保需求的有效期,明确业务价值和需求范围,并确保需求理解的一致性;
(2)需求内容,先小范围内沟通对焦;等需求讨论清晰,再拉落地相关同学参与;
(3)需求有争议时,为避免反复,拉上相关同学一起对焦;
(4)日常需求,定期排期,通晒。
2、研发阶段
这个在研发的生产效能单独说明。
3、联调与测试阶段
问题:联调效率低,环境不可用,提测代码质量低
解决方案:
(1)前后端分离,各自具备 Mock 的能力;
(2)日常环境治理,降级系统服务的依赖,确保测试环境问题;
(3)基准测试用例,冒烟测试,自动化脚本测试,确保提测质量。
4、发布阶段
问题:发布频率高,定位问题耗时,部署系统时长
解决方案:
(1)对同一时间的发布系统做适当合并;
(2)与业务约定发布频率,控制发布周期;
(3)系统依赖治理,缩短部署时长,并提前打包;
(4)针对排查问题耗时,提供相应的问题排查工具。
研发的生产效能
针对研发的生产过程,我们从以下几个方面去提升研发效能:
1、全链路技术规范

每一个过程,通过规范文档统一标准,并通过宣传和考试的方式,让大家都熟知内容。通过典型案例通晒,强化规范内容的价值。
2、全链路业务可配置
u 页面可配:表单页,列表页,详情页,单据页等中后台页面可配置典型案例:宜搭的页面搭建
u 逻辑可配:业务参数可配置,业务规则可配置典型案例:类目特征
u 模型可配:用元数据方式定义数据表或业务模型+扩展字段两种方式典型案例:类目属性,NBF 建模平台
u 服务 & 流程编排:基于原子服务能力进行二次组合典型案例:AECP 的服务编排,NBF 的服务编排等
基于上诉的原子工具能力,再结合产品工厂和解决方案能力,把横向和纵向的业务配置化能力链接在一起,形成一个分层的全链路业务可配置视图。
3、统一横向支撑工具
拉通团队内部共性的支撑工具,共建一份。比如 excel 批量导入导出、审批流、通知工具等。
4、非功能性代码
应用脚手架:一键生成应用工程,包括依赖的 jar 包等;
代码规范的模板:错误码模板,日志模板,工程结构等;
中间件隔离层:包括使用的案例;
通用工具类:外部开源的工具类,业务抽象的通用类,自研抽象的通用工具类;
业务标准拦截:用户登录,服务异常处理,dao 的执行时间等;
稳定性:限流,应用自检;
把所有应用的共性代码抽象,沉淀为 jar,在工程中默认引入。
5、部署交付
部署手册指导,统一的问题排查工具;
6、接口文档化
web 层统一遵循 swagger 规范、能力中心/工具遵循接口规范的文档和 client 的使用案例说明等。
7、系统协作的清晰边界
我们在落地过程中往往会存在系统调用、系统依赖等问题,建议在启动初期把这些关键问题定义出来,然后寻找 TL 或 pm 协调解决。
研发的协作效能
通过流程规范和模板,约定大家的协作模式。
1、日常答疑的协作流程
2、项目过程管理
通过如下战役模板,同步项目进展:
3、日常需求排期
约定需求排期周期,固定时间沟通需求,后续可通过协作管理工具分析统计数据。
研发的人员效能
通过持续学习或借力其他团队的方式,提升技术水平;通过沉淀团队规范、文档、案例等方案,让大家补齐知识;通过复盘总结,沉淀典型案例内部分享,避免重复踩坑。除了学习,还需要通过考试的方式强化。
效能指标
制定过程的指标数据,每月通晒与对比,分析数据,定位效能问题。关键指标可参考:
- 需求交付周期,需求交付数,
- 项目数
- 代码提交量 Bug 数
- 线上问题与故障
总结
通过优化研发过程,明确的数据量化,证明研发对业务的价值。
边栏推荐
- Edge团队详解如何通过磁盘缓存压缩技术提升综合性能体验
- 博弈论 1.Introduction(组合游戏基本概念、对抗搜索、Bash游戏、Nim游戏)
- Weekly report on July 27, 2022
- Today, I want to talk about the data types of MySQL database
- 关于CLR GC调优的一些问题
- 这种动态规划你见过吗——状态机动态规划之股票问题(中)
- Sequence and limit operation of MATLAB
- 3分钟带你了解微信小程序开发
- ASP.NET Core 6框架揭秘实例演示[29]:搭建文件服务器
- 【FPGA教程案例41】图像案例1——通过verilog读取图片
猜你喜欢

设计一个支持百万用户的系统

MySQL master-slave architecture. After the master database is suspended and restarted, how can the slave database automatically connect to the master database

NTU Lin Xuantian's "machine learning cornerstone" problem solving and code implementation | [you deserve it]

刚获融资的Espresso Systems,知识产权与团队道德双双陷入困境

This wechat plug-in is very easy to use

Machine learning (10) -- hypothesis testing and regression analysis
![[OpenHarmony] [RK2206] 构建OpenHarmony编译器 (二)](/img/0c/2e8290403d64ec43d192969f776724.png)
[OpenHarmony] [RK2206] 构建OpenHarmony编译器 (二)

Weekly report on July 27, 2022

The high temperature continues, and public transport enterprises carry out special safety training

每天在岗不足8小时被辞?腾讯前员工追讨1300万加班费等,法院终审获赔9万
随机推荐
Judge whether the string is palindrome
Branches and loops (1)
redis的基础知识
7.27 最小生成树阶段性测试题解
Function introduction and description of @jsontype annotation in fastjson
How to learn so many conceptual things in database? Seeking method
(iros 2022) monocular visual inertial odometer based on event camera
每天在岗不足8小时被辞?腾讯前员工追讨1300万加班费等,法院终审获赔9万
Sizebasedtriggingpolicy introduction
能够遍历一个文件夹下的所有文件和子文件夹
高温持续,公交企业开展安全专项培训
备受关注的Bit.Store,最新动态一览
[ESP32][esp-idf] esp32s3快速搭建LVGLV7.9
Read Plato farm's eplato and the reason for its high premium
SkiaSharp 之 WPF 自绘 拖曳小球(案例版)
Seeing clearly is more important than walking fast, because you can go far only when you walk right
OSPF的拓展配置,选路原则,防环及重发布
图解 3 种主流企业架构模式(建议收藏!)
Introduction to thresholdfilter
FixedWindowRollingPolicy简介说明