复盘这个词已经被滥用了(当然架构这个词也被用烂了,不要动不动就架构),以至于很多人将复盘与总结反思画上了等号。成功的反面是什么?是失败嘛?我看到比较认可的,成功的反面是平庸和不敢尝试。基于这个思路,有价值的反面是没有价值,这个答案在逻辑上很完整。可是,这个答案的缺点也非常明显,那就是,在没有价值这个集合里,还包括负面价值。也就是说,有价值的复盘,当然是最期望得到,可是复盘没做好的时候,并非没有价值,而是可能产生负面价值。这是做复盘最值得警惕的地方。
复盘此处的定义
特指通过还原并深度思考架构活动的完整历程,来寻找可以提升未来架构活动成功概率的过程。
复盘的目的
找可以提升未来架构活动成功概率的机会。
复盘的对象
复盘的对象不仅包括失败案例,还包含成功案例。我们通常对成功案例有着较为主动的学习动机,也就是我们经常提到的路径依赖。而对于失败案例,我们却常常有着自我治愈和选择性遗忘的倾向。
复盘的视角
复盘可以有多个视角:一种是对他人的审视;一种是对自我的审视;还有一种是上帝的视角。从不同的维度进行分析,比如决策逻辑层面、执行层面、组织和文化层面等。
复盘的三大误区
- 止于问责
- 偏离目标
- 遗留隐患
- 人才流失
- 止于意识提升
- 项目复盘,更重要的是整个公司的能力提升,而不是参与者个人能力的提升。
- 止于错误补救
复盘的准备工作
- 建设复盘氛围:为参与者提供一个安全且平衡的复盘环境。
- 梳理错失的机会点:从公司层面的宏观视角看,错失的最可惜的机会点是什么?提前梳理重大机会点,可以帮助我们控制复盘节奏,避免复盘成为一个裸心会,被一个麦霸引导到他个人的心灵独白中去。
- 设定目标:引导参会者对复盘目标有个清晰的认知。如果不能拿到一个非常有洞察的、能真正提升未来成功概率的结论和行动点,那么复盘就不能结束。
平衡的复盘环境
第一层是视角的平衡,也就是平衡对他人的审视和对自我的审视。
对他人审视和对自我审视其实是一对矛盾,当我们在一个视角上的思考做到极致后,难免忽略另一个视角。很简单的例子,如果我们从他人身上找到了能解释自己失败的充分原因,那我们很难正视自己的失败。反之亦然。
第二层是平衡公司内部不同的决策层。
这是对“刑不上大夫”的问责制度的挑战,也就是问责问到屋子里层级最高的人的时候,就戛然而止。同样,这么做也是为了把决策层面和执行层面的问题分开来看,寻找各自的机会。
第三层是平衡不同的维度。
技术人员做复盘的时候,话题往往是如何改变设计、如何完善监控发现工具、如何提升工程效率,以及如何提升数字化决策的质量。从公司层面看,通过其他手段也可以达到同样的目标,技术手段只是其中一种。因而在复盘中,需要引导参与者注意平衡思考的维度。
第四层是平衡思考深度和行动时间。
很多人做复盘,还没完成全面分析呢,就已经列出了一大串行动点,准备整治了。要知道,复盘不是故障响应,不需要立即止血。复盘的重点在于追寻问题本质,而不是整治现象。
复盘的过程
- 回顾架构活动;
回顾过程指的是以时间顺序对事实进行多维度的客观描述,包括主要决策的环境、最终的决策,以及由此推演而来的规划。
- 搭建复盘环境,复盘过程控制和整体规划;
- 需要对复盘的氛围和内容持续做引导与控制
- 要邀请一组具备不同视角的参与者来参加复盘。不能清一色地邀请研发人员,因为研发人员往往只会从技术视角出发来做深度探讨。
- 从公司视角出发,而不是从个人视角出发。
- 提供“我可以做什么”的视角,而不是“他可以做什么”的视角。
- 提供彼时彼岸的视角,而不是此次此岸的视角。什么意思呢?我们在复盘时不要乘着时光机乱飞,不要把未来的知识带到过去中
- 提供找机会的视角,而不是追责任的视角。也就是说,最终还是要提升未来架构活动的成功概率,
- 提供抓大放小的视角。我们的目标是看大机会,而不是找小确幸
- 梳理思考维度,而不是梳理分支
- 整体流程:从目标设定到架构环境搭建,再到最终的交付,有什么可以改进或提升的地方?
- 决策质量:公司在大型决策中的质量怎么样?如何进一步提升决策质量?
- 架构规划:我们到底有没有真正意义上的架构规划?这个架构规划有无重大缺陷?取舍是否正确?架构规划对实施起到指导作用了吗?
- 执行和实施:实施过程是否忠于最初的目标?最终是否能交付预期的价值?
- 质量控制:核心模块的最终质量是否达到了预期?
- 组织维度:团队是否胜任?组织是否给力?协同是否高效?
- 文化维度:公司文化对架构活动的成功有帮助吗?还是阻碍了架构活动过程中的探索和求真?
- 梳理机会点;
- 在可控维度上错失的最大机会点是什么?
- 经过多轮的搜索、讨论、再搜索、再讨论,从而找到全局最优解。
- 挖掘根因;
- 故障复盘里的五个“为什么”的方法,也就是“Five Whys”,不断挖掘问题根源,突破问题的表面现象,最终找到一类问题的底层根源。
- 很多复盘都止于故障发现,比如:最常用的故障防控三板斧:加监控报警、加响应及时性考核、加灰度发布能力。结果呢?报警太多了,新一轮的问题淹没在现有的报警里面。
- 寻找新的模式与机制;
- 只是在缺乏思考中忙碌,默认当前的做法就是正确的做法,当前的模式就是正确的模式,当前的流程就是正确的流程。
- 你的目标是尽量找到一个模式和机制,而不是解决一个单点问题。只有前者,才会持续提升整个公司的成功概率。这就是我们反复强调的复盘的终极目标。
- 产出跟进项。
- 最多保留三个跟进项
每日一句:做生活的高手,专注于你的梦想和目标,而不是敌人。如果你可以看好你的目标,不管生活如何攻击你,但是请你专注你的目标,你的生命就一定很奇迹。现实总在向你进攻,但是你想要什么,做一个生活的高手,专注你的目标,而不是你的敌人,不要把眼睛交给你的敌人。交给你的梦想,盯紧它,向它大步地跑过去。虽然途中会挨那么几拳,但是因为那是你的梦想,所以我想,一定值。