架构管理

规模 300+ 的研发团队,怎样保持工程高质高效?

2018-05-07  本文已影响76人  七牛云

七牛云从最初发展到现在已经七年了,目前有 300 多名研发同学、六大业务线:云存储、CDN、直播云、容器云、大数据、以及人工智能实验室。而在七牛云优秀的产品研发团队身边,还存在着一个负责质量管理、工程赋能、以及过程改进的重要部门——七牛云工程效率部。


本期牛人说,由七牛云工程效率部负责人李倩和大家一起探讨工程效率的问题。分享她一路以来的心路历程,以及整个团队从 0 到 1 的演进过程。

01工程效率部发展历程

我认为组织的变革应该基于对业务和发展更有利的角度进行,并不是非要有测试组、质量保障部、工程部等等。更重要的是在公司现有条件下,你能提供什么能力,以及这样的能力是否能让业务更好地发展。

同时,在创业公司最大的感受就是拥抱变化。在这个过程中,你会发现很多事情并没有为你准备好,你要做的就是去不断适应,不断地寻找最大价值,提升自我。下面我为大家简单介绍一下工程效率部的发展历程:

02工程效率部的团队架构

作为一家做基础服务云计算的公司,我们要帮助客户更快、更好的提供技术能力。我们的内部愿景是:缩短优质代码到生产上线 / 客户间的距离。这也是工程上非常重要的一段距离。

我们的体系主要分三大块:质量管理、工程赋能、以及过程改进。虽然这里有虚线、实线组织,但整体来说是有机的整体。我们不但要做质量,更重要的是在有效率的情况下,如何把质量做到最好。

总结成一句话就是:工程效率主要是关注交付链条中研发交付环节的品控,以及效率的整体的交付能力。

03质量意识的传承与升级

那么如何做到质量意识足、代码敢交付、服务敢升级,主要有三点:

  1. 工程师对质量有极致的追求。代码和 Bug 都是人写出来的,所以我们会要求工程师对自己的代码负责 —— Eat your own dog food 。
  2. 内建质量的建立。内建质量决定外建质量,在交付之前的所有过程要尽量提前,并提升内部质量。比如:单测、静态扫描分析、集成测试等等,每一步失败就要去修复。每走一步都要提供验证机制,让代码有办法校验,对整体的质量负责;
  3. DevOps 工程文化引入:做一件事情如果超过两遍的,我们就需要去思考这样做是否真的更有效率。所以我总结了一句话:Everything is Code。

04技术演进

这方面我主要想跟大家讲一下质量小组的基本的技术实践路径,这是每个 QA 同学都要去做的,以及每个开发同学都要理解的。


首先,我想解释一下为什么会有上图这种看似 step by step 的效果。我们的产品很多是从 0 到 1、再到 10,所以一开始我们需要介入很多工作,而不是自始至终做同一件事。每个技术人都要不断进化自己,把自己的工作重心从 A 转到 B,再到 C。

05平台演进

平台演进比较重要,我们需要考虑是否有可能把更多的东西搬上服务。同时,平台化是服务化之后的阶段 —— 如何把服务融入到整个流程中,并且被完整的管理,提供一定的工程能力。我们的目标就是量化产品的质量和效率,提供质效分析能力,识别薄弱环节。

上图是以服务级别或模块级别列出来的主要功能:包括单测覆盖数据、静态扫描和代码检查、集成测试覆盖、缺陷和事故分析、发布跟踪、服务探测,竞品性能 benchmark 检测和工具箱。

这是我们质效平台的后台,这是其中的几个指标,里面有冠、亚军之分,是一种激励和评比。我认为,没有对比就没有伤害,没有对比也就没有进步。我们会把一些关键指标量化,也会相应推出奖励措施。但并不是奖励冠军,我们会按照各团队的成长速度进行奖励。

工程效率平台狭义上是 Devops 或 CI/CD 平台,广义上是软件工程的信息化平台。

下面我和大家分享一下七牛在实践上的结果。指向会从上图的两方面考虑:质量和效率。

质量方面:核心服务单测覆盖包括上传、下载、删除、直播推流播放等,这些核心服务覆盖率在 60% 以上、合规 80% 左右、pipeline 通过率 80% 以上、集成测试覆盖率 35%;

效率方面:pipeline 构建 2 - 10 分钟、缺陷解决率 82%+、发布频度每周 40+、核心服务 MTTR 在 2 小时以内。

效率方面:pipeline 构建2 - 10分钟、缺陷解决率82%+、发布频度每周40+、核心服务MTTR在2小时以内。

最后,说一点自己的感悟:做正确的事情,不要给自己设限。尤其在创业公司,你会发现有很多事要做,也许你会认为有些事该做,有些不该做,但我认为没有应该与不应该,只要这件事是正确的,就一定要推动 get it down

关注公众号「七牛云」 了解更多信息哦~

上一篇 下一篇

猜你喜欢

热点阅读