10月22日消息,據Jessitron報道,幾天前,在匈牙利首都布達佩斯,我和耶斯·哈姆博(Jez Humble)探討過這樣一個問題:對于團隊來說,CAP定理同樣適用嗎?在分布式數據庫系統中,CAP定理指的是Consistency(一致性)、 Availability(可用性)、Partition(分區),三者不可兼得。如果一定要在三者中選擇2個,必須要有Partition。
比如在開發軟件時,除非這個軟件全部都是由1個人開發的,否則我們必須要選擇Partition,因為我們無法將所有人的思想都融合起來。在數據庫中,我們需要在Consistency (保持數據相同)與Availability(總能獲取數據)之間做出選擇。
而隨著團隊擴大,我們需要在Consensus (以同樣的理由和方式做事)與實際完成工作之間做出選擇。換句話說,我們需要在Moving Together與Moving Forward之間找到平衡。
1.Moving Together
第一組的研究毫無價值。盡管決策是一致的,所有工作也都在順利進行,但輸出非常有限。當有人生病時,所有工作都要停止。
第二到第七組的研究比較理想:團隊成員通過積極溝通,交流想法,整體對話輸出足以彌補互相交談損耗的時間成本。對于團體中的每個人來說,建立彼此的“心智模型(mental model)”是非常可行的,他們可以了解其他人想要知道的東西。當每個利益相關者都是其他人的朋友時,很容易達成一致性。
當超過1個團隊時,就需要對合作協調的成本進行權衡。以2到7人組成、需要密切合作的團隊為例,可以用下面這種細高的空心箭頭代表他們的輸出潛力。