互联网企业质量管理的困惑

作为互联网时代的互联网企业,我们的研发模式和传统模式相比,最显著的不同在于发布节奏加快了,这个加快不是快了10%,20%,50%,而是加快了几倍,甚至几十倍,上百倍。面对加快了几倍几十倍甚至上百倍的发布频率,互联网企业如何进行质量保障,如何做到项目各角色间协同高效工作、如何保证发布的质量,成为了我们需要面对和解决的最大难题。

俗话说得好:实践出真知。面对环境的变化,Y事业部质量管理团队,明知山有虎,偏向虎山行。在摸爬滚打中,经过两年多的实践,与产品、研发、测试各团队经过多次的研讨,实践-改进-再实践-再改进,探索出了一条适合于互联网企业的质量管理之路,充分体现了Jder勇于创新,永不放弃的精神。在京东人面前,永远没有不可能三个字,京东就是将一个个的不可能变成了可能而创造的业界奇迹。

“从0到1”缔造Y事业部质量管理体系

在快速发布的研发环境中,一切质量管理方法最基本的要求就是简单有效,任何复杂的方法都无法真正落地。经过反复实践,我们总结出了适用于互联网企业质量管理体系,它遵循以下原则:

1) 化繁为简:将传统复杂的质量管理方案简化为最实用最有效的几个关键流程,形成我们必须遵循的三四五原则;

三四五原则

2) 适用为王:不管什么样的方法,能够在研发工作中落地才是关键,我们的体系在正式推广之前,经过各个团队试点及反馈,最终为大家所认可,更适用于各团队的工作协同;

3) 工具护航:首先在线下实践,成熟后便加入到管理平台(TIP平台)中去,通过TIP线上操作来提高效率和效果,能够用系统工具实现的便不用人工。在工具开发过程中和公司现有的工具或平台打通,充分发挥已有工具平台的作用;

关键流程系统化

4) 快速反馈,快速改进:各个关键流程在实践过程中会遇到一些特殊情况,流程的Owner快速将问题反馈到质量管理团队,质量管理团队收集和分析数据,快速进行改进,讨论通过后快速发布;

5) 分享:我们总结出来的方法及开发出来的工具平台,热烈欢迎其它团队使用,并提供无偿的培训和技术支持。用的团队越多,越能体现这套质量管理体系的价值,也能从兄弟团队中得到更多有益的反馈,从而可以使这套体系更完善和更高效。这和传统企业中各个部门相对封闭,敝帚自珍的作风也大不相同。

“从1到1+”打造一体化质量管理平台

Y事业部质量管理体系经过一年多的稳定运行后,极大地减少了跨团队沟通成本、有效地预防了线上事故的发生,提升了线上系统质量。与此同时,由于京东整体业务的不断增长,规模的不断扩充,我们的研发体系软件工程、项目管理、质量管理等各环节的支撑系统不能完全无缝衔接,各部分的数据缺乏统一管理,部分系统自动化程度不足等等问题依然困扰着大家。在这样的环境下,我们经过充分调研与讨论,提出了一体化质量管理平台的设想。在质量团队的共同努力下,在经过原型设计、系统架构、详细设计、编码&单元测试、集成测试后,一体化质量管理平台(QIP)正式上线。

一体化质量管理平台设计

项目需求全生命周期自动化管理:

一体化质量平台将涵盖Y事业部所有项目/需求(无论是否PMP立项),同时通过与PMP系统的有效衔接,实现项目/需求信息的实时同步,避免重复工作,确保项目/需求的全面性和准确性。从源头也即产品需求开始,确保需求的新增、排期、研发(自测及提测)、测试、上线及线上验证等各个环节在系统中实现紧密衔接,提升各团队间协同工作效率,同时各个环节的数据得到有效保存。

通过项目中角色在项目过程各个流程环节的线上操作(eg. 研发自测和提测、测试接受提测、测试总结、线上验证等),系统自动触发需求状态的流转,无需手动变更需求实现状态,避免了人为操作的不及时或不准确问题,最终达成需求的上线,实现需求全生命周期闭环管理。

