Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >高效能研发体系构建方案

高效能研发体系构建方案

作者头像
架构之家
发布于 2022-07-12 07:55:25
发布于 2022-07-12 07:55:25
5170
举报
文章被收录于专栏:架构之家架构之家

背景

技术管理者(技术总监/经理/CTO)都会面临公司战略执行,公司业绩的压力,以及业务对技术团队支撑能力的期望和诉求。如何打造一支快速响应,高效能,能打硬仗的技术团队?是技术管理者的挑战和必须完成的任务。

痛点

1)技术选型混乱,大量基础技术组件代码重复构建,使用方式不一样;一些坑大家都需要重复踩一遍,关键是踩完了还不能复用经验可能还会在其他项目重复发生。

2)项目最终被业务追着跑,产品设计没有路线图, 整体业务架构没有规划,最终演变成大量业务基础服务重复建设,业务边界不清晰,业务服务职责不清晰。

3)线上事故不断,同一个问题可能重复发生或者一个事故发生后只有用户人为反馈后才能感知。解决和排查问题原因,需要很久分析才能解决。

4)线上服务器管理混乱: 公共服务重复建设,服务器权限不清晰, 发版断服,服务不能动态扩容等。运维忙于处理线上故障和版本发布。

5)研发流程,故障处理流程等标准化制度缺失或不明确; 人员的效能,团队的效能和组织效能无法量化,只能靠直觉和经验。

目标

打造一支快速响应,高效能,能打硬仗的技术团队。

1)技术人员效能提升50%, 整体人员成本降低50%。

2)业务迭代周期提升30%, 实现秒级发布秒级回滚。

3)故障响应速度提升90%,线上稳定性提升90%。

研发体系构建

1)业务一体化构建

业务的一体化(或者称为业务中台),本质是基于功能抽象复用、架构合理性和业务统一管理的视角,通过适度的业务逻辑抽象、弹性的复用功能设计,将产品方案进行抽象、复用和下沉,打造企业级一站式功能服务平台。而这个过程非常考验产品的统筹规划设计能力,架构师的业务理解和服务拆分能力。

个人比较推荐采用ddd的战略设计能力,产品与架构师和业务一起参与事件风暴,并梳理业务的核心流程,明确业务领域中的核心领域,支撑领域,通用领域,以及各个领域的上下文边界,并据此进行合理的业务微服务拆分,并反复验证业务领域模型和细节设计(也可同时采用传统的经验设计进行验证)后实施。同时个人也推荐在落地业务中台的时候,可以考虑把业务中台做“薄”一些,业务的前台做“厚”一些,这样可以保持前台业务的最大灵活性,帮助新业务快速度过探索期。

假如在业务架构顶层设计时候领域拆分不合理,会在未来造成很多的业务架构技术负债而且项目迭代的效能会大大降低。而这些负债越到后面的业务发展,改动越难,影响越大。合理的领域服务拆分,服务调用链路应该是理想的树状或者可预期的规律调用链路。而在实操过程中,我们可以通过观察pinpoint或者skywalking追寻调用链路是否是网状无规律的循环调用结构?此时我们要确认服务拆分是否合理,是否需要重新梳理业务进行优化。

虽然实际上每家公司的业务形态都不一样,若假设业务架构拆分合理(至少满足1-3年左右的业务架构演变),规划好产品技术路线图,项目迭代效能应该可以提升20%~30%。

业务领域图例:

2)技术一体化构建

技术的一体化(不仅仅只称为技术中台),主要解决的是“业务开发人员”使用技术的统一标准化,比如是技术编程语言统一(如java,.net,python),技术选型统一(如分布式的技术选型统一,框架统一),技术使用标准统一(如日志规范),项目脚手架统一(如项目结构,项目文档统一)等。

我们在实践过程中通常会构建bsf(base service framework)基础服务框架,business framework 基础业务框架及bsf-demo基础业务脚手架去解决业务开发人员的技术问题。

