郭东白的架构课_43_33节点七怎么样做好一个有长期收获的复盘
你好,我是郭东白。
上节课我们讲了复盘的目的,还讲了复盘的三个误区,同时也讲了进入复盘前的准备工作。
有了这些做基础,这节课我们就正式进入到复盘的过程中。
复盘过程一般由六个环节组成,第一,由顾架构活动。
第二,搭建复盘环境。
第三,树立机会点。
第四,挖掘根因第五,寻找新的模式与机制。
第六,也就是最后一步铲除跟进项。
我们先来看第一步怎么回顾架构活动。
回顾过程呢是指以时间顺序对事实进行多维度的客观描述,包括主要决策的环境、最终的决策以及由此推进而来的规划。
在架构活动的进行过程中,如果你一直遵循我们提到的沉淀知识的建议,那么在这个环节就不需要做太多的准备工作。
只需要把线上文档记录、重要决策和相关的背景提炼出来就可以了。
唯唯一需要注意的是,除了架构师视角的回顾外,你还需要从非技术职能的视角出发,对架构活动进行回顾。
这些非技术职能视角,包括项目经理、产品经理、产务运营,甚至包括客户这个补充动作非常重要。
因为架构活动耗时比较久,在复盘的过程中,回顾内容往往会引导大家的讨论走向。
如果你能提供充分的视角,并且为每个视角配备合理的权重,那么肯定会大幅拓宽机会洞察的搜索半径,找到更高质量的提升点。
接下来呢是过程控制和整体规划。
上节课我们讲到了,复盘呢一个重要原则呢是保持平衡的视角。
想做到这一点呢,首先要邀请一组具备不同视角的参与者来参与复盘,不能清一色的邀请研发人员。
因为研发人员往往只会从技术视角出发来做深度探讨。
邀请一组正确的人参加。
复盘的时候呢,作为架构师,你需要对复盘的氛围、内容持续做引导和控制,尤其要确保每个会议参与者的视角主要呢有这五个方面。
第一呢要从公司的视角出发,而不只是从个人的视角出发。
第二,要提供我可以做什么的视角,而不是他可以做什么的视角。
第三呢要提供彼时彼岸的视角,而不是此时彼岸的视角。
什么意思呢?我们在复盘的时候,不能乘着时光机到处乱飞,不要把未来的知识带到过去中去。
第三呢,要提供找机会的视角,而不是追责人的视角。
也就是说呢最终呢还是要提升未来架构活动的成功概率。
第五呢要提供抓大放小的视角。
我们的目标呢是看大机会,而不是找小缺陷。
在引导和控制的过程中,你要帮助其他的参与者梳理思考维度,而不是梳理分支,分支中的机会肯定是越来越小。
而在新的维度上的机会,或者是跨多个维度的组合的机会,很可能是突破性的。
我们的目标是在高维空间上可以找到最大化未来成功率的机会点。
具体来说,我建议应该着重关注七个维度。
第一个维度呢是整体流程,从目标设定到架构环境搭建,再到最终的交付,有什么可以改进和提升的地方?第二个维度呢是决策质量。
公司在大型决策中的质量怎么样,怎么能够进一步提升决策质量?第三个维度呢是架构规划。
我们到底有没有真正意义上的架构规划,这个架构规划有没有重大缺陷,取舍是不是正确架构规划对实施真的起到了指导作用了吗?第四个维度呢是执行和实施。
实施过程中有没有忠于最初的目标,是不是能交付预期的价值。
第五个维度呢是质量控制,核心模块的最终质量有没有达到预期呢?第六个维度呢是组织维度,团队是不是能够胜任,组织是不是给力协同,是不是高效?第七个呢是文化维度,公司文化对架构活动的成功有帮助吗?还是阻碍了架构活动中的探索和求知。
要知道,并不是每个参与架构活动的人都能贡献出深度思考。
所以在选择会议的参与者准备回顾内容,控制每个话题的时长,还有话题之间的流转上都要体现出我们架构式的认知。
再接下来呢就是树立机会点了。
在回顾过程的时候呢,你需要引导每个参与者共同思考一个问题,那就是在可控维度上,措施的最大机会点是什么?这个过程呢是多多轮的共创过程。
每个参与者呢都要思考这三个问题。
第一,在某个维度或者是某个组合维度上,我们措失的最大机会点是什么?第二,为什么这是一个措施的机会点,而不是一个无法掌控的风险因素呢?未来碰到这样的机会点,我们可以把握住吗?第三,这个措施的机会点有多大?第二,从商业价值或者用户价值上来度量吗?需要注意的是呢,你要避免花太多时间花在跟进措施上。
毕竟目标呢是找到那些最值得深入的话题。
这个过程呢跟模拟退货,也就是simulated and nearing的算法呢是十分相似的。
你需要经过多轮的搜索讨论,再搜索再讨论,然后才能找到最全局最优解。
说了玩机会点呢,就可以挖掘根因了。
针对最重要三个机会点,你需要彻底挖掘造成这个损失的根因在哪里。
这里呢我们要用故场故障复盘的五个为什么的方法,也就是five wise不断挖掘问题根源,突破问题的表面现象,最终找到一类问题的底层根源。
举个例子,第一层问题,一般会这么问,为啥出问题了?往往答案是呢,因为没发现问题,很多复盘都止于故障,发现也就是大家最常用的故障。
防困三百伏加监控报警加响应、及时性考核,加灰度发布能力。
结果呢报警太多了,新的一轮问题淹没在现有的报警里面。
我曾经见过一家大公司上万名研发的人均电话报警个数超过四百个,每天连短信费都让人折舌。
也就是说,这种最浅诚寻找问题的和解决问题的方案,不仅不但不能解决问题,还可能会把问题搞得更糟。
那么继续向下问,来到了问题的第二层,你为什么没有事先意识到问题?比如说通过某种形式的监控而提前发生问题呢?答,往往是我没有意识到这里会出现问题。
很多问题问到这里就停止了,似乎是能力问题呢没解了,除非是换人。
那我们接下去问,但你为啥没意识到呢?往往是我没想过,或者是我没顾上想这个问题实在太忙了。
这时候你可能意识到了这里,可能还有机会,你继续问下去,没想到是因为没有时间呢,还是说给了足够的时间也想不到呢?再遇到这样问题,你还是会想不到啊。
这时候答案往往会发生变化。
如果你给了我足够的时间,我应该能想得到,或者是未来你给我足够的时间,我肯定能想得到,那为什么呢?这里往往你可能得到一个有价值的答案,因为这是一个单点,而且是项目的强依赖。
一旦他挂了,项目也就挂了。
我当时太忙,没注意到它是单点,很可能呢这里呢你可能会停下来。
在我看来这是一个整个复盘中,大家公认的最重要一个低热点。
那你就应该问下去,首先去问一个分支,为啥是单点呢?这时候你可能听到很多分支的答案了,因为业务同事就只谈了一家支付公司,或者因为研发资源不够,链调太麻烦了,再或者因为上线时间不够等等。
你可能会问另外一个分支,那为什么是强依赖呢?同样你也可能会听到很多个答案。
因为这是一个支付服务,产品设计,就是一手交钱一手交货,或者就应该是强硬了啊,之前就这么设计的呀。
再或者因为没有支付成功的消息,消息消流程就走不下去啊等等。
你会发现呢,你深挖根因的过程,最终呢都会止于一系列的假设和既定的流程。
那么你就会问到一种终极问题,我们的假设正确吗?我们的商业模式就应该是这样了,我们的流程就应该是这样了,很显然不是的。
那么到下一个话题寻找新的模式和机制。
我们很多时候呢只是在缺乏思考中的忙碌。
默认当前的做法就是正确的做法。
当前的模式就是正确的模式,当前的流程就是正确的流程。
但是很多的时候,我们都被自己过去的错误框住了。
一旦突破这些束缚,就能提升未来架构活动的成功概率了。
还是刚才的回答模式,我们并不是要一手交钱、一手交货、分期付款当期后付或者是信用付,其实都是很好的商业模式。
支付呢也并不是不能降级的。
强依赖降级之后,也有很多风控的办法。
支付呢既不需要是单点,也不需要同步进行。
所以呢我们有很多办法都可以提升企业无赖未来在支付这件事情上的成功概率,这还不是全部。
刚才我们提到呢,我们的复盘呢并不是故障复盘。
我们的目标呢是要提升企业未来的架构活动的成功概率。
所以作为一个架构师,你一定要把个例中的发现转变成一种模式和企业的机制。
还是这个例子。
这个复盘呢可能会导致产品和业务同学引入新的模式。
从技术效角来视角来说,在这个讨论的过程中呢,你应该抽取到一些更具普遍性的模式提升的机会。
比如在未来架构的项目里,你应该对单点有一个完整的梳理流程,并且对单点做一定程度的架构。
同样呢在强依赖的梳理上,你可能会发现大多服务呢是可以降级的,甚至在支付这样的服务也可以降级。
当然呢,你不一定要在架构活动的主流程中来完成整个降级方案的实现。
但是把这种常识性的被认为是强依赖的服务设计成可以降级或者是异步的服务。
这是你在之后的架构设计中必须需要思考的一环。
当你看到了一个同步的强依赖服务的时候,你就要问问业务方和产品设计者。
为什么这个服务必须是一个同步的强依赖服务?在这整个过程中,你的目标呢是尽量找到一个模式和机制,而不是解决一个单点问题。
只有找到模式和机制,才能提升整个公司的成功管理。
这就是我们反复强调的复盘的终极目标。
下一步呢是产出跟进项。
如果这些动作呢落实到位,这个时候呢你能该产出非常多的跟进项了。
架构活动一般都是比较复杂的。
我们的分析呢不仅有多个维度,而且要平衡多个视角和多种因素,还有职能团队的参与。
那么问题来了,这时候并不是没有跟进项,而是跟进项太多该怎么办呢?我的建议是呢最多保留三个跟进项,最多保留三个跟进项,并不是公司在一个大目标失败后,接下来只需要跟进三件事。
他指的是你作为一个架构师,最终建议整个公司做出改变的事项,绝对不应该超过三项。
公司里有很多团队,每个团队都有自己的根进项,数量呢加起来绝对不止三个。
但是从企业的视角来讲,数量不应该超过三个。
主要呢有两方面的原因。
一方面呢对于公司来说,模式和机制的调整是更为长期的影响,哪怕变化非常频繁的互联网公司,模式和机制上也应该保持一定程度的连续性,切记生产大量的新机制和新模式。
另外一方面呢,我们在复盘的推演过程中的根源呢是单个案例。
从单个案例推导出的结论必然有一定的决心,即限性。
也就是说呢结论呢看起来万物之一失,但推进之后呢,肯定会发现新的问题。
所以呢只有集中精力认真分析少数几个跟进项,才能有效的提新提升这些跟进项的成存活概率。
这呢就是复盘的完整过程。
在这个过程中呢,你应该能找到帮助自己提升的一些机会点。
另外呢还要在一个本来在项目上线环节就应该强调的一个点,这就是呢资源释放。
有些项目的组织者呢在一个大型项目结束之后呢,会找各种理由扣押资源,要求做一些项目之外的附加需求。
类似这种扣人甚至是挖角的行为,其实都是非常不道德的,会严重影响团队的文化。
如果真的在新的环境之下,原有的组织架构不再适用了,那也应该是一个公开的有理有据的决策。
在没有做出这种决策之前,你要督促所有的项目中,在架构活动之后呢,立即释放资源。
好了,今天的内容呢就是这么多,我们来总结一下,对于任何人来说呢,复盘的能力都是职业成长中非常重要的一件事。
更准确的来说呢,这是一个从失败中学习的能力,跟其他活动一样,复盘也要有个目标,有了明确的目标,才能引导参与者走向正确的思考路径和做事方法。
复盘的目标呢不仅仅是为了挽回损失,更重要的呢是未来铺设一个成功路径,找到提升成功概率的办法。
所以,我们的思考、准备和行动都是为了寻找长期可以应用的新机制和新模式,这应该是我们复盘时最需要保持的心态。
如果把这节课给出的复盘案例跟之前的风险控制和可行性探索中给出的案例进行对比,你会发现他们之间具有非常大的相似性。
的确是这样的,我们在整个模块中分享的知识都来自于我这些年在大项目中不断总结和抽象出的方法。
通过这节课呢,我希望你不仅学到复盘的正确办法,而且要学会把复盘这种理念应用到日常生活中去。
在生活中呢找到提升自己的办法。
复盘吧。
朋友们,我们今天的思考题呢依然是三个,你可以选择其中一个来回答。
第一呢,在你经历的复盘中,你有获得什么深刻的洞察吗?这个洞察为公司带来了什么样的变化?第二题,在你经历的复盘中阻碍参会者达到深刻洞察的最大障碍是什么?你发现了什么?克服的方法啊,不管是成功还是失败的经验,都可以分享一下。
第三,在你经历的复盘中完成最好的一个跟进项是什么?为什么?如果这节课呢对你有帮助,欢迎你把你的课程转发给你的同事或朋友顺便打个小广告。
我刚开了抖音号啊,我也在西瓜上啊,包括在b站上也发表了我的内容。
我呢定期呢会发表一些啊比较新,而是啊但呢不那么成熟的观点。
我欢迎大家在抖音啊,西瓜和包括b站上搜索郭东白并关注,也欢迎你的批评指正。
我们下节课再见。