滴滴工程效能平台建设之路

从零开始构建AURIX TC397开发环境:硬件选型与IDE配置全攻略 本文详细介绍了如何从零开始构建AURIX TC397开发环境,涵盖硬件选型、IDE配置及外设驱动开发等关键步骤。针对TriCore架构的高性能特性,提供了开发板选型建议、AURIX Development Studio(ADS)安装配置指南,以及GPIO和CAN FD驱动的实战代码示例,帮助开发者快速上手TC397系列微控制器的开发工作。 阅读详情

这是 2020 年滴滴 EP 研发效能的分享,出自滴滴技术公众号,现在看依然高价值。周凡,我在滴滴 EP 的老板,前谷歌工程资深工程师,前滴滴研发工具负责人。多开开天眼多看看别人做的,站在巨人的肩膀上事半功倍。现在都已经什么时代了,不要再闭门造车了。

原文标题《从铸剑到御剑:滴滴工程效能平台建设之路》

滴滴工程效能的演进

在大家的印象里,工程效能就是基于工具本身的工程项目建设,简单地说就是为研发团队铸剑——提供所需的各类生产力工具。相信大家对下面这张图中的企业都非常熟悉,国内及国际高科技头部公司在 R&D 方面的投入占比通常能达到公司营收的 10%~20%,这足以说明研发本身对于科技企业的重要性。另一方面,随着公司产品多元化,产研规模不断扩大,工程效能就成为了决定研发能力的关键因素之一。

image.png

滴滴工程效能团队成立于 2015 年,滴滴的工程效能建设先后经历了以下几个阶段:

  • 第一阶段:

  • 公司处于早期,研发工具团队采用一些外采和开源的方案,实现基础功能,满足业务研发的需要。

  • 第二阶段:

  • 随着公司人力的增多、业务的复杂,我们尝试在一些特定领域做自研工具,以弥补开源工具的不足,主要是解决一些当时的特定问题。

  • 第三阶段:

  • 开始做平台化,当然这些平台都是针对特定的领域,像项目管理平台、代码管理平台、持续交付平台、效果验证平台等。

    image.png

现阶段,工程效能团队主要聚焦在一站式研发平台的建设,完善研发的整体体验和效率的同时,也有效的形成了研发与业务的功能联通和数据关联 。对于这一点我自己感受比较深,研发状况的好与不好,不仅要让研发同学们能看到,同样要使得让业务同学们有感知。这里解释一下为什么要去做工程效能数据建设。

*2.*****滴滴为什么要做工程效能数据

这里解释一下为什么要去做工程效能数据建设。

▍看清研发成本

在研发过程中,企业的人、财、物到底如何使用,应该是清晰可见的。滴滴目前不到 2 万的员工里有大几千的研发人员,研发在成本上确实是一个大头,业务需要看清楚人财物是怎么分配的。

▍看清研发水平

业务本身在多元化,需求越来越多、产品也越来越多,此外还有一些国际化的市场场景。我们需要在工程效能的维度上让大家清楚产研到底做的怎么样。

另外,我们可以通过分析数据化的效能状况来提高研发水平,辅助研发决策。——届时,我们不但能为研发团队铸剑,我们还能指导研发团队提高其御剑术。

*3.*****工程效能数据建设的总体思路

结合着滴滴的研发现状,我们的数据建设主要从研发工具层面和数据产品两个方面去努力。

▍工具层面

  • 一是打通研发阶段和非研发阶段的工具,形成可以延伸到业务视角的全流程工具规划。我们希望需求侧、项目侧和一些偏产品侧的同事能直接感知到研发整体进度及关键的状态进展。

  • 二是研发工具链本身形成标准化的一站式工具体验。通过这种方式,我们可以把研发最佳研发实践低成本的从一个业务线推广到其他更多的业务线,另外,一站式研发工具也使得工程效能数据本身更加统一和规范。

▍数据产品