需求状态流转

流程重要节点质量控制:研发质量管理(自测环境、提测、代码评审)

系统增加对项目流程中关键节点的质量把控,如研发提交测试前的自测环节的监控(只有研发自测通过的代码,方可进行线上提测)、代码评审的校验(提测的代码分支必须通过代码评审)、代码扫描情况跟踪,尽可能地在项目前期发现潜在问题,减少后续的返工,降低线上问题发生的风险,提高线上系统质量。

为了提升研发提测质量,我们将提测前的自测流程作为项目的必备环节。为帮助研发同事解决研发自测环境的问题,我们提供Docker+Mock的研发自测环境解决方案。Docker平台实现自测服务器申请、配置、管理、部署等功能,帮助研发同事轻松实现自测环境部署,而且Docker容器部署已集成到QIP平台中,通过QIP平台中就可以实现打包、编译、部署一键完成;同时为了解决外围依赖接口的环境不稳定问题,测试团队开发出了Mock接口仿真平台,开发人员只需做一次初始化配置,系统即可自动实现所有外围接口仿真功能,帮助开发人员完成开发及自测工作。

自动化项目质量评分与满足审计要求:

QIP平台中已实现项目质量评分,设定了多项质量指标、评分标准及权重,在项目完成后,系统提取各个阶段的客观数据来对项目进行整体质量评分,给管理层展示各个项目的实际质量情况,让大家做到心中有数,为事业部项目评优提供参考。

系统提供一系列的数据,QA人员可定期提取系统数据(如:需求变更率、研发自测通过率、代码评审率、千行代码缺陷率、测试覆盖率、项目按时上线率等等),审计质量体系与流程的运行情况,给管理层呈现客观准确的分析报告。另外公司对外需要接受SOX合规的审计,通过QIP平台实施的项目/需求将能确保符合SOX审计的要求。

线上运维问题追溯:

通过与线上运维管理系统的打通,将实现线上问题的全程追溯,从而有针对性地根据原因分析出解决方案,避免问题再次发生,达到持续改进的目的。另外,系统后续将提供Dashboard,供各级管理者实时查看项目/需求/资源等状态,并且可以根据需要定制图表模板,实现多种查询需求,让大家做到心中有数。

简而言之,QIP--自动化、可视化、可追溯、可评估、可度量的一体化质量管理平台,将作为Y事业部产品、研发、测试、项目/产品运营团队间的高效协同、保障质量的工作平台,为我们的线上系统高质量运行提供一份保障。让我们一起保持初心、砥砺前行!

关于京东Y事业部

京东Y事业部成立于2016年11月,其定位是以服务无界零售为核心,着重智慧供应链能力的打造,核心使命是用技术创新让供应链迈向卓越。Y事业部正在京东集团未来十二年战略转型的指引下,全面探索和应用大数据挖掘、人工智能、区块链、物联网等一系列技术,持续推动供应链管理创新与应用,携手合作伙伴链接世界,智创未来。

