03/02/2017 10:01 GMT | Updated 04/02/2018 05:12 GMT

Complexity Is The Enemy Of Clarity


Image via Shutterstock

Einstein once said that "Everything should be made as simple as possible, but no simpler." It's a spin on the idea of a 13th century Friar, William of Ockham, who wrote about the concept of "Occam's Razor." In other words, among competing hypotheses, the one with the fewest assumptions should be selected.

The dichotomy of increasing complexity in modern enterprise technology is a desire for things that are straightforward and easy to use while keeping a competitive advantage. Complexity allows for greater customization. It enables companies to compete based on obfuscation of the underlying methods, architecture, and tactics. By choosing a platform that allows for many various levels of customization, the hope is that companies will be able to compete based on a unique capability that others can't replicate easily, be it an algorithm or some other technical advantage, but at the cost of speed, security and easy management.

In nature complexity isn't the enemy of life, it very well might be the very reason we exist today. Yet even in life, complex doesn't necessarily mean better and being the most elaborate doesn't mean the best will survive. Whether complex or simple, there needs to be a purpose for it.

"Evolution only leads to increases in complexity when complexity is beneficial to survival and reproduction. Indeed, simplicity has its perks: the more simple you are, the faster you can reproduce, and thus the more offspring you can have. Many bacteria live happy simple lives, produce billions of offspring, and continue to thrive, representatives of lineages that have survived billions of years" writes Christie Wilcox, a postdoctoral researcher in cellular and molecular biology at the University of Hawaii.

But can we apply the rules of nature and complexity to technology?

Ben Kepes, a New Zealand-based technology analyst, says "complexity gets software closer to a perfect fit for a particular enterprise but at the expense of agility. Sometimes an 80% solution that gets delivered is better than a 100% one that sits in the cue forever."

On the other side of the argument is the idea of simplicity with a focus on speed, performance, and agility using a "Lean" methodology. The idea of building a lean process focuses on the elimination of "waste" within a system. Concentrate on the things that matter, remove the things that don't. A Lean approach places a particular emphasis on "value" or any element or process that a customer would be willing to pay for. Essentially, lean methods center on making visible what adds value by reducing everything else.

"For year orgs have struggled to rationalize [software] choice between best-of-breed function vs KiSS. Custom [modification] won, complexity rules & kills," says Dave Vellante, CEO of Silicon Angle.

The reality within modern enterprise technology today is complexity is a fact of life.

"While it is traditional for IT to believe that complexity is "bad," complexity is simply a fact. The only issue is how you address that. Reductionist thinking has its place in individual business functions, but not when it comes to automating the business as a whole. IT needs to apply systems thinking and design principles to IT planning, architecture, development, operations and other practices." says James Urquhart, a Silicon Valley-based thought leader.

In that complexity is a fact for modern businesses, addressing this complexity is a fundamental challenge. The first step may just be admitting it exists and taking action to minimize it.

Donnie Berkholz, a Research Director for the 451 Group, says "The biggest problem with software complexity is not its existence because it's inevitable, but when it's unknown or unacknowledged.

In Einstein's quest for simplicity, he may have unknowingly addressed one of the key issues in modern enterprise technology. Getting rid of the head of a hammer will make the hammer simpler, but also too simple to use. Much like nature, the answer may very well lie in embracing complexity, but only when and if it's necessary and for the hope of finding clarity.

I would love to hear your thoughts in comments below or on twitter.