郭东白的架构课33

你好,我是郭东白。从这节课开始,我们就进入到架构活动的最后一个环节:复盘。

当遍历完价值单元的交付树之后,其实也就完成了整个架构活动的交付。到这里,比较普遍的方式是业务方最终验收并庆祝上线。这是个传统的由项目经理主导的步骤,相信你肯定经历过不少,我在这里就不赘述了。

与此同时,大多数产品和研发人员已经进入了一个甚至多个项目,也开始了新一轮的紧张迭代。很多团队主管甚至也以自己团队在连轴加班而生出一种自豪之感。

但作为架构师,我们或许要像卢瑟福一样发问:“如果不停地加班,那你什么时候思考呢?” 是的,当经历了一个充满不确定性、信息不对称、高度紧张的架构项目,我们不能没有一个深度思考的过程。这个过程就是复盘。

复盘是最容易被忽略的环节,但对于架构师和整个团队的成长来说,却有着极其关键的作用。所以在这节课,我会拆解复盘整个环节,确保你跟所有参与者的成长都能最大化。甚至,还可以通过复盘挖掘到更多的架构机会,为未来同类的架构活动沉淀更好的工具。

不过在描述复盘的完整过程之前,我们先要对复盘的定义有个统一的认知。

复盘的目的

需要预先说明的是,我们这两节课要讲的复盘,特指通过还原并深度思考架构活动的完整历程,来寻找可以提升未来架构活动成功概率的过程。

在互联网时代,复盘这个词已经被滥用了,以至于很多人将复盘与总结反思画上了等号。因此我有必要再针对复盘的定义进行详细解释,帮助你更全面地认识复盘。

首先是复盘的目的。我们在复盘的定义中已经给出了,即:寻找可以提升未来架构活动成功概率的机会。大多数复盘其实都偏离了这个目标。在我参与的上百次的复盘中,我也很少见过参与者自始至终都能忠于这个目标的。

我们可以用一个公式来表示,也就是P(E) < P(E|A) 。其中,E指的是公司未来某个架构活动,A指的是复盘分析。这个定义的意思就是,通过复盘分析,公司未来的架构活动的成功概率必然能得到提升。

其次是复盘的对象。复盘的对象不仅包括失败案例,还包含成功案例。我们通常对成功案例有着较为主动的学习动机,也就是我们经常提到的路径依赖。而对于失败案例,我们却常常有着自我治愈和选择性遗忘的倾向。

事实上,企业中的架构尝试大多数都是以失败告终的,所以从失败案例中学习的机会其实更为频繁,而且对我们未来避免失败也至关重要。我甚至觉得很多人的成功就是来自对失败案例的高效学习。

最后是复盘的视角。复盘可以有多个视角:一种是对他人的审视;一种是对自我的审视;还有一种是上帝的视角。

上帝视角实施起来会比较困难,有点像历史学家对某个历史事件的审视,需要穷尽信息的收集。在互联网企业,我们不太具备这种严苛的信息收集的条件和所需时间。不过,我们可以通过协调所有参与者来最大化前两种视角,在最大程度上逼近上帝视角。

要怎么理解前两个视角呢?

  • 对他人的审视,简单来说就是一句话:谁造成了我的失败?
  • 对自我的审视,简单来说也是一句话:我什么地方做得不完美?

除了不同视角的分析外,复盘还需要从不同的维度进行分析,比如决策逻辑层面、执行层面、组织和文化层面等。

一个项目的失败,尤其是灾难性的失败,基本上都是多个维度的因素叠加造成的。如果团队在某个维度上的能力做到了极致,往往可以弥补其他维度上能力的不足。

举个很简单的例子,假设一家公司的研发人员压力大、交付周期短,自动化测试覆盖率也不够高,导致项目发布经常带有故障。如果这家公司在灰度发布、指标监控和自动化回滚等方面做到了极致,那么即便有故障,但靠着发现及时、报警响应快、能做到一键回滚,也能保障项目发布的稳定性。

复盘的三大误区

明确了复盘的定义之后,会发现,你之前所做的大多数复盘其实都走进了误区。我把这些误区归类成三种。

第一个最常见的误区是止于问责。在一个重大问题出现后,很多公司的做法都是先在公司内部找到第一责任人,然后对责任人处以与失败相同量级的处罚,甚至开除。这种机制的目的是防止复盘参与者互相包庇,最后大事化小、小事化了。

问责机制的确可以用在复盘环节中,来帮助公司发现问题的真正根因。不过也要明白,找到或惩罚责任人并不是复盘的目标,也不应该是复盘的终点。复盘的目标是寻找可以提升未来架构活动成功概率的机会点。

从这个视角出发,问责制的一些缺陷就会暴露无遗:

  1. 偏离目标:不少互联网企业会将很大比例的薪酬放在绩效激励上,而维持问责制的有效性,意味着它会与激励相挂钩。那么让其他参与者知道自己的问题,很可能会带来不小的经济损失。此外,还会导致复盘时将大量的时间耗费在问责过程中,甚至就是在讨论“谁的责任更大一些”这个问题。而未来如何改进这个更重要的问题,很容易被大家所忽视。
  2. 遗留隐患:项目失败后,公司的损失已经是既成事实,靠惩罚一两个责任人并不能挽回什么损失。此外,即使问责处罚完,公司或系统的隐患依然不会消除。反倒因为把责任归属到一两个主要的责任人身上,导致其他人身上所存在的隐患被完全忽视。在崇尚问责制的公司里,你肯定能观察到这样的现象:复盘会上只有一两个人争论得不可开交,其他人都噤若寒蝉,生怕把自己牵扯进来。
  3. 人才流失:高风险的项目本来就容易失败。一旦斩了先锋,可能再也没人敢为这种项目担责冒险了,望而却步会成为项目参与者的默认选项。

在我看来,失败是一个公司必须要付出的学费。不失败,反倒是公司在行事上过于保守的侧面证明,也会对参与者的冒险精神有所压制。对于一个公司来说,最重要的是从失败中获取能力的提升。

第二个常见的误区就是止于意识提升。在复盘的过程中,肯定会涉及到自我剖析,让参与者寻找各自的提升点。但是项目复盘,更重要的是整个公司的能力提升,而不是参与者个人能力的提升。

这两者的区别在于,个人能力的提升并没有固化到团队或公司中。比如某个参与者离职,对公司来说,就失去了一项能力。要知道,无论是你个人的能力,还是其他人的能力,都属于公司组织能力提升的一部分。但是除了员工能力的提升外,公司其他维度的提升也同样重要,比如系统提升、机制提升、文化提升等。

这里还要插一句。哪怕光做到意识上的提升,其实也非常难。出于对自我的保护和对自尊心的维护,难免会让你放弃反思或者反思不够彻底。所以真正的意识提升,需要参与者都能保持正确的心态。什么是正确的心态呢?我引用印度禅师Sri Yukteswar的一句话:“只有靠粗暴的意志才能击碎坚硬的自我 (The hardcore of human egotism is hardly to be dislodged except rudely)。”

第三个误区是止于错误补救。更准确地说,就是止于损失回捞,也就是在最大程度上挽回问题所造成的损失。这是针对已经接近完成的架构活动的补充,是个收尾动

posted @ 2022-12-29 11:36  易先讯  阅读(67)  评论(0编辑  收藏  举报