技术系统出现故障怎么定责?法学家、经济学家与商人的三种思路

欢迎大家关注公众号「JAVA前线」查看更多精彩分享文章,主要包括源码分析、实际应用、架构思维、职场分享、产品思考等等,同时欢迎大家加我微信「java_front」一起交流学习


1 文章概述

在技术工作中难免会遇到线上故障,那么如果出现了线上故障,如何定责才能避免后续再次出现类似故障?这是一个问题。

在刘润老师《底层逻辑》这本书中,第一章节《是非对错的底层逻辑》提到了三种对错观,分别是法学家经济学家商人的对错观,这三种思路对于技术工作中定责有一定借鉴作用。


2 三种定责思路

设想这样一个场景,如果说有一个开发人员A,开发营销活动系统,需要调用订单系统,由于其错误代码编写,导致重复访问订单,最终导致订单系统压力太大最终宕机。那么这是谁的责任?


2.1 法学家定责

如果法学家定责,那么本次责任就是A开发人员,因为法学家直接区分是非曲直,错就是错对就是对,本次故障就是由A错误代码导致。解决方案是A修改错误代码,重新上线。


2.2 经济学家定责

经济学家定责思路:谁避免意外的成本越小,谁的责任就越大。怎么理解这句话?订单系统会对接上游系统,上游系统业务场景是千差万别的,由于上游系统固有的业务复杂性,难免会遇到这样或者那样的问题,想让所有上游系统都避免出现问题,成本是非常高的。

那么谁避免意外成本最小呢?是订单系统本身。只要订单系统做好兜底,做好降级,即使上游系统再怎么出错,也不会把订单系统冲垮。所以经济学家会认为是订单开发者的责任,解决方案是新增降级方案。


2.3 商人定责

商人定责有思路:谁的损失越大,谁的责任越大。怎么理解这句话?无论是开发A的责任,还是订单系统开发人员的责任,事情已经发生了,损失已经造成了,谁的损失最大?整个电商部门损失最大,因为整个交易链路都无法使用了。

那么这就是电商部技术负责人的责任,如果以这个角度来思考,后续措施就是做电商整体稳定性治理


3 文章总结

技术工作定责最终目的是避免再次出现相同的错误,所以仅仅不能头痛医头脚痛医脚,而是要多方位立体思考故障根因,这三种思路各自从一个侧面描述了责任的划分:法学家角度直接区分是非曲直,经济学家角度要求避免意外小的一方承担更多责任,商人角度要求最终谁的损失越大,谁就要投入越多的精力。这三种思路可以给技术工作人员一些借鉴和思考。


欢迎大家关注公众号「JAVA前线」查看更多精彩分享文章,主要包括源码分析、实际应用、架构思维、职场分享、产品思考等等,同时欢迎大家加我微信「java_front」一起交流学习

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值