写点什么

李倩:拖累开发团队效率的困局与破解之道

  • 2019-04-03
  • 本文字数:2470 字

    阅读完需:约 8 分钟

李倩:拖累开发团队效率的困局与破解之道

互联网时代,业务发展越来越快,而技术的迭代速度,技术团队之间快速的协作交付,越来越成为团队业务制胜的一个很关键的因素,工程效率应运而生。


或许工程效率对于大家来说,早已不是一个全新的概念。许多公司也专门成立的工程效率部门,那么我们该如何理解工程效率呢?工程效率能给研发带来什么帮助呢?听听 KodeRover 创始人 & TGO 鲲鹏会会员李倩的分享,她将从多角度为大家带来工程效率方面的经验及建议,希望能帮助企业更好地利用工程效率,提升研发效能。

研发交付都是它的事儿

对于大部分工程师而言,没办法把大量时间投入到写代码上。除了写代码,他们还要负责找 bug、上线等工作,尤其是事务性工作(比如调试环境,和各部门沟通等杂项)。其实这是一个普遍现象,尤其是在一些达到一定体量的公司里,在这种情况下很容易出现效率问题。



详解工程效率


工程效率,主要关注业务交付链条中研发交付环节的品控和效率,最核心的是缩短优质代码到客户 (用户) 交付间的距离。用一句话说就是:整个研发交付的事都要管。


工程效率到底要做什么?


首先,要关注一些重要不紧急的事情;其次,就是量化工程开发团队对业务的交付能力,并且识别薄弱环节。最后,向工程建设卓越的企业学习,比如 Google、Facebook 以及 Netflix。


我的理念是,工程效率不只是改善一个人力的投入,更重要的是为企业建立软件工程信息高速公路,让更多工程师可以专注于研发。

工程效率面临怎么样的形势?


举个例子,To C 的企业像 B 站这样成长非常快的公司,人员增长逐年成倍,加人以后业务复杂度提升了,产能并不一定可以成倍提升。要更稳定的业务增长务必要把工程这一层做厚,比如多套测试环境,提升自动化程度,CI / CD 建设等。


另外一个比较大趋势就是业务驱动的 IT。而对于软件工程而言,如何以业务维度来量化各个职能的产出,也就是做企业内部的数字化转型?举个例子,QA 的产能怎么样评价?两条业务线到底哪个产能更高?对于工程师而言,他们的技术实力代表的是他们的真实实力,而不是企业卖了多少钱代表他的实力。所以,工程师这块需要告诉他们更多的反馈,比如覆盖率指标,返工率情况等等,数据驱动我们不断的提升和成长。


再者就是协作难度大,假设公司有 500+ 研发人员同时写代码,分支众多,合并频度以及状态的跟踪等等都是挑战。那么我们怎么样快速迭代?怎么做才能又能保证质量保证效率?包括自动化 case 或者多场景的测试,都是要面对的一些实际场景。

面对挑战,我们该如何做?

面对这些挑战,李倩主要提出两点,一个是组织发展,一个是文化建设。

组织发展


组织发展这块中,三大块组成了我们整个工程效率的体系,这三大块对应我们的三个子 team。



质量管理是主要是可以在测试开发团队分很多线,效能运营是效能运营中心,是一个虚拟组织,但是包含多种服务。工程赋能是平台工具组,来做整个的研发支撑。质量管理这块我们 QA 的同学基本上是测试开发,还有技术专家这样一些职能。大部分情况下,他们做全流程质量的把控,核心工作在熟悉业务,写自动化,构建不同的场景。


质量运营主要是关注 PMO 以及流程的产品化,还有我们整个内部系统的运维支持,还会做竞品分析等。以前做直播 SDK 我们会把竞品的几家 SDK 的自动化实现了以后去观察他们的一些性能指标。比如 ,CPU、Memory 以及丢帧或者一些实际的推流、播放的效果,会去做一些监控,这样就可以给内部提供更多的技术改进方向,或者是看得到其他人的技术成长。


然后现在他们的 scope 扩大了,就会去做一些质量分析。比如某团队,我们通过质效数据看到它是否有一些特性;比如通过事故统一分析下来,发现某个组件的性能非常容易出问题,技术专家会参与出专项改进方案,最终落地以及提供环境支撑等。


另外就是研发最佳实践的传播,比如单测或者是集成测试等做得比较好的,还有 codereview 做得比较好,都有这个组织来进行发起。


然后是工程师,大概都包含哪些工程师?质量管理制度会分几条线,有技术线和管理线。比如,业务质量负责人类似于质量 owner,测试开发有两个方向,一个是技术专家方面,一个业务专家方向。质效运营中心包含三部分,一个是针对测试服务的 service,一个是 PMO 负责流程设计和产品化,另外是 sre 内部平台的运维支持。

文化建设

第一、工匠精神

