
工程工作有一个五步层级,步骤必须按顺序执行。几乎所有人都反着来,先自动化,再加速,然后优化,从不质疑这个东西到底该不该存在。温伯格把这一点磨得更尖:大多数人抓住第一个看起来像问题的陈述就尽快解决,所以被优化的错误东西往往不只是错误的方案,还是错误的问题。聪明工程师最常犯的错误是优化一个本不应该存在的东西。
五个步骤
1. 让需求不那么蠢
需求肯定是蠢的;不管是谁给你的都一样。来自聪明人的需求特别危险,因为你可能不会质疑它们。每个人都会犯错。不管你是谁,每个人都有犯错的时候。所有设计都是错的,只是错多错少的问题。 — 埃隆·马斯克
每个需求都必须附带一个名字,不是一个部门。你不能问部门,你必须问一个人。提出需求的人必须为它负责。否则你最终会得到两年前某个实习生随意创建的需求,因为没人记得为什么存在而化石化成了流程。
这是工程层面的范式锁定。曾经有意义的需求钙化为不可挑战的约束。创建它们的人越资深、越聪明,它们就越危险,因为智力赋予了一种不可谬性的光环,在推理过期很久之后仍然存活。思考的意志恰恰就是拒绝接受一个你不理解的需求,即使它来自你尊敬的人。
2. 尝试删除流程的一部分
如果被删除的零件不需要加回去的概率不到10%,说明删得不够多。 — 埃隆·马斯克
偏见永远倾向于添加:“万一我们需要呢,加上这个零件或流程步骤吧。""万一”的论点几乎可以为任何东西辩护。但一枚要成为首个完全可复用运载工具的火箭必须在紧凑的余量下运行,紧凑的余量意味着每个组件都必须证明它存在的正当性,而不仅仅是它可能的用途。
10%规则是诊断标准:如果你从不需要加回之前删掉的东西,说明你删得不够狠。Yegge讲过固定齿轮自行车的故事:有人拿起久经检验的”已解决问题”自行车,移除了某样东西,结果创造了一个新市场。删除不仅仅是节省成本,它是一个设计行为,能产生添加永远不可能产生的东西。约束理论将此框架化为:不在约束处的任何步骤都是移除的候选。OSS破坏手册的指示,增加程序,一个批准能解决的事要求三个,描述的是删除从未发生时会怎样。每一个未被挑战而存活下来的流程步骤,都是破坏者可以利用的步骤。
3. 简化或优化
这是第三步而非第一步的原因是:聪明工程师最常犯的错误是优化一个本不应该存在的东西。 — 埃隆·马斯克
这是大多数工程师当作第一步的步骤,因为教育系统训练他们回答问题,不训练他们质疑问题。跟教授说”你这个问题很蠢”只会得低分。学校系统批量生产出这样的工程师:能在错误的东西上做出绝妙的优化,就是不会问它该不该存在。
专家型初学者是病理性的终点:一个把自己的局部技术优化得如此彻底,以至于质疑它的存在变成了对其身份的攻击。敏捷批判也落在这里:Scrum优化了工单吞吐量而不质疑工单该不该存在。
4. 加速循环时间
你动得太慢了。快起来。但在完成前三步之前不要快起来。 加速一个满是不必要需求和未删除步骤的流程,只会让浪费发生得更快。
米洛准则加上了面向用户的约束:即使优化了工程流程之后,产出也不能超过用户能吸收的速率。加速受限于完整系统中最慢的环节,而这个环节往往根本不是工程。
5. 自动化
自动化是最后一步。最糟糕的失败模式,马斯克承认自己在特斯拉Model 3电池线上亲犯了,就是反着来:自动化、加速、简化、最后才删除。你最终得到的是自动化的复杂性、快速的浪费、以及对本不应该存在的问题的优雅解决方案。
排序原则
层级不是随意的。它遵循一个错误成本梯度:
- 自动化错误的东西把错误锁进了昂贵到难以改变的基础设施
- 加速错误的东西以速度为比例放大浪费
- 优化错误的东西把工程才华消耗在本不应该存在的问题上
- 未能删除保留了随时间复利增长的复杂性
- 未能质疑需求意味着下游的每一步都建在有缺陷的地基上
越往层级上方,每一步的修正成本越低。质疑一个需求花一次对话的成本。拆掉自动化基础设施花几个月。排序的存在是为了最小化犯错的总成本,而你会犯错,因为每个人都有犯错的时候。
低/中/高水平理解
低水平理解:“快速行动打破一切,速度就是一切。”
中等水平理解:“优化效率,衡量一切,改善瓶颈。”
更好的理解:最高杠杆的工程行为不是构建或优化,而是删除,移除不应该存在的需求、流程步骤和组件。 每一个存活下来的不必要元素都是对下游一切的永久税。最好的工程师不是最快的建造者,而是最无情的质疑者。他们产出更少是因为他们删除更多,而系统因此更好。
核心收获
五步算法看似简单到骗人,因为每个工程师都会点头赞同然后立即违反它。违反不是理解的失败而是激励的失败:质疑需求在政治上危险,删除流程让人紧张,简化不产生可见的产出。系统奖励那个对本不应该存在的流程加上一个巧妙优化的工程师,惩罚那个问”我们为什么要做这个”的工程师。
这个算法最终是关于在一个只奖励加法的文化里做减法的勇气。删除一个需求、移除一个流程步骤、简化一个系统的人,产生了不可见的价值,最难邀功的那种,也是最重要的那种。
参考:
- Elon Musk,与 Everyday Astronaut 的访谈,关于SpaceX的设计流程
- Walter Isaacson, Elon Musk (2023)