跳至主要内容

事故复盘怎么做:不是追责,而是让系统更可靠

事故复盘怎么做:不是追责,而是让系统更可靠

摘要

事故复盘的目的不是找一个人背锅,而是理解事故为什么会发生,系统哪些环节没有防住,未来如何降低类似问题再次出现的概率。好的复盘关注事实、时间线、影响范围、根因、修复动作和长期改进。

复盘不是批斗会

很多人害怕复盘,因为复盘常常变成追责。

谁犯了错,谁没检查,谁上线前没发现。这样的讨论短期看起来有交代,长期却会让大家隐藏问题。

真正有价值的复盘,不是否认个人责任,而是把重点放在系统如何让错误发生。

如果一个错误很容易由任何人犯出来,就不能只靠提醒某个人小心。

复盘要让系统更可靠,而不是让人更害怕。

先还原事实时间线

复盘第一步,是建立事实时间线。

什么时候出现异常?谁发现的?影响了哪些用户或流程?采取了哪些动作?什么时候恢复?中间有哪些判断和延迟?

时间线要尽量基于证据,而不是记忆。

日志、监控、提交记录、沟通记录、任务状态,都可以帮助还原。

没有事实时间线,复盘很容易变成情绪讨论。

大家各自记得一部分,最后谁也说不清事故真正如何发生。

区分直接原因和根因

事故通常有直接原因,也有更深的根因。

直接原因可能是某次配置错误、某段代码缺陷、某个接口失败。

根因可能是没有自动检查、权限边界不清、发布流程缺少回滚、监控没有覆盖、需求变更没有同步。

只修直接原因,类似问题可能换个形式再来。

好的复盘会问:为什么这个错误没有被更早发现?为什么系统允许它造成影响?为什么恢复花了这么久?

这些问题比“谁点错了”更有价值。

影响范围要说清楚

事故复盘必须回答影响范围。

影响了多少用户?哪些功能不可用?持续多长时间?是否造成数据错误?是否需要通知用户?是否影响后续任务?

影响范围不是为了让事故显得严重,而是为了决定修复优先级和沟通方式。

小问题可以内部修复,大问题需要公开说明或额外补救。

如果影响范围不清,团队很容易低估或高估事故。

改进动作要可执行

复盘最后必须落到行动。

“以后注意”“加强测试”“提高意识”都太空。

更好的改进动作应该具体:

  • 增加发布前自动检查。
  • 为关键流程增加失败重试。
  • 补充错误日志和告警。
  • 为高风险操作增加确认。
  • 写清回滚步骤。
  • 给某个模块补测试。

每个动作最好有负责人和完成时间。

否则复盘会变成一次认真会议,结束后系统没有变化。

也要记录做得好的地方

复盘不只看失败。

如果某个监控及时发现问题,某个同事快速定位原因,某个流程减少了损失,也应该记录。

这能帮助团队知道哪些机制有效,未来继续保留和加强。

复盘的目标不是制造羞耻,而是学习。

学习包括修正问题,也包括识别有效做法。

结论

事故复盘怎么做?先还原事实时间线,再区分直接原因和根因,说明影响范围,制定可执行改进动作,并记录有效机制。

复盘不是追责,而是让系统下次更不容易以同样方式失败。

一个团队如何面对事故,往往决定它能不能真正变可靠。

延伸阅读

评论

此博客中的热门博文

尝试解构一段幽默

  天龙八部里有这么一段情节: 乌老大脸上肌肉牵搐,又“啊啊”了几声,突然指着虚竹骂道:“臭贼秃,瘟和尚,你十八代祖宗男的都是乌龟,女的都是娼妓,你日后绝子绝孙,生下儿子没屁股,生下女儿来三条胳臂四条腿……”越骂越奇,口沫横飞,当真愤怒已极,骂到后来牵动伤口,太过疼痛,这才住口。 虚竹叹道:“我是和尚,自然绝子绝孙,既然绝子绝孙了,有什么没屁股没胳臂的?”

《微信公开课》上张小龙的公开演讲

 微信是一款现象级的互联网产品,至少以互联网产品普遍的生命周期看来,微信是一款跨越了生命周期的互联网产品。要想理解微信在产品实践的一些观念,最好的方法莫过于直接和他们对话,阅读他们的书就是一种最直接的精神交流。 前几年流传着一本奇书《微信背后的产品观》,互联网产品从业者都给出了极高的评价,书里的内容大致上来自于 2012 年微信团队内部的一次分享会。而在现在,微信依然是一个具有生命力和健康生态的互联网产品,我们又该用什么方式来继续更新对微信的认识呢? 我的方法是:从微信张小龙过去几年的公开课中学习微信的产品观

你日常爱用的词语,竟有这么多在压抑自我!为什么“夹带私货”是一种很愚蠢的说法?所谓“精致利己主义者”其实很粗糙|心理|哲学|历史|自我成长