郭东白的架构课46

你好, 我是郭东白。

通过前面三个模块的学习,我们掌握了架构师的生存法则、架构师在架构活动中的工作方式、架构师在成长过程中需要获取的能力维度。那么最后一个模块,我们就来学习如何提升架构师最核心的能力——思考力。

独立思考

我们之前提到过了,思考力指的是在生活和工作中,通过独立思考带来有效结论的能力。同时,我们也解释了什么是独立思考。我认为独立思考是针对同一个问题,通过有别于他人的视角、有别于他人的证据组合和有别于他人的思维方式,来推导出逻辑结论的过程。在思考力这个定义中,我想特别强调三个方面。

首先是独特的视角。架构师经常需要以异于他人的视角来思考问题,比如我们在讨论跨域架构师时提到的全局视角,在讨论生存法则时候提到的人性视角,在讨论CTO角色时提到的企业长期生存的视角,等等。

在现实世界中,影响结果的维度非常多。比如针对软件架构,我们仅在模块一中就提到了目标、人性、资源、商业环境、技术环境、文化环境等六种因素。通常来说,架构师要选择一个不被他人重视,但的确能对结论产生重大影响的视角去做深度思考,正如我们在前面三个模块中讨论的一样。

其次是独立的证据组合。当选择好一个或多个维度切入思考后,选择的证据组合同样会对结论产生巨大的影响。

举个例子,我们之前的课程中多次提到了企业、技术和架构活动的生命周期。但是,哪怕是同一个团队中的同事,也可能会对同一个技术或企业生命周期作出完全不同的判断,因为每个人接触到的证据是不一样的。那么找到最有价值的证据组合,也就是最能逼近有效结论的证据组合,就是你作为架构师可以提供的核心价值。

最后是独特的思维方式。每个人的思维方式都不一样,有的人喜欢在别人逻辑推导的基础上发现漏洞,并试图修复优化;有的人喜欢对问题进行层层分解,自己独立得出结论;也有的人喜欢从其他学科中寻找类似的问题,从而发现新的解决问题的思路;还有的人喜欢在跟别人的深度讨论和辩论中逼近真理。通常来说,不同的思维方式会带来不同的推导路径,从而得出不同的结论。

不过在这个定义中,其实还有两个隐含的假设。第一个假设是同一个问题,也就是说所有人都在讨论同一个问题,大家只是在结论上没有达成共识。

这个假设听起来似乎很愚蠢,如果不是同一个问题,何谈独立思考呢。但是在现实生活中,你会发现,越是那些有挑战的问题,参与讨论的各方越是缺乏对问题的统一定义,因此很多时候我们花了很大力气,之后才发现大家讨论的都不是同一个问题,目标也完全不同。

不信的话,下次在大家争论得不可开交的时候,你可以试着打断一下,然后让每个人把正在讨论的问题分别写在纸上,看看大家对问题定义的描述是否完全一致。反正我没遇到过一致的情形。

另一个假设是统一的甄别方法,也就是说不同结论之间是可以被比较的,最终能够选出最有价值的结论。

我刚才已经说了,越是有挑战的问题,越难找到统一的度量结论的标准。事实上,如果一旦思考清楚我们在一个问题上的目标,并量化出这个目标的指标,解决方案往往也就开始浮现了。它不再是一个未解的难题。

有效的甄别方法除了能帮助我们理清问题外,还有另外一个很重要的价值,就是可以应用到我们在模块二里讲的共识机制的建设中。它可以保障最终决策的公平性,避免将解决方法的共创,变成最高权力者的决策。

有了这个对独立思考的定义,我们就可以理解这个模块的目标了,那就是提升你独立思考的能力。接下来,我就对模块内容进行一些简单的介绍。

架构师这个职能有必要存在吗

提到思考力,你可能会有一连串的疑惑:思考力为什么对架构师这么关键?为什么思考力是架构师的核心能力?为什么思考力的提升能给架构师的职业成长带来决定性的优势?等等。如果你认真思考,就会发现,这些问题其实都指向一个终极问题:我们为什么需要架构师?

且听我慢慢道来。

我在不少场合中做关于架构师的演讲的时候,会听到大家对架构师这个职业有着各种各样的假想。当然,大家也会问各种各样的问题,但我很少听到有人问:架构师这个职业有必要存在吗?

对于从业者而言,架构师是一个很赚钱的职业。那么对于用人方来说,就是一个很费钱的职业。那么,对于一家公司而言,既然架构师这个职能这么费钱,为什么我们还需要架构师呢?更进一步地,架构师这个职业有必要存在吗?

其实大家没有这个问题也很自然。我们身边多的是架构师,大家也都在花钱学习架构的相关课程。问这个问题,似乎是多此一举。可是,这个问题却是我思考最频繁和最久的问题。可以说,整个专栏的缘起、我的架构理念、总结的架构法则、贯穿我职业生涯的行为方式,都来自我对这个问题的思考。

