盖尔定律
出自 MBA智库百科(https://wiki.mbalib.com/)
盖尔定律(Gall's Law)
盖尔定律是盖尔(Gall)的著作《系统论:系统如何真正起作用以及它们如何失效》中设计有效的复杂系统的经验法则,阐述的原理是:从头开始设计的复杂系统根本不切实可行,无法修修补补让它切实可行。 你必须由一个切实可行的简单系统重新开始。 盖尔定律说明了设计高度复杂的系统很可能会失败。 它们很难一蹴而就,更多是从简单的系统逐渐演变而来。
盖尔定律对新公司尤其适用,对新公司也很重要-他们需要花一些时间,有意识地,明确地思考他们使用的系统,以便他们有很大的机会将改变世界的想法构建成真实的服务,人们真正想要的产品。
仔细观察可以发现,无论是一个互联网软件系统的架构,还是一个城市的建设,载人航天飞机的建造,都不是一开始就事无巨细设计好的,没有任何人可以模拟真实场景中的各种内外部因素,也就是说在一个系统逐步成熟和复杂化的过程中,是不断对外部无数变量进行响应和调整的过程。
从软件架构来说,看过淘宝和京东架构演变的都知道,从一开始简陋的单体结构,到后来由成千上万台服务器集群支撑的微服务治理、中台化、中间件体系,是经历十几年的不断迭代和重构形成的,每一次微小的架构演变,都是为了解决现实问题,是业务发展所引发的各种变量和挑战来促使架构演变到如今的状态。
这和某些社会制度、司法体系、某些主义也都很有相似之处,一开始懵懵懂懂,「摸石头过河」,后来不断实践,不断丰富内涵,「实践是检验真理的唯一标准」,在过程中,不断丰富和完善,形成今天的所谓「体系」。
正因为社会在变化、科技在变化、人的思想也在变化,「唯一不变的就是变化」,因此我们无法在最初把所有因素考虑在内,设计一个十全十美的架构体系,所以也就有了产品的MVP理论,有了敏捷和迭代的方法论。从架构角度,合适原则、简单原则、演进原则也都可以和盖尔定律互为呼应,开始不必做过度设计,不断迭代演进即可。