The Algorithm
10 November 2023
In the Elon Musk biography by Walter Isaacson, there’s a section (titled ‘The Algorithm’) which documents the lessons Musk learned during Tesla production surges.
These lessons are transferable to enterprise software development, so I’m documenting them here for future reference:
- Question every requirement. Each should come with the name of the person who made it. You should never accept that a requirement came from a department, such as from “the legal department” or “the safety department.” You need to know the name of the real person who made that requirement. Then you should question it, no matter how smart that person is. Requirements from smart people are the most dangerous, because people are less likely to question them. Always do so, even if the requirement came from me. Then make the requirements less dumb.
- Delete any part or process you can. You may have to add them back later. In fact, if you do not end up adding back at least 10% of them, then you didn’t delete enough.
- Simplify and optimize. This should come after step two. A common mistake is to simplify and optimize a part or a process that should not exist.
- Accelerate cycle time. Every process can be speeded up. But only do this after you have followed the first three steps. In the Tesla factory, I mistakenly spent a lot of time accelerating processes that I later realized should have been deleted.
- Automate. That comes last. The big mistake in Nevada and at Fremont was that I began by trying to automate every step. We should have waited until all the requirements had been questioned, parts and processes deleted, and the bugs were shaken out.
Additional quotes:
-
All technical managers must have hands-on experience. For example, managers of software teams must spend at least 20% of their time coding. Solar roof managers must spend time on the roofs doing installations. Otherwise, they are like a cavalry leader who can’t ride a horse or a general who can’t use a sword.
-
Comradery is dangerous. It makes it hard for people to challenge each other’s work. There is a tendency to not want to throw a colleague under the bus. That needs to be avoided.
-
It’s OK to be wrong. Just don’t be confident and wrong.
-
Never ask your troops to do something you’re not willing to do.
-
When hiring, look for people with the right attitude. Skills can be taught. Attitude changes require a brain transplant.
-
A maniacal sense of urgency is our operating principle.
-
The only rules are the ones dictated by the laws of physics. Everything else is a recommendation.