## 盖尔定律

我们专栏本周正在讲怎么做大项目，这一讲咱们说一个相关但是不一样的角度，也是一个对做大事非常有用的规律。不过这里说的不是做一个单个的建设项目，而是一系列产品，或者一个系统。

你想过没有，市面上那些软件、什么APP之类，为什么总要动不动就来一次升级迭代呢？有时候升级带来了新功能，更多时候则纯粹是查缺补漏、乃至于修正前一版的错误。那些开发者为什么不一次性做好了再发布呢？

你可能知道产品开发有个说法叫「MVP」，也就是「最小可行产品（Minimum Viable Product）」，意思是如果你有个很新的产品或者服务，你先不要追求功能全面，应该先弄个有最重要的功能的版本就开卖，看看市场反应。如果事实证明你这个东西有「X因素」[1]，用户买账，那你就继续投入；如果没什么反响，那你就砍掉这个项目。

这是一种先试水，一边做一边迭代，摸着石头过河的开发方法。

有些人认为先搞MVP是因为资源有限，是能力问题 —— 你看人家苹果推出的第一款VR设备完成度就那么高！这种观点认为只要有足够的资源，就应该把产品方方面面都做好了再推向市场。

我要说的是，都准备好了再推出是错误的路线。MVP并不仅仅是个无奈之举，更是个智慧之举。这里面有惨痛的教训和专治不服的定律。

✵

咱们先说教训。2013年，作为奥巴马医保改革的一部分，美国联邦政府推出了一个面向全国低收入、没有医保的人群的一个医保网站，叫healthcare.gov。这是一个大项目，由政府牵头，很多家公司共同参与了网站建设。项目开始不久，就展现出了政府项目的一个特色：预算越来越高。

刚开始建设时，网站预计成本只有九千万美元；开工没多久，成本就飙升到了2.92亿美元；等到最终建成，实际成本已经超过了17亿美元。

而尽管花了这么多钱，网站却是刚刚开通两小时就崩溃了。

