如何高效的进行数据捉虫?
背景:
在日常工作中,经常会接到用户反馈的问题,形形色色,各不相同,接到客户反馈的第一时,往往不知道如何查起。当这些问题都解决后,发现问题排查定位有一些共性的东西可以总结出来。
一、问题接入
归属分析:一个系统,产品涉及到相关方一般较多(前端,服务端,数据,上游合作方),当接到用户反馈的问题时,需要做一个初步的判断是否属于己方的问题。
二、 问题的描述
关键词:问题, 问题的终点(问题暴露出来的点),问题的起点(产生问题的原因)
- 背景
- 异常现象:(希望的正常样子,目前的异常现状)
- 矛盾点(希望的样子,目前的现状,这两者的差异)
- 相关数据,截图,资料等。
1对N:一个问题可能有多个异常现象;一个异常现象有多个矛盾点;
三、问题的定位和分析
排查问题方法简称:(Question-action->result->answer/question)
数据问题排查需要做什么前期储备?
工具1-业务的数据架构大图:《如何画好一张架构图》https://ata.alibaba-inc.com/articles/173778
工具2-处理脚本:自己负责业务范围内的一些SQL脚本。
1. 问题复现(truefalse):进行问题复现,确定是否真的属于问题;
如果属于问题 -> 则先搞清楚目前的异常现象,对应的正常现象是什么样的。
如果不属于问题 -> 则向用户解释原因。
2. 追查问题的原因
- 缩小排查范围:
- 挑出1条记录来追查,最小化原则排查; 一方面可以减少需要查看的数据量,另一方面可以避免多个变量相互干扰。尽快的的找出问题。
- 使用排除法:从出现问题的报出点出发(终点),逐步的缩小出现问题的范围。
- 确立找出矛盾点:不符合预期的地方,提出一个疑问why?
- 在执行每一个排查动作前,先建立预期,得到action的执行结果后,再验证预期。
如果符合预期,则定位到问题的原因(起点);
如果不符合预期,则发现新的矛盾点。
3.扩大查询范围:
如果排查后,问题原因不在负责的范围内边界,则向边界外的合作方反馈,由对方查找,并提供协助。
执行示例 例子:https://yuque.antfin-inc.com/a-studio-dw/dfa9re/taob52#ZlQ6J
四、问题的解决
问题定位到原因之后,问题解解决了一半;剩下问题的解决方案了,不是分享的重点。
五、其他
排查问题可以锻炼我们如下几种能:
发问能力:提出疑问 -> 做出行动(发问本质上是一种思考力)
软能力: 细心, 问题感知的敏感度。
技术能力:技术应用能力的系统性