首先,你可能觉得架构师理应是一个成熟企业所必须的职能。哪家大公司会没有一个架构师呢?请你仔细回忆一下模块二的内容,我们曾经提到过,架构活动中的目标并不是由架构师制定的,实际执行者也不是架构师。那么为什么要在这中间增加一个架构师呢?

当我们之后介绍实用主义思维的时候,你会看到到,实用主义强调“每个人都应该从实践中直接体验理论,我们应该尽量摈弃任何没有意义的中间环节”。那么,对于实用主义者来说,架构师的存在,隔离了制定目标的决策者和执行目标的执行者。这种隔离,会增加从执行者到目标之间的理解难度和反馈距离。也就是说,至少某些实用主义的信奉者会质问:架构师是否有必要存在?

我做过多年的专职架构师。在过去,我的团队中也曾设立过专职的架构师和架构师团队,他们阶段性地起到了很大的作用。不过我现在的公司里,并没有设置多个专职的架构师岗位,最后发现其实也没有影响架构活动的质量。我想说明的是,一家企业可以不设立专职架构师这个岗位。事实上,很多公司的现状也是如此。

你可能认为,公司在一个架构师身上的投入就是发给他的工资。其实不然。架构师对公司而言,消耗的最大成本是人才培养的机会。同样一个架构决策机会,如果长时间交给同一个人做,其实也就剥夺了其他技术人员的决策机会。

决策机会对于任何人而言,都是很宝贵的机会。它是一家公司里的稀缺资源,也是人才培养过程中非常重要的消耗品。那么对于公司而言,架构师占用的决策机会就是很大一笔投入。当然,公司对架构师的投入远不止这些,比如说由于架构师岗位的存在,公司还必须改变团队的沟通方式和决策模式等。

如果所有架构师都在消耗资源的话,那么他必须能创造价值,否则公司就不理智了,要付出相应的代价。因此我们不难从商业经营的角度,来推断出架构师职能所必须满足的一个条件:架构师所创造的长期价值,要大于公司对他的各种形式的投入。

或者反过来说,如果一个架构师产生的价值远大于公司在他身上的投入,那么任何一个理智的公司,都应该设立架构师这个岗位。

如果沿着上面这两个路径继续思考,我们会得出同样的结论:架构师必须选择一个以持续创造增值为目的的思维。这其实就是我们整个模块的总纲。

那么如何做到这一点呢?就是靠你的独立思考。

关于提升思考力的建议

架构师该如何通过独立思考来最大化自己的增值呢?针对这个话题,我们这个模块将会讨论以下内容。

第一部分,架构师的思维定势。我们这里所说的思维定势,指的是架构师在思考过程中的基本假设。从某种角度来说,思维定势就是你选择相信什么,或者说你在架构师的生涯中坚信和奉行的那些“主义”。

比如整个经济学就建立在“人是理性的”这个基本假设之上。我认为这些“主义”不是随意挑选的,而是和架构师这个职业的内在特性所绑定的。那么一个架构师应该采用什么样的思维模型呢?为了激发我们的思考碰撞,我在这节课的最后,特意留了关于这个话题的思考题,所以这里先不列出我的答案。

第二部分,架构活动中的思考维度。你可以回想一下模块二的内容,在一个具体的架构活动中,随着架构活动的推进,架构师能贡献的价值也在发生变化。因此,在架构活动中的不同生命周期,我们就需要不同的思考方法。

在这个模块里,我们会分解架构活动的几个重大周期,强调每个周期中架构师应该采用的思考方式是什么。同样地,我们这里会略去具体的建议,而把相关内容留作思考题,帮助你最大程度地从这个模块获取价值。

第三部分,判断思考的质量。思考力的提升,意味着你的日常需要高质量的思想碰撞,那么怎么寻找那些有高质量思考的人呢?甚至再深挖一步,怎么判断每次思考的质量呢?靠投票肯定是不靠谱的。如果靠投票的话,人类历史上很多伟大的学说都会被淹没。关于这个部分,我会简单阐述一下我判断思考质量的方法。当然,我也希望你能在留言区写下你的判断方法。

第四部分,思考案例。最后,我会列举两个关于思考力提升的具体案例。第一个案例是Amundsen和Scott的南极探险案例,虽然案例内容与软件架构没什么关系,但作为挑战高风险目标的经典案例,曾经被投资界、商业界和企业管理界反复研究。所以我们也来看看,从他们的案例中,能够得出什么样的结论。

我试图通过第一个案例,来解释我们如何从其他学科和日常生活中寻找架构灵感,同时提升我们独立思考的能力和深度。

另一个案例与软件架构有着非常大的关系,也就是中台。通过这个案例,我试图解释我们如何判断他人的行为和论断,分析这些论断背后的立场和驱动因素。

