15 Jun 2021

Business Values: Simplicity

For the longest time, I felt that simplicity was either underrated or entirely unmentioned in business's mission and value statements.

The first person I saw promoting simplicity was Steve Jobs. He was known for meticulously designing and expecting that Apple products be made as simple as humanly possible. However, even after everyone has had an Apple product in their pocket at one point in their life, businesses still find the concept of simplicity to be so elusive or perhaps vague that it somehow fails to considered as an important value.

I would like to take this opportunity to explain conceptually, why I think simplicity should be a value for your business and what a focus on simplicity could result in. 

In the early 2000s, I heard a line from a conference about software development: Simple isn't Easy.  I took that statement to mean that making something complex into something, is hard. You need to take the time and mental effort to make a complex concept into something that is understandable and digestible. 

The result should be that you and others only need to comprehend the essence of the concept and then can competently use it.    

It is a considerable task, but one that moves us forward in our complex world. We need to simplify complexity just so that we can see the way forward. Once the path is clear, things are.. well, simple. And we as humans, like simple.  

In fact, we find a high degree of complexity destructive. The archeologist Joseph Tainter came up with a thesis in his book “the Collapse of Complex Societies”. He argues that societies like the Ancient Romans, Egyptians and Mayans collapsed due to complexities that were not able to be addressed at the time with a lack of people who could be able to read, do math and keep up with complex laws.  

Complex product design can kill too. I recall in University reading about a medical radiation machine that had such a complex array of buttons on its interface that operators gave patients x300 more radiation than was required (the Therac-25 in 1986). 

So what we need to do is remove complexity where we can - certainly not add it - and abstract complexity where we cannot.  

Unfortunately, we sometimes do this process wrong. In that same period in the early 2000s, there was a movement in the software development community that preached 'optimising for developer happiness'.
 
During this time, some innovations came around that abstracted away - a form of simplification - the developer's need to understand what the underlying hardware was doing. This let the industry be able to focus on simplifying concepts in the software layer itself. Developers would only need to focus on recurring patterns that solve familiar business or software requirements and do away with the consideration of how that software would need to eventually run on the hardware.  

While this abstraction and simplification did optimise for developer happiness, the resulting software was not optimised to run on hardware. Some new developers did not even learn how the hardware works “under the hood”. 

This lead to many years of lost productivity fixing (now legacy) applications to work better with hardware. All the while competing with time allocated for higher business priorities to release new product features. 
Fortunately, today - and only recently - software developers are realising that in order to simplify a complex concept, you need to consider all its relevant moving parts. There is a new movement using a new language that is considered to have a 'hardware/software co-design'. It has shown that once you really understand a concept and its scope, you can come up with innovative (“zero cost”) abstractions that make the entire industry move forward.  

Lastly, I won't be able to end this post that started with Steve Jobs without talking about simplifying your focus. Jobs was known to relentlessly discard to-dos and ideas that were not relevant to the most essential and beneficial thing he could do. My understanding is that he practiced this and encouraged his colleagues to as well, until it was painful. Once you and your team are focused on a very narrow and simple outcome, the chances of achieving it increase dramatically. 
So, in conclusion and keeping inline with the theme:
  • Simple isn't easy. 
  • Complexity kills. 
  • Zero cost abstractions. 
  • Simplify your focus.


No comments:

Post a Comment