When “simple” things aren’t.

Thread Starter


Joined Jan 27, 2019
People (here and everywhere) often demand a “simple” solution. The trouble is, simple solutions to complex problems are… complicated, by nature.

There is no meaning to “simple“ divorced from context. Sometimes, an error results from the very fact that they don’t have the capacity to solve the problem themselves. Not being aware of the underlying complexities, they judge what is ”simple” from what they can see. This suffers from both temporal blindness, the inability to predict the evolution of the relationship between problem and solution; and spatial blindness, the inability to see beyond a false horizon in the problem space whose distance is inversely proportional to their ignorance of the subject.

Simple solutions must be appropriately complex, they can only be as simple as the problem and no more. A solution “simpler” than the problem is one that lacks necessary parts to solve it. This being the case, bolted-on workarounds soon begin to weigh the ”simple“ solution down until it is far more complex, and fair less capable than the “complicated” solution that was initially suggested. Often, after much costly revision, that “simple“ solution turns out not to work at all.

Before you judge what is simple, be sure you know what it will have to do. Strive to make things as simple as they can be is a good thing, and can help a great deal to ensure something is sustainable and scalable. Making thing simpler than this is a tarpit that will drag a project down and smother it. This is why “simplicity” should not be a pivot point, rather it should be an optimization parameter. When in doubt, leave some complexity in so you can avoid the pain caused by premature optimization.