工程师对于质量应该有极致地追求,eat your own dog food。我们的理念是:代码是工程师写出来的,bug 也是他写出来的。举个例子,如果一段代码写的不好,给他多少个 QA 都解决不了问题,所以根上仍然是工程本身的质量怎么样。所以我们不会把质量往下游放,而是不断地向上游去思考,以及不会对 QA 追责,而是关注这个问题到底谁去解决成本更低。比如,一个问题如果是在 codereview 阶段就应该发现,那么就不应该到 QA 阶段。

第二、质量意识

我们这块会做大量的质量服务化工作,比如单测或者静态扫描等,我们会做成服务化。很多时候开发同学不是不愿意把代码写得好,而是自己不知道写出来到底能不能 work,我们就需要给他提供更多地支撑。比如,他不 work 的时候反馈给他原因。比如,一旦单测不过,或者说单测覆盖达不到要求,我们会让他看到,他会针对这个去做修改,而且是基于 Pr 级别的,秉承着“持续集成,小步快跑,快速反馈”的理念。

第三、工程文化

凡是超过两次都要考虑自动化或者服务化实现,Everything is Code。我们 CEO 许式伟先生曾经在群里说了一句话叫“系统性地解决一下”,这句话挺有意思,也是我们日常的工程文化体现。




TGO鲲鹏会,是极客邦科技旗下高端技术人聚集和交流的组织,旨在组建全球最具影响力的科技领导者社交网络,线上线下相结合,为会员提供专享服务。目前,TGO 鲲鹏会已在北京、上海、杭州、广州、深圳、成都、硅谷、台湾、南京、厦门、武汉、苏州十二个城市设立分会。现在全球拥有在册会员 800+ 名,60% 为 CTO、技术 VP、技术合伙人。


会员覆盖了 BATJ 等互联网巨头公司技术领导者,同时,阿里巴巴王坚博士、同程艺龙技术委员会主任张海龙、苏宁易购 IT 总部执行副总裁乔新亮已经受邀,成为 TGO 鲲鹏会荣誉导师。


如果你想和这些优秀的科技领导者们一起前行,欢迎参加「GTLC 全球技术领导力峰会 」


2019-04-03 14:234881

评论

发布
暂无评论
发现更多内容

Bootstrap 模态框Modal【前端Bootstrap框架】

恒山其若陋兮

7月月更

C# 之 $ – 字符串内插

陈言必行

7月月更

元宇宙改变人类工作模式的四种方式

CECBC

什么是数字货币、数字金融 和区块链?

CECBC

新型LaaS协议Elephant Swap给ePLATO提供可持续溢价空间

BlockChain先知

桌面软件开发框架大赏

声网

软件开发

elasticsearch实战三部曲之二:文档操作

程序员欣宸

Java Elastic Search 7月月更

新一代开源免费的终端工具,太酷了

程序知音

区块链的诞生是为了解决——“去中心化的协同”这个问题

CECBC

设计消息队列存储消息的MySQL表格

joak

Discourse 自定义头部链接(Custom Header Links)

HoneyMoose

北京突然宣布,元宇宙重大消息

CECBC

备战金九银十!2022面试必刷大厂架构面试真题汇总+阿里七面面经+架构师简历模板分享

Java永远的神

Java 程序员 面试 程序人生 简历模板

新型LaaS协议Elephant Swap给ePLATO提供可持续溢价空间

股市老人

Microsoft SQL服务器被黑客入侵 带宽被窃取

郑州埃文科技

microsoft 数据安全 代理IP

EA中的业务对象和业务实体你分得清吗?

涛哥 数字产品和业务架构

企业架构 TOGAF Archimate

你必须知道的一些JVM技术点

Java学术趴

7月月更

横向对比5种常用的注册中心,无论是用于面试还是技术选型,都非常有帮助

程序员小毕

Java 程序员 面试 微服务 后端

SpringBoot实现异步任务Async及异步任务实现发送邮件

宁在春

springboot 异步 7月月更 邮件发送

Prometheus 启动时被禁止的功能特性

耳东@Erdong

Prometheus Feature 7月月更

关于JVM的内存模型

Java学术趴

7月月更

区块链,得这样练

CECBC

重写并自定义依赖的原生的Bean方法

了不起的程序猿

java程序员 Java 开发 SpringCould

推荐 7 个学习 Web3 的开源资源

devpoint

blockchain Solidity web3 7月月更

资源集合

贾献华

7月月更

鸿湖万联扬帆富设备开发板正式合入OpenHarmony主干

科技汇

基于MySQL数据库,Redis缓存,MQ消息中间件,ES搜索引擎的高可用方案解析

Java永远的神

Java 数据库 redis ES 消息中间件

历时两月,终拿字节跳动offer,算法面试题分享「带答案」

程序知音

Java 字节跳动 算法 程序员面试 八股文

面试官:Redis中的布隆过滤器与布谷鸟过滤器,你了解多少?

Java全栈架构师

Java redis 程序员 面试 后端

分布式限流 redission RRateLimiter 的使用及原理

王小凡

Java redis 分布式 SpringCloud 框架

李倩:拖累开发团队效率的困局与破解之道_技术管理_李倩_InfoQ精选文章