【bsf基础服务框架】解决框架使用,技术选型,性能优化,日志规范及中间件监控等标准。让业务开发人员无需关注底层框架实现,只需按照标准技术规范,专注本身领域的业务开发实践,专注本身领域的业务价值实现。(bsf框架层优先兼容新旧技术选型,推进技术演变,业务开发无需改动代码;同时为运维一体化,监控一体化,管理一体化提供框架级支撑)

参考(部分开源版): https://gitee.com/yhcsx/csx-bsf-all

【business 业务基础框架】 解决业务之间公共通用使用的类库,比如业务的通信协议,业务的状态码标准(错误状态码)等等,同时也解决一些新旧架构兼容等业务兼容问题。

【demo标准脚手架】 解决业务框架标准化项目结构(或ddd项目标准结构)及文档,让开发人员1分钟生成项目3分钟进入项目开发。

参考(部分开源版): https://gitee.com/yhcsx/csx-bsf-demo

基础框架集成顺序:

标准脚手架结构图:

通过技术一体化的实践,我们比较完美的做到剥离业务开发的(与业务无关的)技术,让业务专注业务的实践,同时底层技术演进和实践,业务开发人员无需关注和配合。那么业务线高级开发人员的比例可以减少50%+,研发效能提升10%+。(当然架构师依旧会深入在某个业务线领域协助业务优化自身的业务架构(如分库分表),让业务性能和稳定性得到进一步的提升。)

3)监控一体化构建

监控一体化的目的在于自动化的产出项目质量报告,并进行实时的预警机制,让业务开发人员只关注业务实践,无需关注线上性能问题(因为一旦有问题,我们就会自动监测)。

监控中心概要图

我们构建一个监控体系用于基础采集指标的收集,其中包含开源的一些采集系统,自建的一些采集指标(插件行使)补充,或第三方商业的工具(如听云等),同时也会动态多维度的项目性能质量分析报告及动态评分和评级,同时根据策略实时进行性能及异常预警到特定人员。

一方面将我们对常见的性能及稳定性问题的分析经验沉淀,形成自动化的监控和报警系统,彻底解放运维人力监控、人力分析预警;另一方面我们自动化的形成质量报告,实时分析出项目的质量情况和相应的解决方案建议(经验沉淀),推进项目质量改进和分析。

最终实现秒级性能及异常报警,实时质量分析报告,1分钟内精准定位问题,解放重复的性能分析和排查,研发效能可提升5%+。

4)运维一体化构建

运维一体化的本质在于彻底解放运维日常的工作,让运维更加关注服务器性能的提升,成本的降低。

在我们实践的认知中,我们认为运维和架构是一体的(至少也是难以分离),假如项目架构和技术层面没有做到统一(各自采用不同的技术选型和项目结构),那么在运维层面也难以做到统一,整体运维的工作量随着项目的数量,不断增加,甚至大部分场景都要单独维护,那么重复性和不必要的工作重复做。

运维自动化概要图

运维的工作是技术中较为繁杂的(包含环境管理,权限管理,网络安全建设,资产管理等等),我们期望在基础设施服务一体化,云原生容器化,运维一站式,CICD一体化,发布自动化这几块就做到运维的一体化。

【基础设施服务一体化】架构和运维推进并在设计初级做到技术选型的统一和项目结构的统一,技术内部团队中只允许使用一套基础设施服务和一套基础技术选型标准,比如分布式相关的基础服务,监控体系,研发管理体系和发布体系。

【云原生容器化】容器化可以有效的节省服务器成本,快速扩缩容和服务持续可用,在技术体系统一的情况下,实践虚机到容器化迁移非常迅速,实际可节省服务器成本约30%左右;同时我们也推进所有的基础设施服务全部用云原生方式替代,进一步降低成本和快速部署能力。

【CICD一体化】在技术一体化的基础上,采用一套部署脚本和机制,满足一键发布服务,一键回滚服务,所有服务版本化,所有服务秒级发布。开发人员无需关注线上部署脚本情况,无需关注服务启动切换,无需关注线上服务运行环境(虚机还是容器)。

