研发能效思考

avatar
作者
筋斗云
阅读量:1

前言

作为一个技术人包括技术管理者,需要思考研发的核心价值是什么?

有人说是"降本增效";

有人说是“业务支撑,提升效率”

等等.......,这些都不太明确,都是一个范范的概念。

之前看了一篇文章,比较有意思,我觉得比较能够回答这个问题

分享一下书中的观点:

1、外包公司:

        最核心的竞争力不是技术,而是快速响应、资源调配整合、项目成本控制等方面。

2、企业信息化公司(平台):研发的核心价值有三个层次:

        第一层是 运用技术更好的去支撑业务;

        第二层是 用技术推动业务,帮助客户,提升效率;

        第三层是 去用技术经验积累去影响或者改变行业。

3、解决特定场景和问题的产品公司:

        不同定位的公司,在不同的角色中研发部门的核心价值不一样。

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

1、高效支撑业务:

        高效,研发效率,业务系统效率,技术系统对业务的提升(需要数据对比);

        支撑:业务发展和产品落地的支撑

2、技术促进业务健康和持久发展:

        构建平台的效率降低成本在对外竞争中保持优势,对内不断优化业务流程促进业务发展;

研发流程的问题与思考

研发流程:

需求阶段 ---> 研发阶段 ---> 联调与测试阶段 --->

1、需求阶段:

问题:需求不明确,需求不充分,需求理解不一致

解决方式:

(1)明确需求上下文,确保需求的理解是一致的,包括研发,测试

(2)需求不明确的,先研发沟通一致,再和产品确认,最好一起通知测试参与

(3)需求反复的,需要制定需求变更流程,在产品确认的基础上再做开发。

2、研发阶段

2.1、研发全链路的技术规范

研发规范 ---> 集成测试规范 ---> 上线规范 ---> 中间件使用规范

(1)研发规范

编码规范,日志规范,错误码规范,系统配置规范,接口定义规范,数据库规范等等

(2)集成测试规范:

提测规范,代码评审规范,项目结构以及接口调用规范,环境规范

(3)上线规范:

系统部署规范,发布流程规范,资源申请规范

(4)中间件使用规范

框架使用规范,依赖规范,外部集成规范,稳定性规范

通过规范文档统一标准,并提供典型场景的案例的使用方式以及通知,强化规范内容的价值。

2.2、通用功能或工具的开发定制

  • 基础脚手架:一键生成应用工程,包括依赖的jar包等。

  • 代码规范的模板:错误码模板;日志模板;工程结构等

  • 中间件的使用:包括使用的案例

  • 项目通用工具类:外部开源的工具类;业务抽象的通用类;自研抽象的通用工具类;

  • 业务标准拦截:用户登录;服务异常处理;

  • 其他通用功能,上传,下载,导入,导出,文件图片的处理等等;

2.3、相互之间的协作流程与规范

  • 项目与项目的边界划分,服务的拆分,调用关系,接口调用等。

2.4、项目过程管理

      项目管理,干系人,成本,范围,进度,质量管理等

2.5、研发人员的学习进步

        自我进步

        团队规范

        复盘总结

        技术分享培训

3、联调测试阶段

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

解决方式:

(1)前后端分离,单独需要提供mock能力

(2)服务治理能力,降低服务间的依赖关系

(3)基准测试,冒烟测试,P0级别的测试等

4、发布阶段

问题:上线频率,部署时长

解决方案:

(1)控制约定发布时间与频率

(2)提前编译打包

(3)部署工具的使用提高效率

(4)降低服务建依赖

效能指标

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

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

(2)代码提交量

(3)Bug数

(4)线上问题与故障

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!