这两个案例都非常复杂,我期望通过这两个案例,能够引导你尝试拨开迷雾,逼近真理。也期望通过这个模块的学习,能帮助你获取一些系统性的思考方式,提升日常的思考质量。

最后说句题外话,Amundsen和Scott的南极探险故事有非常多的参考资料,我把资料链接放在了课程最后,其中3、4、10是重点,有兴趣的可以去看看。

小结

诚恳地讲,思考力这个模块是我们这门课中最不成熟的模块。没有人教我一个架构师应该如何去思考,网上和书本里也几乎没有关于这个话题的内容。但是从我的经验积累中,我认为一个架构师应该遵循某些思维定势,并且要在特定的场合采用特定的思考路径。

遗憾的是,我仅仅能从我不算太成功的职业经历中提取经验。所以说,我抛出来的仅仅是块砖。但是我坚信一件事:架构师的思考力可以通过学习来提升。

虽然我不知道提升架构师思考力的标准答案是什么。但是我认为要逼近这个答案,至少有一个起点:能有一位架构师将自己充满瑕疵的方法拿出来,请大家讨论、批判,并提出更好的建议,然后为其他人呈现出高质量的思考。

因此,虽然我心里对这个模块的内容完全没有底,但是我依旧愿意分享出来,希望能引发你的思考和批判。你的批判,其实就是我写这门课的最好的礼物。当然,如果还能给我和其他读者分享一下你的方法论,或者是你看到过的更好的方法论,那就是我和整个专栏读者的福气了。

所以对于所有的学习者而言,这个模块最重要的不是学习课程内容,而是在最大程度上参与讨论,并分享你的想法,这就是我们这个模块的目标。也希望你能从这个模块导读开始就这样做,认真完成这节课的思考题。

思考题

今天的思考题有三道,建议你都认真思考一下,并把你的想法,哪怕是简单的思路写下来,分享在留言区。在接下来的学习中,你同样可以把自己的思考、我的分享和其他人的思考来作个三维比较,看看在哪些方面我们的认知是相同的,哪些是不同的,又有哪些是我们需要改进和提升的地方。

在这个模块的学习过程中,我建议你能持续地,甚至要反复批判你自己的、他人的,以及我的观点。我认为只有这样,才能从这个模块的学习中获得最大程度的成长。所以说,今天的三道思考题都是必答题,不能省略啊!

题目如下:

  1. 作为一个软件架构师,你信奉那个主义是什么?
  2. 在一个复杂的架构活动中,你是以哪种思考方式来贡献价值的?这种思考方式会随着架构活动的推进而产生变化吗?
  3. 你是怎么判断一个人的思考质量的?

最后,关于Amundsen和Scott的南极探险资料,我进行了简单的整理,链接如下。当然,这些资料加在一起有1000多页,内容很多,所以我在“郭东白”的抖音号里也对这部分内容进行了拆解,欢迎围观。

  1. Biography: Roald Amundsen, https://en.wikipedia.org/wiki/Roald_Amundsen
  2. Biography: Robert Falcon Scott, https://en.wikipedia.org/wiki/Robert_Falcon_Scott
  3. Roald Amundsen, “The South Pole; an account of the Norwegian antarctic expedition in the Fram, 1910–12 (Volumes I and II).” London: C. Hurst & Company. ISBN 0-903983-47-8. First published in 1912 by John Murray, London. also available at http://www.gutenberg.org/ebooks/3414
  4. Apsley Cherry-Garrard, 1922, “The Worst Journey in the World”, Carroll & Graf. ISBN 978-0-88184-478-8. Also available at: http://www.gutenberg.org/ebooks/14363
  5. Amundsen’s South Pole Expedition, https://en.wikipedia.org/wiki/Amundsen%27s_South_Pole_expedition#CITEREFAmundsen
  6. Tera Nova Expedition, https://en.wikipedia.org/wiki/Terra_Nova_Expedition
  7. Comparison of Amundsen and Scott Expeditions, https://en.wikipedia.org/wiki/Comparison_of_the_Amundsen_and_Scott_Expeditions
  8. “Roald Amundsen First to Each Pole”, available at http://www.dioi.org/smp.htm
  9. Jim Collins and Morten T. Hansen, “Jim Collins and Morten T. Hansen, Why do some companies thrive in uncertainty, even chaos, and others do not?”, 2011, Harper Business, ISBN 978-0062120991​
  10. The North-West Passage; Being the Record of a Voyage of Exploration of the Ship “Gjöa”. New York: E.P. Dutton and Co. 1908. OCLC 971379351.​
  11. Our Polar Flight: The Amundsen–Ellsworth Polar Flight. New York: Dodd, Mead. 1926. OCLC 918183295.

欢迎把你的想法分享在留言区,相信经过你的深度思考与输出,学习效果会更好。我们下节课再见!

posted @ 2022-12-29 16:08  易先讯  阅读(56)  评论(0编辑  收藏  举报