贝壳-交易平台的质量分模型建设

2020 年 8 月 18 日

贝壳-交易平台的质量分模型建设

「质量分」是贝壳-交易平台基于业务特点和关注的质量指标构建的质量数据指标模型。在质量数据汇总、分析的基础上,找到系统质量问题,以达到改进质量、提升人员意识的终极目标。


1. 为什么要做质量分模型?


因为研发过程中不同的角色对于质量的要求不一样:



当我们进行周期性的分析系统质量时,无法定量、直观获知质量情况,只能靠“优秀”、“一般”等概括性语言去说明质量情况。如:一周的质量情况怎样?月度、季度、半年等周期性的质量变化趋势是怎样的?线上质量怎么样?过程质量怎么样?


基于上面的问题、背景,为了避免靠感觉去感知、衡量质量好坏,因此需要借助数据,将质量的各项指标量化,这样才能更客观的反映产品的质量情况。


2. 业界质量度量体系现状是怎样的?


目前业界针对过程质量和效能的度量体系相对比较成熟,各大公司衡量的指标总结基本相差不是很大,具体可参考如下的指标:



美团研发度量体系


和业界相比,我们最大的亮点是基于业务关注的重点指标,构建业务线特有的质量模型,并采用「加权减分制」设计了相应的质量分模型,通过该数据模型可以更加直观的反映产品的质量变化情况,找到当前阶段的质量痛点。


3. 什么是质量分?


我们通常会将质量划分为线上质量和过程质量(也称为线下质量),然后抽象出可以衡量质量情况的关键指标。



抽象指标的过程是重新审视该业务线当前一段时间内重点关注的质量问题是什么,同时整合业界公认的通用指标,比如 ISO 9126 质量标准。


4. 如何确定指标?


依据于业界通用质量指标和业务线(交易平台)某段时期内重点关注的质量点,由点及面,抽象出交易平台的质量分模型。设定指标关注的重点是该指标可以真实的反应产品线上/过程质量情况,尤其对于那些影响范围较广、业务损失严重、问题重复发生的指标,需要增加权重,重点关注。而对于那些影响不是很大的指标,可以考虑减小权重。


5. 如何设定计算公式?


确定了指标之后,需要考虑具体的计算质量分的公式,既不能太复杂,也不能太简单。太复杂,大家不能理解,反而不利于团队整体达成一致;太简单,不能有效衡量质量情况。交易目前采用的是「加权减分制」。


具体规则如下:




针对线上问题的分数计算,本规则中尽量不包含处理手段类的指标,比如监控发现问题占比、慢 SQL 跟进率等指标,以保证指标尽可能准确的评估线上质量。


6. 方案实现


思路:


  • 确定各种数据来源、获取数据的方式

  • 贝壳内部数据源来源渠道比较多(keones,fast,xmen等平台)

  • 确定数据清洗计算规则、存储方案

  • 确定数据分析结果处理方案

  • 确定数据展示方案



整体方案


7. 效果如何?


  • 支持配置化:

  • a. 分钟级完成某些指标的配置

  • b. 支持个性化的配置

  • 通过质量分可以直观的展示质量情况,重点关注KPI 类的指标数据

  • 数据分析可沉淀积累,不断改善产品质量

  • 已经在线上稳定运行一年多

  • 积累200+项目复盘和改进措施




8. 如何借助数据控制风险?


举个例子:我们业务线 5-6 月份连续 2 次线上严重问题是由于代码的 bug 导致线上页面详情页不展示流程节点、页面白屏的问题,但是该类问题的发生均不是监控发现,而是由用户反馈或者内部反馈发现。针对这类问题我们进行了复盘,确定了做线上 UI 自动化巡检 topic,目前已经完成方案调研,持续补充 case 过程中。


9. 如何借助数据提升质量?


如何提升质量,需要具体问题具体分析,但通用的能力建设如下:


  • 沉淀业务/技术能力

  • 提升人员意识

  • 增强质量运营


再结合实际的例子给大家介绍下,我们是如何通过质量分模型来提升产品的质量:在建设质量保障体系初期的时候,我们通过质量分模型,发现我们的线上问题解决时效不是很高,部分线上问题产生的原因是由于线下环境无法发现,但是线上验收不及时、线上验收方式不支持等原因导致,因此后续针对这两大类的问题,我们通过运营+技术的手段分别解决:


  • 举办质量月活动:

  • 通过运营的手段来提升研发人员意识问题,及时有效跟进线上问题;

  • 虚拟城市建设:

  • 支持线上环境的验收。


