type
Post
status
Published
date
Aug 4, 2023
slug
tech-10
summary
如果你是一家公司的技术主管,团队里的一位工程师因为误操作删除了线上的用户数据,这时候你又发现,上个月数据的自动备份因为某些故障停止了,现在你该怎么办呢?
tags
技术管理
category
技术管理
icon
password
Link

Bug引发事故,该不该追究责任?

 
“人非圣贤,孰能无过?”技术人员也是人,因此编程过程中难免出 Bug,出了 Bug 系统就会出问题,出了问题系统就会宕机。那么,Bug 引发的一连串事故,该不该追究责任,又如何去追责呢?
各种因为代码问题引起的麻烦也是屡见不鲜。那么,在Bug引发问题的情况下,怎样处理才能最大程度上保持团队的主动性、责任感和执行力呢?
 
我们先来假想两种极端的情况:
  1. 如果每个错误都会受到惩罚,会怎样;
  1. 如果所有的错误都没有任何追究和跟进,又会怎样?
 
假如每个错误都会受到惩罚,不难想象,以下情况一定难以避免。
  1. 大家都怕闯祸,所以风险高的事没人做,或者总是那几个靠谱的“老司机”做。没有机会处理这种复杂情况的人,永远得不到锻炼,也无法积累这样的经验。
  1. 如果有人搞砸了什么事情,会因为担心承担后果而推卸责任,从而尽可能掩盖错误的坏影响,不让人知道。
  1. 如果别人犯了错,会觉得不关自己的事。
  1. 指出别人的错误就会导致别人被追究责任,因此看到有问题也会犹豫要不要指出。
 
反之,如果无论发生什么错误,都不需要承担后果或进行反省,没有任何担当,那可能又会出现以下情况。
  1. 同样的错误可能会一再发生。
  1. 小错没有被及时制止,或者没有引起足够重视,最终导致酿成大错。
  1. 做事仔细的人会觉得不公平。自己为了安全起见,每次代码改动都写很多单元测试,每个项目都反复测试和预防问题;但是别人的草草而就导致错误百出,却因为显得进度更 快,反而被认为更有效率。
 
那么,对于工作中的错误,尤其是 Bug 导致的错误,我们应该采取什么态度和措施呢?
第一,追究责任,但不是惩罚。“知其然,并知其所以然”,搞清楚在什么场景下,什么样的 Bug 引发了什么样的错误。相关人员应该尽最大的可能去做好善后工作,并思考如何避免下次犯同样的错误。
第二,对事儿不对人。在这个追究的过程中,重点在于怎么改善流程、改进制度,来避免同样的错误,而不是指责员工不应该怎么样。如果相关人员已经那么做了,为什么这个错误仍然没有及时被发现和制止?
第三,反复问“为什么”,从根本上发现问题。错误为什么会发生?有些 Bug 可能只是显露出来的冰山一角。反复问,反复想,就能找出根本上值得改进的问题,而这样的结果和受益,比惩罚犯错儿的人要好得多。
第四,员工关系的建立也很关键。我们需要培养的是大家相互信任、互帮互助,为了共同的目标努力的氛围,而不是一种不安全感。这种不安全感可能是自己不够自信,害怕犯错;也可能是对他人漫不关心,或是对其代码质量有怀疑。只有大家都相信,找出问题的根本目的是解决问题,避免问题再发生,才能建立一个不断反思、不断学习、不断进步的良性循环。
 
 
【技术管理课】从给答案到做引导【Docker】ElasticHD-概要与部署