一个能用的复杂系统无一例外是从一个能用的简单系统演化来的。从零设计的复杂系统永远不能用,也永远修不好。

这一条定律,高尔定律,解释的关于制度失败、软件项目、政治改革和个人成长的东西,比大多数整本书都多。

最重要的法则

关于改变

不可能一次只改变一件事。 每一次干预都有副作用,而副作用也有副作用。脆弱主义者忽视这一点:小的可见好处,严重的不可见后果。规划有价值但计划无用的原因是计划假设你能只改变一件事。你不能。

关于增长

随着系统在规模和复杂性上增长,它们倾向于丢失基本功能。 系统越大,产品的多样性越少。系统越大,与个体的接口越窄。这是换了个名字的企业法西斯主义:随着组织增长,里面的人变得更专门化、更可替换、更疏离于系统的初始目的。

关于自我欺骗

系统里的人不在做系统说他们在做的事。系统本身也不在做它说在做的事。 公关团队在每个层面运作:个人、组织、文明。声称的目的永远与实际功能不同。OSS破坏手册是最锐利的证明:刻意的破坏战术,坚持走渠道、把一切提交委员会、为措辞争论不休,与正常程序无法区分,因为正常程序从来不是为产出而优化的。教士团生产知识和证书看门人。学校生产学习和温顺的工人。医院生产健康和一个疾病管理产业。

系统诞生的瞬间就发展出自己的目标。 这是波西格的层级的操作化:社会模式以生物模式为食,制度消耗着它们被创造来服务的个体。系统的行为就好像它有求生意志,而那个意志与创造者的意图分道扬镳的速度比任何人预料的都快。

关于反馈

管它叫”反馈”不等于它真的反馈回去了。 发出的信息不一定是收到的信息。这是赫希曼问题的一句话版本:未被听到的呼声不是反馈。不产生信号的退出不是反馈。系统可以看起来有反馈机制而实际上对纠正免疫。

关于自我指涉

找到自我指涉的点。问题多半就在那里。 奇异环永远是诊断工具:系统在哪里指涉自身?地图在哪里声称自己就是领土?范式在哪里用自己的标准评估对自身的挑战?那就是故障将会发源的地方,也是最难被看到的地方。

对于系统内部的人来说,外部现实倾向于变得苍白和消失。 这是范式锁定语境漩涡表述为系统法则。系统的内部逻辑变得比外部现实更真实。教士团的术语创造了一座外人无法进入、内人无法离开的围城。

关于衰败

规划的完美是衰败的症状。 当规划装置变得比被规划的东西更复杂时,组织已经从做事转向管理。这是狐狸治理:狐狸们管理对问题的感知而非解决问题,管理装置增长到消耗的资源超过它被创建来解决的问题。

临时补丁极有可能变成永久的。 每一个局部最优策略曾经都是一个临时修复,好用到没人回去实施真正的解决方案。补丁变成了承重的,移除它现在比原始问题更难。

关于设计

系统的设计者倾向于设计绕过系统的方式给自己。 利益攸关的违反:创建规则的人把自己豁免于规则。有黄金降落伞的企业高管。有特殊医疗的政客。有自由裁量权的官僚。如果一个系统能被利用,它就会被利用。

约束理论将此操作化:为了让系统的哪怕一个部分被充分利用,其余每个部分都必须有过剩产能。无法容忍可见闲置的系统永远无法实现不可见的吞吐量,因为规划装置和忙碌工作扩展到填满每一个空隙,在过程中消耗了约束的产能。

伟大的进步不来自被设计来产生伟大进步的系统。 机构尺度上的内心博弈:试图产生伟大产生的是伟大的反面。大师不教,他们给许可。创新来自被设计来做其他事的系统,在那里创新是副作用。

关于故障

在复杂系统中,故障甚至完全的不运转可能长期不被发现,甚至永远不被发现。 中国经济模式:系统看起来在运作因为指标说它在运作,而底层现实已经分道扬镳。空城算GDP。坏账算资产。故障不可见直到明斯基时刻让它变成灾难。

一个系统的垃圾是另一个系统的珍贵原料。 Bug在另一个框架里是功能。一个子系统的预期非运转可能是另一个子系统运转的必要条件。这是文化免疫系统的悖论:从外面看像失败的功能障碍从里面看可能是承重的。

常见误读

低水平理解:“系统总是失败,别费劲建了。”

中等水平理解:“这些是有趣的格言,不是真正的工程原则。”

更好的理解:高尔的法则不是悲观主义而是诊断工具。 每一个失败的系统都展现这些模式。辨认出哪个模式在运作告诉你该往哪里看和什么不该尝试。最重要的否定性知识:从零设计的复杂系统永远不能用。 从简单开始。让它演化。接受系统会发展出自己的目标。永远不要把计划当作领土。

核心收获

系统是它自己最好的解释。 你不是通过读文档来理解一个系统的。你通过观察它实际在做什么来理解,而那和它说在做什么、设计者想让它做什么、以及里面所有人以为它在做什么,都是不同的东西。声称的功能和实际功能之间的那道缝,是所有有趣问题藏身的地方。

参考:

  • John Gall, The Systems Bible: The Beginner’s Guide to Systems Large and Small(原名 Systemantics