【运维一站式】所有运维的定时/监控等脚本分发执行,所有服务器,资产及成本等关键性的运维工作进行统一的管控及自动化平台。

【发布自动化】在技术一体化的基础上,通过可视化流程形式构建整套发布流程和回滚流程,构建审批流程,将版本发布工作交还给项目团队,彻底解放运维的日常项目迭代发版的协同工作。

按照两家公司的不同技术团队(150-200人左右)同等规模下实践对比,运维一体化实践较好的公司运维仅需1-2人,而另外一家公司运维约7人左右,而对整个技术团队的效能提升应该在5%~10%左右。

5)管理一体化构建

管理一体化的目标在于建立数字化,标准化的管理方式,将经验和理念沉淀到系统中,通过数据去指导及验证管理决策,提升整体研发人员能效;同时我们期望将“人治”逐步变成"系统化",让管理者精力更加聚焦业务价值实现。

管理模式演变概要图

在管理实践中,我们将“经验直觉”人治管理方式逐步演变成规范化标准化的人治管理方式(管理成本也逐渐增加),也期望逐步向“数据化”“自动化”的系统管理转变(更加精准,更加实时且直观的暴露问题),通过数据指标进行分析和对比,快速的决策和改进。

从项目初期,我们就推进各个环节的标准化(管理规范一体化),并制定关键核心规范并落地到各个项目中,但是效果不一定很理想。因为管理者在做业务价值和技术负债的取舍矛盾中,往往选择优先满足业务价值,本质是因为我们没有直观的量化的指标去衡量投入产出比,项目质量的变化,有效业务价值,这个也是最初数字化管理的需求痛点。

管理要“以人为本”,管人要以“人性”为前提,但管理者要有财务思维。研发效能平台将组织架构,组织文化,项目管理工具(禅道/tapd),项目质量(监控一体化),标准规范(管理规范标准化),缺陷故障(线上bug/故障rca复盘),资源成本(服务器,资产,人员成本),周报管理,激励+成长+360考核等等已知研发体系信息进行分析。

以“员工”为维度产出员工/管理者的职级,任务数,bug数,任务完成度,有效产出量,代码质量,工作时长,有效工作时长,线上故障数,工作饱和度,分享能力,学习能力,成长度,产品价值,技术价值,业务价值等等;

以“项目”为维度产出项目/迭代的人员数,工时数,产品价值(达成率),技术价值(达成率),业务价值(达成率),人员投入成本,服务器投入成本;

以“组织”为维度产出团队/组织的人员数,工时数,产品价值(达成率),技术价值(达成率),业务价值(达成率),人员投入成本,服务器投入成本,任务数,bug数,任务完成度,有效产出量,代码质量,工作时长,有效工作时长,线上故障数,工作饱和度,分享能力,学习能力,成长度等等。

管理者最重要的事:制定目标,带领团队,拿出结果。我们期望通过将管理方法论沉淀为数据化,自动化的系统平台化管理,让管理者更加聚焦业务本身,通过一体化的量化数据增强管理和精准决策(验证管理成果),同时通过系统化降低管理(人员/职能)成本,(百人以上研发团队规模下)整体研发效能提升10%~20%。

总结

通过研发体系的构建,五个维度的一体化建设,我们不断努力的实践并验证人员能效提升并聚焦业务价值;然而研发管理体系的建设并没有银弹,我们依旧在不断的沉淀,实践,总结,交流,打破,提升;欢迎一起交流分享!

