Elon Musk's Engineering Philosophy
Whilst giving Tim Dodd a tour of a SpaceX facility, Musk described an interesting five-step engineering process:
Make the requirements less dumb.
- The requirements are definitely dumb; it does not matter who gave them to you.
- Requirements are particularly dangerous if an intelligent person created them, because you may not question them enough.
- "Everyone’s wrong. No matter who you are, everyone is wrong some of the time."
- "All designs are wrong, it’s just a matter of how wrong."
Try very hard to delete the process or the component.
- If parts are not being added back into the design at least 10% of the time, not enough parts are being deleted.
- Musk noted that the bias tends to be very strongly toward “let’s add this part or process step in case we need it.”
- Each requirement must come from a name, not a department.
- A department cannot be asked why a requirement exists, but a person can.
Simplify and optimize the design. Remove stuff.
- The most common error for a smart engineer is to optimize something that should not exist.
Accelerate cycle time.
- "You’re moving too slowly, go faster! But don’t go faster until you've worked on the other three things first.”
Automate.
- An important part of this is to remove in-process testing after the problems have been diagnosed;
- If a product is reaching the end of a production line with a high acceptance rate, there is no need for in-process testing.