周志明老师在《凤凰架构》一书中的“治理:理解系统复杂性”章节提到系统复杂性的来源:

  • 复杂性来自认知负荷
    (Cognitive Load) :在软件研发中表现为人接受业务、概念、模型、设计、接口、代码等信息所带来的负担大小。系统中个体的认知负担越大,系统就越复杂,这点解释了为什么蚂蚁族群和国家的人口可能一样多,但治理国家比治理一群蚂蚁要更复杂。

  • 复杂性来自协作成本
    (Collaboration Cost):在软件研发中表现为团队共同研发时付出的沟通、管理成本高低。系统个体间协作的成本越高,系统就越复杂,这点解释了为什么小饭馆和国家的构成个体都同样是人类,但治理国家比治理一家饭馆要更复杂。

看到这里,不免要延伸开来想:
系统复杂性的来源之一是认知负荷。当复杂度超出治理能力时,主动降低个体的认知负担也是一种治理方式——比如愚民、娱乐至死。

复杂性的另一来源是协作成本。法治缺失、道德倒退、规范失衡会导致个体信任消退、互相防备、以邻为壑,最终沟通和协作的成本成倍上升。

放在家庭关系中看,有的家庭选择“男人说了算”、“一切都听老婆的”,算是第一种策略——降低认知成本直到完全服从,由分布式系统转化为单体系统,自然也就没有多少协作成本了;
有的家庭建立在平等尊重、包容互信的基础上,协作成本低,因而不需要牺牲个体的认知能力来换取系统治理的质量。

更多的感想放在后面再谈,本书回顾了 IT 系统架构的历史演进过程和逻辑,介绍了大量实践经验,不仅对 IT 系统架构师大有裨益,如果你了解进化论,对生物个体、社会组织的演进有兴趣、有知识基础,看下来还会有更多好玩的启发。