出处:https://www.cnblogs.com/chejiangyi/p/15000543.html

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 架构之家 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
《软件研发效能提升实践》节选 —— 研发效能的规模化实践
在数字化转型、软件“吞噬”世界的时代,软件研发效能已成为企业的核心竞争力。本书系统地阐述软件研发效能的框架,以及有关管理实践、工程实践、组织实践、技术实践、度量实践、规模化实践和工具落地等方面的内容。本书通过良好的框架设计和组织,详细介绍了前沿颇有成效的软件研发效能改进和提升案例。
腾讯云 CODING
2022/05/19
1.7K0
《软件研发效能提升实践》节选 —— 研发效能的规模化实践
研发效能提升,从正确地实施度量开始
为了有效应对当前充满易变性、不确定性、复杂性与模糊性的互联网大环境,今年年初京东提出了数字化管理的战略方向,通过数字化的技术和管理模式提升组织绩效。在这个背景下,研发效能的提升就成为了很多产品技术部门今年的重要目标,有些部门专门成立了相应的工程效率团队,期望从组织、文化、技术、流程等方面的优化来促进研发效能的整体提升。
京东技术
2019/05/05
8.2K1
研发效能提升,从正确地实施度量开始
中国信通院云大所牛晓玲:XOps + SRE,如何赋能企业迈进高质量发展新格局?
牛晓玲,中国信通院云大所审计与治理部副主任,DevOps 标准工作组组长,DevOps国际标准编辑人。
DevOps时代
2023/08/22
1.7K0
中国信通院云大所牛晓玲:XOps + SRE,如何赋能企业迈进高质量发展新格局?
助力提升研发效能的“黄金三角”
👆点击“博文视点Broadview”,获取更多书讯 这些年,由于一直在拥有数万名研发人员的大型互联网公司做DevOps和研发效能的相关工作,做过敏捷和持续交付实践的大规模推广,组建并带领团队从零开始建设服务于全公司的、一体化的、一站式的DevOps平台,发起公司级效能度量委员会并制定度量指标体系;而且在技术社区持续活跃,在各类综合性/专业性技术大会中担任出品人等角色,对互联网大厂的研发效能提升思路和做法有一定的理解,因此,把这些经验总结起来,形成了一个具有增强回路效果的研发效能提升体系,我们称之为研发效
博文视点Broadview
2022/04/28
4931
助力提升研发效能的“黄金三角”
五个维度打造研发管理体系
技术管理者(技术总监/经理/CTO)期望通过体系化的管理方式建设,能够在百人,千人以上的团队中有效的构建聚焦目标,自我成长,高效能的研发作战团队,快速拿出成果,支撑业务的快速发展。
肉眼品世界
2021/12/09
2.1K0
五个维度打造研发管理体系
提升字节规模化效能的平台化思路|字节跳动平台工程实践
口述 | 杨振涛、姚志坤 整理 | Penny 策划 | Tina 如今,在 Kubernetes 上构建应用程序的开发人员,不仅要写代码还要负责交付和运维等。而 CNCF 云原生的 Landscape 已经有 1000+ 张卡片,覆盖应用定义与开发、编排与管理、运行时、配置、平台、可观测性与分析等,开发人员“认知负担”越来越重,所以企业需要从 2023 年开始更关注开发者体验,去聚焦开发者平台的相关建设,提供好用的工具集合或平台工程。 于是,InfoQ 发起了一场《极客有约》特别栏目《云原生趋势
深度学习与Python
2023/05/09
1K0
提升字节规模化效能的平台化思路|字节跳动平台工程实践
构建一体化数字营销平台,助力医药企业实现销售转化能级大幅跃迁 | 案例研究
今日分享的案例企业成立于1994年,主要从事心血管、消化领域的药品生产、加工、分装和销售,其中心血管相关药品广泛畅销至世界很多个国家。目前,该医药公司销售网络遍及全国80余个城市,以专业人员组成的营业队伍,致力于正确使用和普及医药品为目的的信息活动,通过公正的具有创造性和充满生机的行动为人类健康服务。
爱分析ifenxi
2023/04/27
4110
构建一体化数字营销平台,助力医药企业实现销售转化能级大幅跃迁 | 案例研究
技术总监需要会些什么?
点击上方“芋道源码”,选择“设为星标” 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java 2021 超神之路,很肝~ 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 RocketMQ 源码解析 数据库中间件 Sharding-JDBC 和 MyCAT 源码解析 作业调度中间件 Elastic-Job 源码解析 分布式事务中间件 TCC-Transaction
芋道源码
2022/07/06
6720
技术总监需要会些什么?
建设一站式DevOps平台,腾讯云研发效能提升实践
导语 | 近年来,研发效能提升越来越受到业界重视,许多厂商都在不断探索研发效能提升之路,从而实现研发效率和质量的持续优化,以应对日趋复杂的产品开发。那么腾讯云的研发效能相关工作是如何开展和落地的呢?今天我们特邀了腾讯云研发效能工作组负责人、腾讯健康副总裁 张渝老师,他将带大家深入了解腾讯云研发效能提升之路,同时也给大家解读未来腾讯云研效的发展方向。
腾讯云 CODING
2023/05/22
1K0
建设一站式DevOps平台,腾讯云研发效能提升实践
【软件开发】如何在DevOps实践中,持续优化体系构建?
持续优化,是DevOps体系落地的重要理念之一。通过持续优化,可以推进企业研发队伍的自我完善与效能的持续提升,那么,如何才能构建持续优化的体系呢?
嘉为蓝鲸
2020/05/17
8780
【软件开发】如何在DevOps实践中,持续优化体系构建?
一体化协同平台助力企业回归生产本质,创造价值
目前,越来越多的企业选择通过数字化转型应对市场的不确定性。软件作为数字化的直接载体,软件研发效能治理(简称为研效治理)成为企业数字化转型的关键,企业期望通过引进优秀的研效文化、方法论、技术,重塑组织职能边界,优化分工效率;通过创新软件研发流程,面向“价值”协同;通过引进自动化工具链,优化价值流转效率。
腾讯云 CODING
2023/06/07
4350
一体化协同平台助力企业回归生产本质,创造价值
《DevOps权威指南》电子试读版-第一章-DevOps基础
evOps(development和operations的组合词)是一组过程、方法与系统的统称,用于促进软件开发(应用程序或软件工程)部门、技术运营部门和质量保障(Quality Assurance,QA)部门的相互沟通、协作与整合,如图1-1所示。软件行业从业人员日渐认识到:为了按时交付软件产品或服务,软件开发人员和运营人员必须紧密合作,必须重视软件开发人员和运维人员的沟通,并通过自动化流程使得软件的构建、测试和发布更加快捷、可靠。
顾黄亮
2022/01/09
4K2
《DevOps权威指南》电子试读版-第一章-DevOps基础
2021 在线教育大前端全栈研发模式升级
本人有幸于2020年5月30日在 QCon 2021 前端新趋势专场进行了技术分享,总结了此次分享《基于 Serverless 的腾讯在线教育大前端研发模式升级》的演讲内容跟大家一起交流一下。 序言 首先做一下简单的自我介绍。我是来自腾讯的工程师 haige,于 16 年校招进入腾讯 QQ 浏览器,17 年加入 IMWeb 团队。目前是 在线教育部 IMWeb 前端团队的一员,是团队的全栈研发方向的负责人。本文对有意致力于全栈开发落地的前端团队,以及有兴趣提升团队研发效能建设的同学,有一定的借鉴意义。本文
用户1097444
2022/06/29
3870
2021 在线教育大前端全栈研发模式升级
金融云原生漫谈(一)|银行业如何快速提升应用研发效能和交付效率?
在金融行业数字化转型的驱动下,国有银行、股份制银行和各级商业银行也纷纷步入容器化的进程。如果以容器云上生产为目标,那么整个容器云平台的设计、建设和优化对于银行来说是一个巨大的挑战。如何更好地利用云原生技术,帮助银行实现敏捷、轻量、快速、高效地进行开发、测试、交付和运维一体化,从而重构业务,推动金融科技的发展,是个长期课题。
灵雀云
2021/12/17
6360
以农信农商行为例,如何构建银行自主可控的智能研运体系?
国家“十四五”规划中25次提及“数字化”,在移动互联、大数据、云计算、人工智能等数据技术的推动下,银行的IT技术架构从传统的“IOE架构”走向分布式开放架构。其运维管理模式由传统ITIL指导向“ITIL+DevOps并举”演化,运维管理工具也将从ITOM、ITOA到AIOps发生颠覆性变革。
嘉为蓝鲸
2022/03/28
1.3K0
以农信农商行为例,如何构建银行自主可控的智能研运体系?
燃!中原银行获信通院研发效能度量工具级『产业推广级』标准评估
2022年7月28日,中国信息通信研究院隆重发布了《研发运营一体化(DevOps)通用效能度量模型-系统平台和工具》首批评估结果。 中原银行股份有限公司(以下简称“中原银行”)的中原银行研发效能洞察平台参与本次由中国信息通信研究院(以下简称“信通院”)开展的《研发运营一体化( DevOps )通用效能度量模型》首批评估并顺利通过工具产业推广级评估。代表着中原银行的 DevOps 效能度量已经达到国内领先水平。 评测单位:中国信息通信研究院 中国信息通信研究院云计算与大数据研究所所长何宝宏先生公布评估结果:
DevOps时代
2022/08/29
2.2K0
燃!中原银行获信通院研发效能度量工具级『产业推广级』标准评估
企业如何规划DevOps落地与演进?
DevOps如今是最热门的IT开发运营模式,根据DevOps研究组织Dora的调查报告,DevOps的实践在各个行业已全面展开,但在具体落地中,各企业仍困难重重,或是偏离了DevOps的方向,历经多年都不得其门而入,或是小规模的试行获得成功,但大规模的推行进展迟缓、效果不佳,诸如此类。
嘉为蓝鲸
2020/02/26
8430
企业如何规划DevOps落地与演进?
代码托管平台新视野:Gitee如何重塑企业开发效能
在数字化转型的浪潮中,代码托管平台的角色已从单纯的代码存储演变为驱动研发效能的核心引擎。作为国内技术生态的领军者,Gitee通过本地化深耕与技术创新,持续为开发团队提供高效、安全、可扩展的解决方案。本文从企业实践视角,揭示Gitee如何突破传统工具局限,打造敏捷开发新范式。
用户11533487
2025/03/06
2220
从0到1,马蜂窝大交通团队如何构建高效研发流程体系?
2019年5月,马蜂窝完成了新一轮融资,金额达2.5亿美元。这也标志着通过集内容、社区、交易为一体的消费决策场景构建,从攻略社区起家的马蜂窝开始迈入在线旅游行业头部阵营。
TAPD敏捷研发
2019/09/12
3.3K0
《DevOps权威指南》电子试读版-第一章-DevOps的价值
通过对DevOps的概念、理念、发展轨迹、特点、总体架构与流程,以及实践过程中的工具链框架的打造和实践原则的描述,最终锚定DevOps的价值。随着DevOps原生理念的延伸,DevOps的价值变得更为丰富,无论是IT组织的各能力子域、IT组织自身,还是企业,均获得相应的收益。对于企业,产品的创新和市场占有率都需要IT组织的支撑能力和创新能力的提高。对于IT组织,IT能力决定了业务开展的深度和广度,自身的能力输出需要匹配甚至超越企业的业务发展。在IT组织内部的各能力子域,需要对IT能力输出负责,研发体系的敏捷,信息系统的安全、稳定和可靠,产品需求的精准,以及项目管理的完善和严谨都是必备条件。因此,在本章中,针对DevOps,我们将从多个维度对价值进行论述,对实践和落地过程提供锚定的指引。
顾黄亮
2022/01/09
6571
《DevOps权威指南》电子试读版-第一章-DevOps的价值
推荐阅读
相关推荐
《软件研发效能提升实践》节选 —— 研发效能的规模化实践
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档