bug 引发事故,该不该究责?
如果每个错误都会受到惩罚,会怎样;如果所有的错误都没有任何追究和跟进,又会怎样?
假如每个错误都会受到惩罚,不难想象,以下情况一定难以避免。
大家都怕闯祸,所以风险高的事没人做,或者总是那几个靠谱的“老司机”做。没有机会处理这种复杂情况的人,永远得不到锻炼,也无法积累这样的经验。
如果有人搞砸了什么事情,会因为担心承担后果而推卸责任,从而尽可能掩盖错误的坏影响,不让人知道。
如果别人犯了错,会觉得不关自己的事。
指出别人的错误就会导致别人被追究责任,因此看到有问题也会犹豫要不要指出。
反之,如果无论发生什么错误,都不需要承担后果或进行反省,没有任何担当,那可能又会出现以下情况。
同样的错误可能会一再发生。
小错没有被及时制止,或者没有引起足够重视,最终导致酿成大错。
做事仔细的人会觉得不公平。自己为了安全起见,每次代码改动都写很多单元测试,每个项目都反复测试和预防问题;但是别人的草草而就导致错误百出,却因为显得进度更
快,反而被认为更有效率。
那么,对于工作中的错误,尤其是 Bug 导致的错误,我们应该采取什么态度和措施呢?
第一,解决问题。首先要考虑的是用户数据没有了怎么做补救。如果实在没有办法挽回数据了,考虑如何将损失降到最低。或者以某种方式补偿用户。用户的利益永远是第一位的。
第二,追究责任,但不是惩罚。“知其然,并知其所以然”,搞清楚在什么场景下,什么样的 Bug 引发了什么样的错误。相关人员应该尽最大的可能去做好善后工作,并思考如何避免 下次犯同样的错误。
第三,对事儿不对人。在这个追究的过程中,重点在于怎么改善流程、改进制度,来避免同样的错误,而不是指责员工不应该怎么样。如果相关人员已经那么做了,为什么这个错误仍 然没有及时被发现和制止?
第四,反复问“为什么”,从根本上发现问题。错误为什么会发生?有些 Bug 可能只是显露出来的冰山一角。