滴滴的工程效能平台共分三层:第一层是数据层,第二层是计算层,第三层是应用层

  • 数据层

  • 主要目标是获得跟工程效能相关的数据,核心是数据收集的自动化和准确性。如果通过人工去收集原始数据,由于大家对数据的解读并不统一,会产生更大的歧义。因此必须通过自动化工具实现,最终形成准确和统一的数据。

  • 计算层

  • 计算层就是生成工程效能的指标。我们根据工程效能的关注点,通过建模加工处理数据,然后展示这些特征即可。

  • 应用层

  • 这里考虑的是如何把计算层的指标展示出来。简单的一、两个指标并不能说明问题,我们希望数据的呈现不仅要具备工程效能专家视角,它同样要满足不同角色,不同业务特征的个性化视角。

*4.*****工程效能体系的挑战与对策

滴滴的工程效能数据建设在这三层上的挑战类似于金字塔,数据层的挑战是最大的。这主要源于我们工具链的演进过程,首先,原有的工具比较聚焦功能而非数据体现,数据能力有所确实;其次当前的工具比较聚焦特定的领域而非整体,数据缺乏一致的标准和关联思路;最后,不同业务线在使用中也没有形成统一的规范,数据的准确性不足。因此底层的数据治理工作非常繁杂,是最难的一层,计算层和应用层也有各自的难点,但相比数据层还是相对容易一些。下面分别讲一下这三层的应对思路。

▍数据层的挑战与应对

数据层的问题上面已经简单的介绍了,归纳一下,首先是数据不完整;其次数据标准不统一;最后,数据不具备明确的关联信息。

相应的,我们按照场景明确了数据要求,而非工具现有的数据作为标准。以我们的代码评审工具为例,它的数据应该能直接反映代码审计领域的问题,而非体现工具实现的特征。基于这个标准,我们对数据结构进行了梳理和标准化,最后进行相应的进行工具本身数据能力的改造,补齐欠缺的部分。

此外,数据关联还存在问题,由于用户习惯的已经形成,我们没有选取在各个能力工具层面分别进行改造,而是通过一站式工具平台来统一解决,这个在计算层部分有详细描述

▍计算层的挑战与应对

计算层首要的难点是数据解读的成本高,很多工具的数据通常需要我们找到具体负责该工具研发的同学去问,有些数据经历过多次版本更迭之后,其含义变得模糊。其次是上面说到的数据之间缺乏关联性,在跨工具的场景这个问题尤为突出。最后是缺少指标体系,这个对于我们从海量的无序数据中梳理出有意义的指标至关重要。

为此我们从后往前,从指标体系的梳理入手,以团队(人)的视角为核心,通过统一工程效能的解读方式来降低数据的解读成本。同时,依据统一的指标体系,发现现有数据中关键的主体关联及属性缺失,通过一站式平台的能力逐步把这部分弥补上。

image.png

这张图比较直观地呈现了数据梳理和关联的过程。我们把所有工具的数据表都汇集到工程效能的数仓之后,通过这个平台在各个工具之间做索引和关联,最终形成具备整体解读效果的指标体系。当然,这个过程是一步步沉淀出来的,在这个过程中计算某个效能指标的最合理路径逐渐清晰,工程效能的主体(通常是部门或产品)数据和关联关系也更加丰富和详细。

▍应用层的挑战与对策

应用层的主要问题是展示,我们的平台需要找到用户最关心的效能指标数据并将它友好地展示出来。用户的使用目标不一致、解读标准也不一致,标准怎么定、逻辑怎么算,非常考验平台的能力。

首先,我们先完善指标本身,平台不能只反映阶段性的问题要反映全貌。第二,指标的呈现有不同角色的视角。第三,指标本身可扩展性。最后,工程效能数据能支撑或佐证大多数用户的主观认知,这也是指标体系迭代的方向。

*5.*****工程效能的数据体系建设

国内的国内做工程效能的主要分以下两种思路:

  • 一类注重交付效率、交付质量和交付能力等业务支撑的指标;

  • 一类更关注持续发布能力、需求响应、交付吞吐率、交付过程质量和交付质量等非常关键的头部指标。这是国内企业做工程效能体系的现状,下面介绍滴滴的工程指标是怎么做的。

image.png

工程效能指标结构

