CTO用“汉德公式”来定责,我大写的服!

Wesley13
• 阅读 624

开发删库跑路,却让运维背锅?CTO用“汉德公式”来定责,我大写的服!
原创 Mr.K 技术领导力 昨天

点击“技术领导力”关注∆ 每天早上8:30推送

作者| Mr.K 编辑| Emma

来源| 技术领导力(ID:jishulingdaoli)

01

开发删库跑路,却让运维背锅?

一位同行跟老K讲了一个事情,非常有意思,也挺有启发的,跟大家分享一下。

安德鲁是某Saas平台的CTO,半年以前,有个程序员因为个人情绪原因,删库跑路了,导致公司的服务停止了2天,造成巨大的损失,对外的处罚公告里,CTO肯定是第一责任人,负有领导责任。

对技术部内部的处罚,第一责任人是运维总监。是的,你没看错,第一责任人不是研发总监,而是运维总监。你可能会问,程序员删的库,不应该是研发部的责任吗?为什么让运维来背锅?

安德鲁说,起初在部门内部公布处罚结果的时候,大家都有这样的疑问,认为判罚不公正,于是安德鲁召开了事故复盘大会,在大会上讲解了他的判罚逻辑和思路,大家没有不服气的。

安德鲁究竟说了什么,让大家对这个判罚结果如此信服。安德鲁说,很简单,我给大家讲了汉德公式,大家就都明白了。

02

究竟什么是汉德公式?

要理解汉德公式,还要从著名的美国政府诉卡罗尔拖船公司案说起:美国政府的货船停靠在港口,本身是不带动力的,罗尔公司是一个拖船公司,也停在港口,当罗尔公司解开绳索拖走自己的船的同时,也解开了美国政府货船的绳索,但是绑回来的时候,没有把美国政府货船的绳索绑好,于是船就这样飘出去了。

说来也魔幻,美国政府的船一直飘到海中间,并且撞到了一艘油船,美国政府的船就被撞坏了,21小时后,这艘船就沉没了,船上装满了面粉。所以美国政府就把罗尔公司告上了法庭,要求赔偿全部损失。

这个案子最终到了汉德法官的手里,他怎么说的呢?他说在绑满了船的码头上,每一艘船实际上都有被松绑的可能,有可能碰到别的船,这种可能性总是存在的。所以对任何一家轮船公司来说,他要避免自己的船受到意外碰撞而产生损失的责任,取决于三个因素。

1.这艘船发生意外的可能性。—P

2.这艘船发生意外的严重程度。—L

3.他为了避免意外要付出的成本。—B

也就是说,如果B<P*L的时候,就是当避免意外造成的成本,低于所造成的损失的时候,受损失方就应该负责任,这就是著名的汉德公式。

美国政府装面粉的船,没有绑好被别的船碰上的机会是有的,也就是P,L的潜在损失也是巨大的,但是要避免这么大损失,美国政府只需要时不时派个人查看一下,就能迅速发现避免损失,所以这个公式就成立了。

法官最终判决,卡罗尔公司不需要对所有的面粉做出赔偿,美国政府也要承担相当于一部分责任。

这里的B<P*L,是一个很有意思的公式,你会发现,在这个案件中,其实美国政府感觉并没有什么错的,但恰恰是由于船上的面粉足够值钱,潜在损失足够大, 法官才判他们负有一定“注意义务”,支付一定的“注意成本”。

03

汉德公式在线上事故的定责中,如何应用?

了解了汉德公式,再回头看安德鲁对“删库跑路”事故的定责,就不难理解了。

运维部门负责对线上数据库的维护工作,不小心误操作或人为恶意破坏的可能性是有的,也就是P,L的潜在损失也是巨大的,但是要避免这么大损失,运维部门只要建立权限管控机制、数据备份机制、监控预警等等,就能迅速发现避免损失,这也是运维工作职责所在,所以这个公式就成立了。

安德鲁判罚运维部门是第一责任部门,研发部是第二责任部门,大家也就能够理解了。

04

汉德公式在生活中的应用

仔细观察你会发现,汉德公式在生活中的应用非常广泛。比如说你把一只花瓶,放在了你家大门屏风前面,当快递小哥扔快递时打它打碎了,对方是不是要赔偿呢。

从汉德公式来看,送快递把你家花瓶打碎的概率并不大,即使打碎了赔偿也不过几百块。但是要防止这种意外发生的成本就比较高了,所有易碎的东西都不放在门口?或者加一个铁框子来加固易碎的花瓶?

但是,如果我们改变一下条件呢?放在你家门口的是一只明代青花瓷古董,价值几千万,快递小哥送快递不小心打碎了,需要赔吗?这个时候我们再看这个B,P,L变量,你会发现,快递小哥,怎么知道普通人家门口会放一只几千万的古董呢?只有你知道,所以你的责任最大,这就是汉德公式的应用。

大家是否记得,前阵子空姐深夜打车遇害的案子。一些网友在微博中讨论女子应该穿的更保守一点,这样可以避免减少歹徒的伤害,其实在当时的语境下,这种言论被攻击的非常厉害,为什么呢?

因为正常治安环境下, 伤害发生的损失L非常大,但是概率P非常小,所以穿着保守,或者随身携带安保物品的成本是较高的。但是,如果换一个环境,如果这是在索马里或者战乱的中东,大家还会觉得这是狡辩的论调吗?这个时候女性防护的成本相对于损失而言,就会变得非常低了,大家也就更容易接受,应该采取防护的观点。

05
写在末尾的话

最后,再回顾一下汉德公式,当意外发生当中的任何一方当事人,只要避免意外的成本低于意外造成的损失,他就负有责任。希望以后你做线上事故定责的时候,能用上汉德公式,当然了,更希望你永远没有机会用它。

恭喜你,今天又比别人多一点竞争力了!关注“技术领导力”,点在看、转发朋友圈就是对我最大的支持,跟老K一起,每日精进。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Wesley13 Wesley13
3年前
PPDB:今晚老齐直播
【今晚老齐直播】今晚(本周三晚)20:0021:00小白开始“用”飞桨(https://www.oschina.net/action/visit/ad?id1185)由PPDE(飞桨(https://www.oschina.net/action/visit/ad?id1185)开发者专家计划)成员老齐,为深度学习小白指点迷津。
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
AndroidStudio封装SDK的那些事
<divclass"markdown\_views"<!flowchart箭头图标勿删<svgxmlns"http://www.w3.org/2000/svg"style"display:none;"<pathstrokelinecap"round"d"M5,00,2.55,5z"id"raphael
Stella981 Stella981
3年前
DOIS 2019 DevOps国际峰会北京站来袭~
DevOps国际峰会是国内唯一的国际性DevOps技术峰会,由OSCAR 联盟指导、DevOps时代社区与高效运维社区联合主办,共邀全球80余名顶级专家畅谈DevOps体系与方法、过程与实践、工具与技术。会议召开时间:2019070508:00至2019070618:00结束会议召开地点:北京主办单位:DevOps
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这