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

作为互联网时代的互联网企业,我们的研发模式和传统模式相比,最显著的不同在于发布节奏加快了,这个加快不是快了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. Linux笔记(二)

    Linux笔记(二) 一.软件包管理 1.rpm命令使用:Linux安装软件包的三种方法 rpm工具类似于Windows的exe文件,可以直接进行安装,而且安装路径和文件名一般都是固定好的. 在Cen ...

  2. Ubuntu下查看硬盘分区UUID的方法&所有Linux目录樹

    在Ubuntu中UUID的两种获取方法,至于UUID是什么,你可以大概理解为分区的标识符,像条形码那样. 在终端中输入下面的命令就可心查看到分区UUID了.命令1.sudo blkid 命令2.ls ...

  3. apt GPG error

    W: GPG error: http://extras.ubuntu.com trusty Release: The following signatures couldn't be verified ...

  4. 四十二、LAMP与LNMP web架构深度优化实战-第一部

    1.nginx.conf配置文件基本参数优化 1.1 隐藏nginx header内版本号信息 一些特定的系统及服务漏洞一般都和特定的软件版本号有关,我们应尽量隐藏服务器的敏感信息(软件名称及版本等信 ...

  5. Kaggle——NFL Big Data Bowl

    neural networks + feature engineering for the win 导入需要的库 import numpy as np import pandas as pd impo ...

  6. RxJava的简单使用

    0x00 介绍 先简单介绍一下这个库,Rx的一系列实现都是为了解决同一个问题,就是让异步编程变的更加简单.它的主要思想是使用观察者模式,分离了数据源和数据的使用者,同时它拓展了观察者模式,将数据源中的 ...

  7. JdbcRDD连接MySQL

    (1)添加依赖 <dependencies> <dependency> <groupId>org.apache.spark</groupId> < ...

  8. 吴裕雄--天生自然python学习笔记:python 建立 Firebase 数据库连接

    Python 程序通过 python-firebase 包可以存取 Firebase 数据库. 使用 python-firebase 包 首先必须安装 python-firebase 包,安装方法如下 ...

  9. python之urllib模块和requests模块

    一.urllib模块 python标准库自带的发送网络请求的模块. # 用python怎么打开浏览器,发送接口请求 import urllib from urllib.request import u ...

  10. Excel-DNA项目只用1个文件实现Ribbon CustomUI和CustomTaskpane定制【C#版】

    Excel-DNA项目中的自定义功能区和自定义任务窗格需要用到各种命名空间.添加所需文件,才能实现.后来我发现可以把所有代码都写在Class1.cs这个默认文件中. 大家可以在Visual Studi ...