滴滴的工程效能核心指标分为两类:一类是偏交付指标,是给业务或者给非工程团队的参考;一类是特征指标,体现的是工具本身的状态,在特征指标方面我们比较关注有效行为和可持续性。另外还有研发过程指标,我们会比较关注研发过程的需求响应、研发过程质量、持续集成能力这几个比较突出的维度。这些效能指标,从完备性、多视角、可扩展性,以及支持主观判断等方面做到了全覆盖。

回到数据应用的视角,当我们看工程效能的时候,我们的主视角到底是什么?从一个比较自洽逻辑来讲其实有三点:第一,看主体,主体就是团队或者人;第二,看客体,就是看产品,看项目和需求;第三,看使用工具的过程。

以滴滴现在状况,我们首先选择了组织管理的视角,因此更多是从主体视角看问题。因此我们工程效能平台选择主体视角作为第一视角,当然不同公司有不一样的视角,这取决于场景。滴滴选择了主体视角,主体视角关注两大类指标:一类是团队效能,一类是团队产出。团队效能主要看团队的工程能力和水平,通常是定期的、变化频次比较低且容易量化的指标。团队产出更关注输出物、工作量,以及进度。团队产出的变化频次比较高、也会经常被查看,这方面主要呈现的都是能反映事实和状态的原始数据。

当前滴滴的工程效能数据平台还处于初级阶段。效能指标数据越来越统一和标准化,同时也支持数据的下钻;产出指标主要展示效率、质量、成本这三个维度的原始数据。另外有的团队想看一些更细致和个性化的指标,我们基于各个工具里特别细粒度的数据、打上归属标签,让用户能快速查找和订阅、放在自己的看板上,满足这部分个性化的需求。通过工程效能数据平台,我们可以辅助业务团队提效降本,同时也可以促进我们的工具生态和研发方式不断迭代,这正是我们的价值。

*Q&A. *****如何度量 DevOps 的研发数据

前文内容里也给到一部分答案。从 DevOps 角度看,这个数据可能更多是集中在研发过程指标里,我们会比较关注,第一,响应能力,第二,研发过程的质量指标。第三,持续集成能力,持续集成能力可能更多关注的是 CI、CD 里的频率、平均时长等。如果我们希望在 DevOps 过程中能够看到一些结论,可能还需要通过像具体时间的分布、协作能力数据来定位问题。

关于指标,需要先想清楚,每个工具包括它所应用的领域应该有哪些非常关键的特质,它的目标是为了快还是为了好?当我们想把结论性的指标给人看的时候,我们要能找支撑它的指标数据。

在企业做大的过程中,有很多问题我们是能够感知到的,但是我们确实缺少一个量化的方式去改善它,我们需要一把尺子使团队里的人都能够感受到变化,以及这种变化到底是不是我们希望的趋势。

ICCompiler II实战:从NDM生成到APR流程的完整避坑指南 本文是一份针对ICCompiler II(ICC II)后端物理实现流程的实战避坑指南。文章详细解析了从NDM库生成、设计初始化、布局规划到时钟树综合与布线的完整APR流程,重点分享了各环节的常见陷阱、精细化配置命令与调试经验,旨在帮助工程师高效达成PPA目标,确保设计一次成功。 阅读详情

相关推荐

滴滴工程效能平台建设之路.docx-综合文档

滴滴工程效能平台建设之路.docx

滴滴技术公众号-算法文章汇总

滴滴技术公众号-算法文章汇总

YG的博客 1014

Linux可视化界面串口调试工具

自己开发的一款Linux系统下面的串口调试工具,RS232/422/485模式都可用,可设置波特率、数据位、校验位、停止位、流控等,并可自动收发数据,可以设置发送周期,16进制发送等。目前已Ubuntu16.04 32/64bit系统下面测试OK,如果使用过程中遇到问题的朋友,还请把问题反馈给我,谢谢。Windows系统下面的也开发好,不过网上Windows的串口调试工具太多了~~~大家可以进我主页查看这款软件界面的运行效果使用方法:拷贝文件到系统并解压文件,打开终端,切换到root权限,进入到该文件目录,给文件加执行权限:chmod +x VQCom,再输入./VQCom 回车即可运行程序

