Some problems require complex solutions. Others don’t. It’s important that you recognize the situation you’re in and find a solution that is as simple as possible. That is, don’t overdesign solutions.
To illustrate, let’s make fun of the French like we’re a Republican running for office in 2003.
Designing solutions, more isn’t necessarily better
Three companies—a German, a Japanese, and a French—are asked to design a new car with four wheels.
The German company rounds up a team of engineers. Working on computers, they first produce a numerical model of the car. From the model, they produce a prototype, test it, and send it to production.
The Japanese company rounds up a team of engineers. Working on computers, they produce a numerical model for the car, bypass the prototype phase, and send it to production.
The French company rounds up a team of mathematicians. Working with pencils and paper—because using computers doesn’t yield elegant solutions—they design a car with n wheels and then take the limiting case where n =4.
The French approach may be useful if the company is going to produce other cars with the same algorithm and different ns. But if they’re not, the approach seems like a lot of additional work for no added benefits.
Structural engineers are quick to point out that anyone can design a bridge that stands up, but it takes a structural engineer to design one that barely stands up. And they have a point: as under design, over design is costly.
Design simple solutions, chances are they’ll get complex on their own
Design specialist Don Norman observes that in many situations, complexity is required; it is complication that is undesirable (he defines “complicated” to mean “confusing”).
So the challenge resides in making complexity uncomplicated. For Norman, the way to do so is to provide a good conceptual model. For me, thinking about my experience managing complex projects, it feels that there’s usually no need to look for complexity—chances are that simple solutions will get complex on their own.
Einstein famously said that “everything should be made as simple as possible, but not simpler,” which is in line with Occam’s razor. So, on that spectrum, I’d rather be closer to the “oversimple” side than to the “over designed” side, especially if my project allows me to iterate and add features in later releases.
But what do I know? After all, I’m French. Now, where’s my pencil?
Norman, D. A. (2013). The design of everyday things, Basic books. [p. 247]