编辑 | Rainie Liu
互联网时代,业务发展越来越快,而技术的迭代速度,技术团队之间快速的协作交付,越来越成为团队业务制胜的一个很关键的因素,工程效率应运而生。
或许工程效率对于大家来说,早已不是一个全新的概念。许多公司也专门成立的工程效率部门,那么我们该如何理解工程效率呢?工程效率能给研发带来什么帮助呢?听听 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 许式伟先生曾经在群里说了一句话叫“系统性地解决一下”,这句话挺有意思也是我们日常的工程文化体现。
那还不赶紧来 GTLC 全球技术领导峰会广州站现场!
3 月 30 日,GTLC 全球技术领导力峰会广州站,TGO 鲲鹏会邀请了 KodeRover 创始人 & TGO 鲲鹏会会员李倩亲临现场,为大家分享「我有一技,生死与之——细说工程效率提升」。除此之外,TGO 鲲鹏会还迎来哪些大咖嘉宾呢?
分享一:程序员到 CTO 再到 CEO 的“打怪升级”之路
刘建国 经传集团 / CTO,伊智软件 CEO
分享二:新零售中台的实践
李元佳 云徙科技 / 联合创始人 &CTO
分享三:平台化和平台化和模块化
何世友 爱范儿 / CTO
分享四:编程猫的在少儿编程领域的创业探索
孙悦 编程猫 / 联合创始人
分享五:我有一技,生死与之——细说工程效率提升
李倩 KodeRover 创始人
分享六:身在华为 15 年,我的产品研发经验之谈
肖苡 华为公司 / 华为云解决方案部 部长
是不是心动了呢?现在 TGO 鲲鹏会给大家送福利啦!
福利二:免费票 10 张
如何获得免费票?(划重点)评论“所在地点”+“公司”+“我可以去现场参加”,免费得票,例如:
广州,爱范儿,我可以去现场参加
如果申请的人很多,取第 3/6/9/12... 等 10 楼,TGO 鲲鹏会小编会联系大家,收集信息后,通过邮件和手机短信把电子票给到大家。
免费票 10 张,能参加的回复,看热闹的帮转一下,活动举办不容易,申请原则只有一点,能去现场,票不要浪费。
99 元,还在等什么?
新晋技术管理者
几位技术老兵有份攻略要送给你