这几个阿里、滴滴、头条超级牛人的公众号,值得跟进学习!

学无止境,学习是长期的过程,在学习的路上,我们会遇到很多的问题,很多知识点需要拓展。推荐给大家几个优质公众号,为我们的学习提供相关帮助和服务。三人行,必有我师焉。选择优质...

涛哥聊Python 540

推荐一个我私藏了四年的官方技术

小伙伴们大家好,我是阿秀。今天给大家推荐一个我私藏了四年也看了四年的官方技术公众号,它就是滴滴技术,文末也给大家申请到了 200 元的滴滴出行券,可以直接绑定到个人微信号上的那种。1、相识源于技术文章我最开始关注到他们还是在学校的时候,有个学长在朋友圈分享了一篇他们关于节省CPU的文章:我如何用两行代码节省了30%的CPU。我点了进去看发现文章写的相当nice,我还以为是哪位大佬,一看原来是滴滴官...

博客 320

从铸剑到御剑:滴滴工程效能平台建设之路

桔妹导读:本篇文章源自滴滴研发工具负责人周凡在GNSEC 2020全球新一代软件工程线上峰会上的整理分享。与大家讲述了在工程效能的演进、滴滴工程效能数据建设的经验等话题,希望对读者有所帮...

DiDi_Tech的博客 3076

滴滴大数据在汽车金融风控场景中的应用

导读: 滴滴独有的出行场景大数据在金融领域有着非常广泛的应用前景,未来可与银行,保险,支付和理财等机构深入合作,帮助传统金融机构提升资源配置效率,降低获客和风险管理成本。出行场景大数据在交易欺诈识别、风险定价、精准营销、全生命周期风险管理、增长运营等方面都有着重要商业价值。对于大数据的应用分析能力,正在成为金融机构未来发展的核心竞争要素。本文从汽车金融车贷产品的视角切入,将场景数据与传统信贷风控理...

DiDi_Tech的博客 1万+

研发效能平台建设提升之滴滴

本篇文章源自前滴滴研发工具负责人周凡在2020GNSEC全球新一代软件工程线上峰会上的整理分享。

simayi2018的博客 1174

滴滴助力全球首个 DevOps 标准建设

