用CAP定理解释成长型组织的大难题 - Nir


有人曾经告诉我,任何类型的团队或组织所经历的最艰难的转变是从大约 30 人增长到 60 人。
当时,我记得我在想,“嗯,这很随意。当然,每个组织都是不同的。” 在某些方面,每个组织都是不同的。然而,我见过各种各样的团队都经历过这样的成长期,一遍又一遍地面临同样的挑战。随着每年都有大量新公司成立,人们会期望我们集体能够更好地驾驭这些成长的阵痛。然而它们仍然存在。

这是一个经典的难题,随着任何团队的成长,其流程和系统开始崩溃,团队经常被迫重组或看到收益递减。为什么每次都会出现这种情况?为什么没有一个完美的模型可以每次都缩放?为什么我们还没有发现?

生产性组织的三个需要
任何组织的主要目标都是高效和富有成效地运作。为此,它需要三件事:

  1. 首先,它需要确保任何两个团队成员在任​​何给定时间都没有不一致的信息,无论是路线图、战略还是任何其他可能影响执行的输入。换句话说,它需要团队之间的一致性。
  2. 其次,它需要确保,特别是随着团队变得更加专业化(成长中的团队的必然性),每个人都可以相对快速地从其他人那里获得他们需要的信息。换句话说,它需要每个人对其他人的可用性。
  3. 第三,它需要确保整个组织能够继续有效地运营,即使它的某个特定部分变得不可用。它需要分区容差。

然而,根据我的经验,并查看我参与过、投资过或建议过的许多团队,同时实现这三个方面几乎是不可能的。当人们分析原因时,就会清楚为什么永远不会存在完美的组织模型。


什么是 CAP 定理?
理论计算机科学中的一个经典概念是CAP 定理,它由伯克利的[url=https://en.wikipedia.org/wiki/Eric_Brewer_(scientist)]Eric Brewer[/url]发现,它指出分布式数据存储需要三个主要好处。然而,一个人最多只能同时拥有其中两个。

这三个好处与上面提到的相同:一致性,这意味着系统的每个部分都有准确的最新信息;可用性,这实质上意味着每个问题都能得到快速回答;和分区容错性,这意味着即使系统的一部分处于离线状态,其余部分仍会像以前一样继续运行。

尽管这一原则通常适用于计算机科学,但我最近一直在思考它如何与人员组织同样相关和真实。事实上,随着公司的规模越来越大——尤其是在后疫情时代,许多公司都在雇佣非同一地点的员工——组织的 CAP 定理比以往任何时候都更加相关。

尽管如此,成长中的团队通常认为他们可以找到克服这一规律的结构,并且这样做会注定自己的团队动力不够理想。
他们最好接受 CAP 并最大限度地提高他们可能的生产力。

路径 1:一致性和可用性 = 无分区容错
假设您希望团队的不同部分永远不会彼此不同步(即某人成为最新信息的“真相来源”),并且您希望团队的所有部分都可以提供信息对彼此。只有一种方法可以实现这一点:将团队划分为不同的领域。

这就是许多成长中的组织所做的,尤其是当他们从早期阶段(例如,任意 30 人)过渡时,每个人都可以戴上很多帽子,并了解系统的所有活动部分。在某一点之后,这变得站不住脚,因为事实证明,让所有通才保持一致比简单地将他们分成专门的角色更难。

在一个分裂的、高度专业化的团队中,领导者正在优化一致性和可用性(即每个功能都与最新策略保持同步,没有人不同步,每个人都可以解除阻塞并通知其他人)。

然而,结果是分区容错。如果组织的任何一个部分“倒闭”(有人去度假、有人辞职、有人表现不佳,或者 Gmail 或 Slack 等通讯工具不可用),生产力就会停滞不前。无法同时获得团队想要的一致性和可用性,并确保在出现问题时继续平稳运行。

路径 2:可用性和分区容错 = 没有一致性
由于担心过度依赖任何个人或子团队,一些组织选择最大化可用性(任何问题都会得到快速响应)和分区容限(即使特定组件出现故障,组织仍能作为一个整体继续运作)。但这只能通过一种方式完成:冗余。
这种团队不是专门针对每个人,而是专注于传播知识,以便不同的人可以并行操作。
在我自己的创业之旅中,我已经从路径 1 过渡到路径 2,因为我意识到过度依赖任何一个人都是危险的。

但是这种冗余会发生什么?没有一致性。

能够独立并行运行的人越多,任何一个人都无法成为“真相之源”。由于缺乏一致性或最新信息,这可能表现为人们执行略有不同的策略。结果,资源经常被浪费在执行错误的工作上。

路径 3:一致性和分区容错 = 无可用性
第三条路径(根据我的经验最不常用)优先考虑分区容错(组织将始终保持运行)和一致性(意味着答案始终是正确和最新的)。
但在这种组织模式中,最重要的是确保系统始终能够保持运行,并且每个人都与其他人保持一致。

想象一下这个组织中的文档过程:在不保证他们正在阅读的内容是最新的(即没有可用性)的情况下,不允许任何人阅读任何内容。

这种模式总是短暂的。根据我的经验,一个减少信息的快速传播以支持信息的质量和可扩展性的组织必然会陷入过度降低生产力的繁重流程中。
在更大的范围内,这变得完全不可持续。

拥抱 CAP
只要两个拼图拼在一起,第三块就永远拼不起来。
我看到许多成长中的团队试图直面这些挑战,只是为了学习,就像他们的前辈在他们之前多次做过的那样,他们永远无法完全解决。这会导致理想化的解决方案在现实中失败,从而导致时间浪费、混乱和生产力下降。
相反,随着团队的成长和发展他们的工作方式,他们会更适合接受 CAP,认识到扩展组织的生产力是有限的,并决定三分之二的路径中的哪一个最适合他们。