Most businesses do not need an Einstein. Yet, too many people try to look like one.
The biggest threat to technology is its complexity. Complexity leads to lack of insight. To the inability for decision makers to make the right choices. Complexity leads to systems of bad quality. Complexity is something worth to avoid. But somehow, reducing complexity has become a complex task itself.
# Why is everything so complex?
Most problems can be solved using simple solutions. Most solutions are as trivial as pressing the right button. Unfortunately, coming up with simple solution is rarely well rewarded. Clients would reply that they themselves would have come up with the solution. They would thank you for delivering the solution and pay the hourly rate for the hours worked. End of job.
In contrast, many look up to experts who produce complex deliverables. Like we have accepted that our fathers and grand fathers do not understand how to use computers, many have accepted that hired experts do things they can never understand. "We only care about the functionality", they exclaim. How short-sighted! Without insight in the maintainability, stability, and interoperability there is no insight in risks the business is facing. Decision makers should invest either in understanding the system its complexity, or better in trying to simplify the system itself.
They try to show off with large software architecture diagrams or large flowcharts.
Experts however, have intrinsic motivation to create overly complex solutions. Many experts want to proof their fitness for the job. They try to show off with large software architecture diagrams or large flowcharts. If you ask them questions about the complexity of the result they would laugh and explain that it is all "very technical". Einstein would smile back and reply to these smarties: "If you can't explain it simply, you don't understand it well enough.".
Another reason for complexity is lack of collaboration. Decision makers tend to believe that getting the big picture forms a solid foundation for making good choices on their own. This is a wrong assumption. Details do matter. A rusty screw is a detail, but airplanes crash because of it. Decision making without insight in the technical limitations inevitably leads to implementers not being able to fulfill the request, or to overly complex systems. This can be easily prevented by not making decisions without asking technicians for advise.
# Can we make it simple?
There is a theory that states that innovation decreases the complexity of a system. Once, a group of airplane engineers tried to solve the problem of transporting frozen goods. They soon realized that traditional freezers where too heavy for airplanes. They could have tried to develop new techniques in order to decrease the weight. Instead, they realized that the high-altitude temperature is so low that a freezer is not really needed. They found out that the ideal freezer was having no freezer at all! A focus on innovation leads to doing things more simply.
Innovation decreases the complexity of a system.
What also helps in pursuing simplicity is a famous principle from the Unix Philosophy: build programs that do one thing and do it well.
Today we have something that is called "enterprise software". It sounds like something awesome, but all too often, this term is used to masquerade overly complex software products. Delay and cost overrun are inherent part of most implementation trajectories. We would not have this problem if we choose to use products which we are able to understand. Remember that ideal solutions are simple. Not complex.
However, the fact that focusing on simplicity does not pay off is what is holding us back most.
If an employee finds an innovative way to simplify his tasks, he risks getting fired because he now only works half of the time. We confuse intelligence with laziness if we do not accept co-workers to leave work early because of finishing a task quicker. If a consultant advises a company to simplify processes in order to limit project duration, he risks making himself redundant. There are many incentives for making people act like they are busy, while incentives for simplifying work are scarce.
# Complexity is not a necessity!
Since a long time we know that simplicity is critical for delivering reliable business value. Yet, I see many organizations who do not even understand their own systems.
My job is to help organizations to get insight and to put them back in control.
In projects I have participated in, I have learned that its success largely depends on the organizations willingness to understand complexity.
Success is hardly achieved if formal drivers like meeting compliance requirements and cost reduction are the only driving forces. A critical success factor is the enthusiastic cooperation of internal employees. Simplicity is achieved best when a team of people is truly interested in designing durable solutions that are fun to work with.
Technology has become complex. But we should not accept the status quo. Instead we should work towards simpler solutions. Complexity is not a necessity.
Today I heard from an initiative from Amazon, Google, Facebook, IBM, and Microsoft to advance public understanding of artificial intelligence technologies. A laudable initiative! Let us embrace such initiatives and work together in understanding complexity and increasing simplicity!