buguge - Keep it simple,stupid

知识就是力量,但更重要的,是运用知识的能力why buguge?

导航

分享一种系统事故&问题处理反馈方式(COE)

标签: COE, 复盘

【0x01 前记】

COE(Correction Of Error)是我们在JD研发部时使用的一种事故&问题处理反馈方式。就是我们常说的“复盘”。复盘,围棋术语,也称“复局”,指对局结束后,双方旗手把刚才的对局再复演一遍,这样可以有效地加深对这盘对弈的印象,也可以找出双方攻守的漏洞,是提高自己水平的好方法。联想集团的管理中也引进了复盘这种方法,并作为联想的三大方法论之一。当一个人精通复盘之后,他对于自己的工作就会有深刻的认识和体悟,具有一种惊人的直觉。就可以从纷繁复杂的现象中一眼抓住关键所在,找出解决问题的方法和路径。

 

【0x02 案例】

如下为2014/11月份的邮件。 

丁总,如下为摇钱树标的交易订单号重复事故的发生及处理过程。COE(Correction Of Error)是我们在JD研发部时使用的一种事故&问题处理反馈方式。 

事故描述

11月6日下午业务部门在进行回款操作时,反映存在两个用户购买的标的,但是单号相同 

事故症状

徐夫明查看通过数据库统计订单,发现在有34笔这样的交易,只有17个单号,即每2笔交易共用1个单号。 

产生的影响

连连支付在支付成功后会回调我们系统,然后我们的系统会根据订单号更新订单为已支付。因此,当某2笔交易共用一个单号时,当其中一笔完成支付,会同时更新这2笔交易为已支付。 

处理过程描述

-11月6日10:00 业务部门反映存在两个用户购买的标的,但是单号相同

-11月6日11:00 徐夫明查看通过数据库统计订单,发现在10月17日、18日、21日、22日的交易中,存在34笔这样的订单,只有17个单号,即每2笔交易共用1个单号。单笔交易均为100元。

-11月6日13:00 徐夫明发现问题,订单表订单号不是主键,同时,当时的订单号生成规则是以精确到秒时间格式命名,导致同一秒发生的交易的订单号重复。(此生成规则在10月22日已经变更为日期+5位随机数的方式)

-11月6日17:00 业务部门对用户承诺,会对这34笔交易逐一回款。

-11月6日20:00 张国战更正订单表表结构,撤销自增的标识列主键,将订单号设为主键。

-11月7日10:00 张国战、徐夫明更改影响到的程序,包括PC端和无线端的交易、后台订单管理等模块,并做测试。

-11月10日19:00 准备上线。 

后续工作

任务名称

任务概述

负责人

完成时间

完成情况

数据库梳理

对现有数据库设计进行系统梳理,对于不合理的设计,给予改正。

张国战

11月17日

在进行

加强代码的Review工作

对于提交的代码进行严格的代码review,交易相关资金相关作为第一重点,确保提交代码的质量以保证生产

张国战、徐夫明、王栋

 

以后会陆续执行

 

【0x03 后记】

COE属于软件工程领域中,质量管理流程中的错误管理。亚马逊、京东等技术公司,都把COE作为质量管理的重要一环。

COE是一种通过记录和处理问题来提升软件工程质量的流程。所谓记录问题就是通过标准化的文档来记录造成问题的根本原因,这一部分也叫根本原因分析;所谓处理问题,就是通过标准化的流程来逐一消除造成问题的根本原因,顺藤摸瓜,釜底抽薪,从根本上解决问题。 

 

posted on 2017-06-16 17:24  buguge  阅读(3967)  评论(1编辑  收藏  举报