10. 写在最后


给质量打分,是我们在践行质量运营过程中的一种尝试。整个质量运营系列的文章内容一共分为五部分:1)质量分,2)全流程保障体系(keones 验收+虚拟城市验收),3)免测 ,4)质量月, 5)金 Bug。本文着重介绍了质量分的具体制定和实践,其他四部分后面会陆续与大家见面。如有问题或建议,欢迎留言。


本文转载自公众号贝壳产品技术(ID:beikeTC)。


原文链接


贝壳-交易平台的质量分模型建设


2020 年 8 月 18 日 14:01947

评论

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

一次注定失败的裸面

escray

ruby 面试题 面经 大龄程序员 面试经历

打造一个全功能的浏览器

Daniel

StreamNative 宣布开源 MoP:Apache Pulsar 支持原生 MQTT 协议

Apache Pulsar

开源 云原生 mqtt Apache Pulsar 消息中间件

架构师训练营第三周学习总结

邓昀垚

极客大学架构师训练营

华为云推出全自研数据库,GaussDB(openGauss)能否撑起一片天?

华为云开发者社区

数据库 数据 gauss db

线段树(Segment Tree)

zayfen

算法 线段树 segment tree

聊聊前端 UI 组件:组件特征

欧雷

前端工程 组件化

DàYé玩转数据战略Step By Step

曲水流觞TechRill

数据中台 数字化

倒计时!Pulsar Summit Asia 2020 演讲征集

Apache Pulsar

开源 云原生 pulsar Apache Pulsar 消息中间件

看看别人是怎么面试蚂蚁金服的!社招Java面经分享

Java架构师迁哥

Java 阿里巴巴 面试 蚂蚁金服

你在开发过程中使用Git Rebase还是Git Merge?

华为云开发者社区

git 华为 管理 代码

原创 | 使用JPA实现DDD持久化-JPA vs MyBatis

编程道与术

Java hibernate 编程 mybatis jpa

浅谈滴滴需求响应式公交背后的技术

滴滴技术

滴滴技术 创新公交 路径优化

JAVA集合之ConcurrentHashMap

彭阿三

Java JAVA集合

一篇文章搞定 Nginx 反向代理与负载均衡

哈喽沃德先生

nginx 负载均衡 反向代理 服务器 正向代理与反向代理

信息公交服务在滴滴的应用实践

滴滴技术

滴滴技术 人工只能 信息公交 路径优化

原创视频 | 架构漫谈—如何创造复杂而有序的软件系统【含课件下载】

编程道与术

Java 编程 架构 软件开发 软件架构

原创 | 使用JPA实现DDD持久化-JPA,Hibernate与Spring Data JPA

编程道与术

Java hibernate Spring C Data jpa

点对点音视频应用场景及优势

anyRTC开发者

音视频 WebRTC 直播 RTC 安卓

10多家公司的Java开发面试常见问题合集

Java架构师迁哥

为什么推广ipv6以及网站ipv6改造基本步骤

MySQL从删库到跑路

Web IP 网络

架构师第一期作业(第三周)

Cheer

作业

为什么90%的“码农”做不了软件“架构师”?

Java架构师迁哥

Java 学习 架构师

第二周-学习总结-框架设计原则

莫森

极客大学架构师训练营

原创 | 使用JPA实现DDD持久化-O/R阻抗失配(2/2)

编程道与术

Java hibernate DDD JDBC jpa

聊一下《技术力量-一线技术团队成功启示录》

Man

中台 研发管理

初学源码之——Spring IOC 应用

Java架构师迁哥

2020面试阿里字节跳动90%被问到的JVM面试题附答案

Java架构师迁哥

区块链带来的技术创新和变革

CECBC区块链专委会

区块链技术 经济

原创 | 正确区分属性和字段

编程道与术

Java hibernate 编程 软件开发 jpa

数字货币视域下的金融安全实现路径

CECBC区块链专委会

区块链 数字货币

贝壳-交易平台的质量分模型建设-InfoQ