出品 | 滴滴技术前言:日前,全球首个 DevOps 标准,即《研发运营一体化 (DevOps) 能力成熟度模型》标准已经发布。该标准由工信部直属单位中国信息通信研究院牵头,云计算开源产业联盟、高效运维社区和 DevOps 时代社区联合发起,滴滴等国内外互联网领先企业共同编制。—————2019年4月12日在 GOPS 全球运维大会 2019 深圳站上,工信部中国信息通信研究院云计算产业联盟(OS...

weixin_34190136的博客 813

Java实习模拟面试 | 滴滴效能平台后端一面:高并发、分布式锁与线程池深度连环问

先做个简单的自我介绍吧。“您好,我是XX大学计算机专业的大三学生,目前主要学习Java后端开发方向。在校期间做过两个后端项目,一个基于SpringBoot + MyBatis的校园论坛系统,另一个是使用Redis+RabbitMQ实现的秒杀系统。我对高并发、分布式系统比较感兴趣,也在LeetCode上刷了200+题。这次投递滴滴效能平台,是因为了解到该团队聚焦研发效能工具链建设,希望能在真实业务中提升工程能力。基础知识必须扎实:如 JUC、线程池、分布式锁细节;生产意识要提升。

吾为热爱计科,致力于知识分享的践行者,此博客是我在这条道路上留下的足迹。 593

滴滴开源走进浙江大学|共话开源实践与高校共建

Mpx是一款增强型跨端开发框架,以小程序原生语法和技术能力为基础,借鉴Vue框架的优秀语法设计,通过静态转译与运行时适配相结合,实现“一份源码,多端运行”。滴滴开源与CCF(中国计算机学会)重点孵化的HUATUO项目基于eBPF技术实现低损耗、零侵扰的内核数据采集,覆盖TCP/IP协议栈、CPU调度、内存管理等核心模块,并构建异常事件驱动诊断与全自动化追踪(AutoTracing)两大核心引擎,能够自动捕获softlockup、oom、网络延迟等关键事件,精准定位云原生场景下的偶发与突发故障。

DiDi_Tech的博客 863

我们首场技术沙龙,福建首秀,一起来面基

我们社区准备举办一场技术沙龙,在福建首秀,与阿里,滴滴大牛一起讨论云原生技术浪潮的变革,交流如何借助新技术、新工具全面提升软件工程效能。什么都不懂,别慌,全新沉浸式分享会让你开心面基。来吧...

梁桂钊的博客 157

21年的第一场Gopher Meetup,北京我们来了!

2021.01.09Gopher Meetup 登陆北京帝都的 Gopher 们请注意,久违了的 Gopher Meetup 终于重新回来了~在本期沙龙中,我们集齐了来自探探、好未来、...

Go中国 496

磨刀不误砍柴工,如何提高工程效率?

互联网时代,业务发展越来越快,而技术的迭代速度,技术团队之间快速的协作交付,越来越成为团队业务制胜的一个很关键的因素。世界领先的一些互联网公司,研发团队已经有过万人。他们又是如何协作的?Twitter 的王天老师曾分享过《百花齐放,锄其九九——Twitter的技术坎坷之路》。其中介绍了 Twitter 技术生态中的一些幕后英雄。它们和产品并没有太大的关系,主要是语言支持、编译构建等,但是这些东西是...

weixin_33696822的博客 473

解锁研发效能平台工程建设策略与实践

????点击蓝字 关注我们在2022与2023年Gartner公司预测的10大技术趋势中,平台工程(platform engineering)连续上榜。平台工程通过提供自动化基础设施操作的自助服务功能,减少底层基础支撑工具的复杂性和不确定性,减化工作流程,减少最终用户在使用过程中的认知成本,从而改善了最终用户的体验和提高生产效率。图1 平台工程概念图示(图片来源Gartner [2])平台工程是工具体系...

Agilean 的博客 1639

推荐几个头条,美团,滴滴的大佬公众号

大家好,我是依然在参加互推的船长,公众号缺少自然流量,不管大号还是小号都在互推,这次为大家推荐的号涉及到多个领域,希望有能帮到你的。船长也知道互推会带来一些不太好的体验,...

程序亦非猿——一个能帮你进大厂的男人 431

这10个公众号,超过150万人关注,你get了么?

程序员永远要留出时间学习,进行自我迭代和升级,才能不被淘汰!学习才是根本,只有不断地学习不断地吸收营养,我们职业生涯这颗小树苗才有可能成长为参天大树。这很难,因为即使是真...

架构文摘 1361

推荐几个私藏很久的技术公众号给大家

学习如逆水行舟,不进则退;只有坚持不断的学习,才能保持进步。今天给大家精心挑选的这几个优质的公众号,在行业深耕已久,相信大家一定会有所收获,感兴趣的可以关注一下。机器学习算法与自然语言处...

GitHubDaily 776

滴滴开源3周年,都发布过哪些项目?

桔妹导读:自2017年6月,滴滴发布了首个开源项目VirtualAPK开始,三年耕耘,不忘初心,滴滴已对外发布了40+个开源项目,涵盖人工智能、研发测试、前端、系统工具、大数据运维监控...

DiDi_Tech的博客 1774

关于工程效能的思考

继阿里大中台之后,现在的科技公司大多有一支致力于提升公司研发效率和沟通协作的工程效能团队,作为这样团队的一员,却看到愿景和现实激烈碰撞,不禁有如下思考。 效率的提升并不能减少工作时长 就拿前端研发来说,以 Node.js 和三大框架为基础的前端工程化,极大提高了前端研发效率,但与之相对的是,开发人员的工作时长并没有减少。由于新的概念和轮子众多,学习成本却在成倍增加,“别再更新了,学不动了”一定程度...

weixin_34319999的博客 3268
上一篇: 互联网公司五八同城研发效能团队建设总结
下一篇: 去哪儿网 (Qunar) DevOps 实践分享
laofo520
博客等级 码龄5年 79粉丝 100原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值