京东Y事业部打造一体化质量管理平台的更多相关文章

  1. Y事业部打造一体化质量管理平台

    互联网企业质量管理的困惑 作为互联网时代的互联网企业,我们的研发模式和传统模式相比,最显著的不同在于发布节奏加快了,这个加快不是快了10%,20%,50%,而是加快了几倍,甚至几十倍,上百倍.面对加快 ...

  2. 利用R语言打造量化分析平台

    利用R语言打造量化分析平台 具体利用quantmod包实现对股票的量化分析 1.#1.API读取在线行情2.#加载quantmod包3.if(!require(quantmod)){4. instal ...

  3. Django+xadmin打造在线教育平台(一)

    目录 在线教育平台(一)      在线教育平台(二) 在线教育平台(三)      在线教育平台(四) 在线教育平台(五)      在线教育平台(六) 在线教育平台(七)      在线教育平台( ...

  4. 手把手教你用SonarQube+Jenkins搭建--前端项目--代码质量管理平台 (Window系统)

    前言 网上教程大多介绍的是Linux系统下SonarQube+Jenkins如何使用,这是因为这两款软件一般都是部署在服务器上,而大多数服务器,采用的都是Linux系统.大多数服务器用Linux的原因 ...

  5. 微信事业群WXG成立 致力于打造微信大平台

    今天,微信之父张小龙带领微信团队成立微信事业群(WeiXin Group,简称WXG),致力于打造微信大平台,由他们负责微信基础平台.微信开放平台.微信支付拓展.O2O等微信延伸业务的发展,并包括邮箱 ...

  6. 持续集成篇_05_SonarQube代码质量管理平台的介绍与安装

    1.SonarQube的介绍 SonarQube是一个管理代码质量的开放平台. 可以从七个维度检测代码质量(为什么要用SonarQube): (1)复杂度分布(complexity):代码复杂度过高将 ...

  7. SonarQube代码质量管理平台工具

    1.Sonar轮廓介绍 Sonar (SonarQube)是一个开源平台,用于管理源代码的质量.Sonar 不只是一个质量数据报告工具,更是代码质量管理平台.支持的语言包括:Java.PHP.C#.C ...

  8. Sonar——代码质量管理平台

    Sonar——代码质量管理平台 一.基本认识 Sonar (SonarQube)是一个开源平台,用于管理源代码的质量. Sonar 不只是一个质量数据报告工具,更是代码质量管理平台.通过插件机制,So ...

  9. SonarQube代码质量管理平台比较好的搭建和使用资料

    http://www.voidcn.com/blog/lidujun1028/article/p-3831235.html   Sonar (SonarQube)是一个开源平台,用于管理源代码的质量. ...

随机推荐

  1. ifconfig筛选出IP

    ifconfig     |grep inet    |awk -F: 'NR==1{print}'     |awk  '{print $2}'

  2. 线段树、最短路径、最小生成树、并查集、二分图匹配、最近公共祖先--C++模板

    线段树(区间修改,区间和): #include <cstdio> #include <iostream> #include <cstring> using name ...

  3. vue-cli3解决跨域问题

    在 vue.config.js里面配置 devServer: { proxy: { '/': { // search为转发路径 target: 'http://www.baidu.com', // 目 ...

  4. Codeforces1304D Shortest and Longest LIS

    前置扯淡 %%@\(wucstido\),思路是在是巧妙---link Description 给一个长度为\(n\)由 \(<\) 和 \(>\)组成的字符串,表示序列中相邻位置的数的大 ...

  5. [转]Apache漏洞利用与安全加固实例分析

    1.2 Apache文件解析特性 Apache对于文件名的解析是从后往前解析的,直到遇见一个它认识的文件类型为止.因此,如果web目录下存在以类似webshell.php.test这样格式命名的文件, ...

  6. sm4 加解密示例

    int do_crypt(char *outfile) { unsigned ]; int outlen, tmplen; /* Bogus key and IV: we'd normally set ...

  7. day08-内置函数和匿名函数

    1. 1)网络编程只能是二进制.2)照片和视频也是以二进制储存. 3)html网页爬取到的也是二进制编码. 2. 非常重要的4个内置函数:zip ,filter,map,sorted 1)zip: 例 ...

  8. 用logstash 作数据的聚合统计

    用logstash 作数据的聚合统计 以spark-streaming 处理消费数据,统计日志经spark sql存储在mysql中 日志写入方式为append val wordsDataFrame ...

  9. Traffic Network in Numazu

    Traffic Network in Numazu 题目描述 Chika is elected mayor of Numazu. She needs to manage the traffic in ...

  10. cesium初探之加载三维模型

    项目需要用到二三维地图切换,本来准备研究ArcGIS js for Web 3d,但考虑到版权的问题,决定试着用cesium来做,于是花了2天时间抱着试试看的心态把cesium从环境配置到加载三维模型 ...