【笔记】两个根因分析方法:5WHY&10WHY
什么是问题根因分析
根本原因分析(root cause analysis):通过调查和分析问题哪里出错、为什么出错,寻求防止差错事故再次发生的必要措施,从而提高服务安全和质量。
根因分析目标
- 问题(发生了什么)
- 原因(为什么发生)
- 措施(什么方法能够阻止问题再次发生)
WHY-WHY分析法(5WHY,5W)
5W分析:是一个诊断性技术,用于识别和说明因果关系链,它的根源会恰当地定义问题。不断提问为什么前一个事件会发生,直到回答“没有好的理由”或者直到一个新的故障模式被发现才停止提问。解释根本原因以防止问题重演。具体步骤如下:
一、把握现状
步骤1:识别问题
- 我知道什么?(大、模糊或复杂问题 ——> 详细事实)
步骤2:澄清问题
- 实际发生什么?
- 应该发生什么?
步骤3:分解问题
- 还知道什么?
- 是否存在其他子问题?
步骤4:查找原因要点(PoC)
- 需要去哪里?
- 需要看什么?
- 谁可能掌握有关问题的信息?
步骤5:把握问题的倾向
- 谁?
- 哪个?
- 什么时间?
- 多次频次?
- 多大量?
二、原因调查
步骤6:识别并确认异常现象的直接原因
- 问题为什么发生时?
- 是否能看见问题直接原因?
- 如果不能,怀疑什么是潜在原因?
- 怎么核实最可能的潜在原因?
- 怎么确认直接原因?
步骤7:使用5WHY调查方法来建立一个通向根本原因的原因/效果关系链
- 处理直接原因能防止再发生吗?
- 如果不能,是否可以发现下一级原因?
- 如果不能,我怀疑什么是下一级原因?
- 怎么才能核实和确认下一级有原因呢?
- 处理这一级原因会防止再发生吗?
如果不行,继续问“为什么”直到找到根本原因。
在必须处理以防止再发生的原因处停止,问:
- 我已经找到问题的根本原因了吗?
- 我能通过处理这个原因来防止再发生吗?
- 这个原因能通过以事实为依据的原因/效果关系链与问题联系起来吗?
- 这个链通过了“因此”检验了吗?
- 如果我再问“为什么”会进入另一个问题吗?
还需要使用5WHY回来这些问题:
- 为什么我们有了这个问题?
- 为什么问题会到达顾客/用户处?(为什么没有发现问题?)
- 为什么我们的系统允许问题发生?
三、问题纠正
步骤8:采取明确的措施来处理问题
- 使用临时措施去处理异常现象直到根本原因能够被处理。
- 实施纠正措施来处理根本原因以防止再发生。
- 跟踪并核实结果:解决方案是否有效?如何确认?
四、通过“差错防止”过程进行预防
- 采取明确措施确保问题不会再发生,典型的措施是“差错防止”过程。
- 铭记吸取到的教训。
10why问题分析
- 1w:这个问题是什么?有什么影响?
- 2w:为什么会出现这个问题?什么场景会出现这个问题?
- 3w:这个问题在哪个阶段发现?——是否能更早?
- 4w:缺陷是在哪个阶段引入?
- 5w:为什么会在这个阶段引入问题?
- 6w:(how)如何避免引入这个问题?
- 7w:应该在哪个阶段发现问题?
- 8w:为什么没有在这个阶段发现问题?
- 9w:(how)如何才能在这个阶段发现问题?
- 10w:(how)如何基于风险测试过程,提前预估到这样的产品风险?
改进/优化措施思路
- 问题如何规避?
- 事情重来,过程哪些可以优化?
- 换一个人,是否能避免?
- 如果不能规避,哪个阶段最容易发现?如何保障这个阶段及时发现问题?
- 发布前——是否有工具/机制及时发现问题(如代码扫描)?发布性用例?
- 灰度——监控、反馈机制?
- 线上——监控、数据、反馈机制、反馈通道
- 问题处理过程是否可优化?
- 有效——解决过程决策是否正确?决策过程具体怎样?
- 效率——处理速度?哪里可以提效?
- 换位思考,如果是我会怎么做
- 结果负责:如何保障结果/产出
- 吸取教训:经验沉淀
参考:http://wiki.mbalib.com/wiki/WHY-WHY%E5%9B%BE
【笔记】两个根因分析方法:5WHY&10WHY的更多相关文章
- memcached学习笔记——存储命令源码分析上篇
原创文章,转载请标明,谢谢. 上一篇分析过memcached的连接模型,了解memcached是如何高效处理客户端连接,这一篇分析memcached源码中的process_update_command ...
- python笔记之常用模块用法分析
python笔记之常用模块用法分析 内置模块(不用import就可以直接使用) 常用内置函数 help(obj) 在线帮助, obj可是任何类型 callable(obj) 查看一个obj是不是可以像 ...
- Java内存溢出分析方法(Eclipse Memory Analyzer 使用简单入门)
转载至:http://outofmemory.cn/java/jvm/OutOfMemoryError-analysis 工具 安装Memory Analyse Tools(MAT) 工具, 可以直接 ...
- tensorflow笔记:多层LSTM代码分析
tensorflow笔记:多层LSTM代码分析 标签(空格分隔): tensorflow笔记 tensorflow笔记系列: (一) tensorflow笔记:流程,概念和简单代码注释 (二) ten ...
- 面向对象分析方法(I)
找出最关键的一些业务场景:一般通过动词来寻找,比如招聘系统中,一个应聘人投递一个职位就是一次应聘,应聘就是一个业务场景:一个学生参加某门课的考试,那么考试就是一个业务场景:一个学生去图书馆借书,那么借 ...
- Linux内核源码分析方法
一.内核源码之我见 Linux内核代码的庞大令不少人“望而生畏”,也正因为如此,使得人们对Linux的了解仅处于泛泛的层次.如果想透析Linux,深入操作系统的本质,阅读内核源码是最有效的途径.我们都 ...
- memcached学习笔记——存储命令源码分析下篇
上一篇回顾:<memcached学习笔记——存储命令源码分析上篇>通过分析memcached的存储命令源码的过程,了解了memcached如何解析文本命令和mencached的内存管理机制 ...
- 【JVM】Java中的JavaCore/HeapDump文件及其分析方法
产生时间 Java程序运行时,有时会产生JavaCore及HeapDump文件,它一般发生于Java程序遇到致命问题的情况下. 有时致命问题发生后,Java应用不会死掉,还能继续运行: 但有时致命问题 ...
- 《构建之法》教学笔记——Python中的效能分析与几个问题
<构建之法:现代软件工程>中第2章对效能分析进行了介绍,基于的工具是VSTS.由于我教授的学生中只有部分同学选修了C#,若采用书中例子讲解,学生可能理解起来比较困难.不过所有这些学生都学习 ...
随机推荐
- [SQL]LeetCode577.员工奖金 | Employee Bonus
Select all employee's name and bonus whose bonus is < 1000. Table:Employee +-------+--------+---- ...
- Redis 设计与实现 (九)--Lua
EVAL script numkeys key [key ...] arg [arg ...] script: 你的lua脚本 numkeys: key的个数 key: ...
- python glob的安装和使用
基本概念 glob是python自己带的一个文件操作相关模块,用它可以查找符合自己目的的文件,类似于Windows下的文件搜索,支持通配符操作.*,?,[]这三个通配符,*代表0个或多个字符,?代表一 ...
- 当使用vue的按键修饰符不起效果的时候怎么办?如@keyup.enter = '' ;
这个问题困扰了我一个多小时,各种测bug !始终测不出来! 直接上代码(错误示范) <el-form-item prop="password"> <el-inpu ...
- vue项目安装vux
本文章默认基于“vue init webpack myproject”已经搭好基本的项目, 而且本文是从我有道笔记拷贝稍加修改过来的 本来我私人笔记写给自己看的所以有些地方可能描述不够清晰 需要修改的 ...
- React 中的key值
在react中必须要有key值,key不是用来提升react的性能的,react中的key属性,它是一个特殊的属性,它是出现不是给开发者用的(例如你为一个组件设置key之后不能获取组件的这个key p ...
- [区块链] 密码学中Hash算法(基础)
在介绍Hash算法之前,先给大家来个数据结构中对hash表(散列表)的简单解释,然后我再逐步深入,讲解一下hash算法. 一.Hash原理——基础篇 1.1 概念 哈希表就是一种以 键-值(key-i ...
- Lucene 02 - Lucene的入门程序(Java API的简单使用)
目录 1 准备环境 2 准备数据 3 创建工程 3.1 创建Maven Project(打包方式选jar即可) 3.2 配置pom.xml, 导入依赖 4 编写基础代码 4.1 编写图书POJO 4. ...
- Python包的导入说明
import 模块 from 包 import 模块 上面的代码有什么区别呢? from 模块 import * 这种导入想象与把模块里面的代码都复制到当前模块中(也就是该语句所在位置),这时候你可以 ...
- Python进阶:迭代器与迭代器切片
2018-12-31 更新声明:切片系列文章本是分三篇写成,现已合并成一篇.合并后,修正了一些严重的错误(如自定义序列切片的部分),还对行文结构与章节衔接做了大量改动.原系列的单篇就不删除了,毕竟也是 ...