![图片](https://piccdn2.umiwi.com/uploader/image/ddarticle/2023072716/1815103800847991404/072716.png)

这可是引领互联网科技之先的美国啊，你奥巴马不是很爱说自己喜欢科技吗？花这么多钱连个医保网站都搞不好？这其中有没有官僚主义问题？

✵

当然有官僚主义问题。事实是奥巴马医保网站可以说是个挺正常的政府项目 [2]。

据研究，2016年之前的十年间，联邦政府94%的大型信息技术项目都是不成功的，超过50%的项目被推迟、超出预算或未达到预期，更有41.4%的项目被判定为完全失败。

所以你政府搞什么网站啊。直接让一家私人公司做，才是省时省力省钱，最对得起老百姓的办法。

政府搞不好的根本原因是管理有问题，因为政府部门的各级官员并不真的在乎成本，而且也不真的在乎项目完成的好坏。政府就不是一个能少花钱多办事儿的机构。

而如果你仔细分析其中的过程，你会发现更有意思的东西。

✵

美国商人和政治顾问詹妮弗·帕尔卡（Jennifer Pahlka）2023年6月刚刚出了本书，叫《重新编程美国：政府为何在数字时代失败以及我们如何才能做得更好》[3]，其中分析了奥巴马医改网站失败的细节，非常值得深思。

![图片](https://piccdn2.umiwi.com/uploader/image/ddarticle/2023072716/1815103843797596080/072716.png)

美国原本的情况是如果你是老人，政府给提供医保；如果你有份不错的工作，公司帮着买医保；如果你有钱，你可以自己买医保 —— 麻烦在于收入比较低、公司和自己都承担不起医保的人群。奥巴马医保的主要目的就是给这部分人提供比较低价的医保。那既然是平价，就意味着不是人人都可以购买这份医保，你必须符合一定的条件才行。

所以那个医保网站必须跟很多个数据库联网，交叉验证用户是否符合资格。而且医保并不是政府办的，是政府交给数百家私人保险公司办的，所以网站还必须跟那些保险公司通信。

你可以想见这是一个非常复杂的网站。

而复杂的事物中往往有二八法则。奥巴马医保典型的用户是低收入的美国公民，本来这个计划就是专门给美国公民安排的。但凡事总有例外，相关法案还规定了17种“特殊情况”，说符合条件的外国移民也可以享受这个医保。那些外国移民的数量其实非常少，但是验证符合条件信息的程序要比美国公民复杂得多。

面对这样的局面，最好的办法是先弄个MVP，服务核心人群。可能网站只要投入10%的成本，就能服务好85%的用户。如果是企业家做这件事，肯定是我先把85%的钱赚了，把剩下那些难搞的先放着，将来慢慢想办法。

但既然是政府项目，怎么能弄个网站先把一部分符合条件的人群排除在外呢？网站的设计要求是一上来就把所有功能都做全 —— 这才导致了费时费力费钱和崩溃。

帕尔卡说，这个医保网站的问题在于它有很多项目经理，但没有产品经理。如果有产品经理，他一定会要求网站先减少一部分功能。

政府总是想搞个大而全的顶层设计，殊不知「可行」的重要性。可行不仅仅是为了少花钱多办事 —— 更是为了能办成事。

✵

这就引出了一个思想叫「盖尔定律」，出自一位叫约翰·盖尔（John Gall, 1925 - 2014）的儿科医生和系统论专家。

盖尔1975年出了本叫《通用系统学》的书 [4]，其中有一段著名的论述是这样的 ——

「一个有效的复杂系统总是被发现是由一个有效的简单系统演变而来。一个从零开始设计的复杂系统永远不会工作，也不能通过修补来使其工作。你必须从一个简单的工作系统重新开始。」

![图片](https://piccdn2.umiwi.com/uploader/image/ddarticle/2023072716/1815103892115979708/072716.png)

这就是盖尔定律。盖尔说的非常强硬，你资源再多再厉害，也不能一上来就弄成一个复杂系统，你只能先弄个简单系统，让它演化成一个复杂系统。

这是为啥呢？因为你不可能一上来就能看清楚复杂系统中各种变量的相互依赖关系，你不知道面对真实的环境的时候，这个系统会如何作为 [5]。纸面上的东西设计得再周全也总有想不到的地方，更何况真实世界充满不确定性。

只有从简单出发，在跟真实环境互动的过程中慢慢学习那些本地的、难以写在书本上的知识，不断迭代，才能形成能用的复杂系统。

说白了，能用的复杂系统一定是演化出来的而不是设计出来的。

盖尔定律从根本上否定了顶层设计，要求必须摸着石头过河。

✵

盖尔定律的例证无处不在，复杂可行总是出自简单可行。

就拿互联网来说，今天你几乎什么事都可以在网上干，可是互联网刚刚发明出来的时候，根本就不是给老百姓用的。但没关系，有人能用就行。有人愿意用，它就可以迭代，就可以稍微变得复杂一点；你复杂一点，用的人就多一点，如此正反馈循环。

盖尔定律不仅仅适用于创业公司。比如你是个大公司，你们看到一个潜在的新兴方向。最好的办法不是立即大张旗鼓地成立一个新部门，而是先弄个小团队，弄出个不求全面只求可行的小项目，一点点发展壮大。

盖尔定律也不仅仅适用于产品开发。在中国经济高速增长的年代，我看外国学者都特别推崇中国政府的实验精神：全面推出什么新政策之前都爱先弄个「试点」。试点方法还非常讲究，往往会选择几个经济发达地区和几个经济不发达地区，南方和北方、东部和西部都要有代表，小范围试一试：行，就向全国推广；不行，那就先放一放。所以那时候人们都说中国是工程师治国。

大城市几乎都是从小地方发展而来的。是这个地方本来就具有吸引力，人们自发就愿意去，去的人越来越多才形成城市，而不是一上来就在这里设计了一座大城。

盖尔定律还可以用在个人成长上。不要相信什么我今天发个大愿，制定了一项周密的奋斗计划，我要从此之后每天几点起床、几点到几点之间必须读书，几点必须健身等等等……那种计划注定失败。

正确的做法是先选择一个最低限度的改变，一项就好，必须既容易坚持、又能看到效果。等有了效果，你形成了习惯，再增加别的。

现在尤其有些家长爱对孩子搞顶层设计，报一大堆兴趣班、制定一份详细的作息时间表，逼着孩子必须做到……他们怎么不想想，那些要求连他们自己都做不到。

✵

盖尔定律的根本要求是「可行」，而它的价值观是简单才是好的。哪怕不得不搞个复杂的东西，你也要尽可能让它简单化。

除了MVP，软件开发中还有个思想叫「微服务（Microservices）」[6]，意思是不要寻求用一个软件提供所有的服务，最理想的情况是每个基本服务都由一个专门软件负责，而综合服务只要调用那些软件的API就行了。

举个例子，你想做一个能让用户输入地址查询天气的系统。为了盈利，你这个系统除了会显示天气，还需要记录用户的身份、知道用户当前所在地点是哪、他查询的地点是不是外地，如果是的话他就很可能正要去那个地点旅行，那么系统就可以给他推荐一些什么航班信息之类的广告。所以你这个系统需要天气、用户身份存储、地理定位、航班信息、跟广告商联网等等的功能。

如果把所有功能都让系统自己实现，那就很可能会出各种问题，比如用户身份信息容易被广告商滥用、一个地方出了毛病就得改很多地方等等。

更好的办法，是市场上已经存在专门提供天气信息、专门存储用户身份信息这些基础性功能的微服务，它们各自独立，而你可以通过调用API把它们放在一起使用。这样你的开发不但方便，而且安全，而且因为微服务都已经很成熟了，你也更可靠。这叫「解耦设计（Decoupled Design）」。

这就是简单之美。

✵

复杂是不得已，不要以复杂为荣，简单才是最好的。不要寻求一次性解决大问题，不要与演化为敌。

那你说苹果做Vision Pro为啥就能一出手就是成熟产品呢？这跟苹果的市场地位和VR头盔的竞争局面很有关系，别忘了苹果之前已经有人做过VR的MVP了。但即便如此，这个价格高达3499美元的设备到底行不行，仍然有很大的不确定性。

「罗马不是一天建成的」。这句话不是安慰，而是警告。

![图片](https://piccdn2.umiwi.com/uploader/image/ddarticle/2023072716/1815103917885850220/072716.jpeg)

注释

[1] 精英日课第四季，X因素

[2] https://d3.harvard.edu/platform-rctom/submission/the-failed-launch-of-www-healthcare-gov/

[3] Jennifer Pahlka, Recoding America: Why Government Is Failing in the Digital Age and How We Can Do Better (Metropolitan Books, 2023).

[4] John Gall: General systemantics, an essay on how systems work, and especially how they fail, 1975.

[5] https://personalmba.com/galls-law/

[6] https://nordicapis.com/what-is-galls-law-and-how-could-it-direct-api-design/

### 💡 精华要点
- 1.盖尔定律：一个有效的复杂系统总是被发现是由一个有效的简单系统演变而来。一个从零开始设计的复杂系统永远不会工作，也不能通过修补来使其工作。你必须从一个简单的工作系统重新开始。
- 2.复杂是不得已，不要以复杂为荣，简单才是最好的。不要寻求一次性解决大问题，不要与演化为敌。
