
Simplicity means shifting complexity
I recently thought a lot about simplicity and complexity. And I came to the conclusion, that simplicity is often only possible when you shift complexity. The complexity doesn’t go away. Setting boundaries reduces complexity, but someone has to set these boundaries. Sometimes the shift is from many to few, sometimes from few to many. Let me explain my thought.
Let’s start with a wood working example. When you want to join two pieces of wood at a corner of any kind of box (most things in carpentry are variations of boxes), you have a ton of options. One of the options with the most split opinions in the wood working community is the Festool Domino. The split opinion is most probably based on the high price. It is a machine to create so called loose mortise and tenon joints. Something you can also cut by hand. Cutting mortise and tenon by hand is a tedious process and prone to failure. On the other hand, cutting them by hand also leaves lot of options for variations and adjustments. Through tenons, split tenons, and I don’t even know the names of all of them. The Domino cuts one variant. It does it precise and repeatable. The machine is not a trivial piece. It is an elegant yet complex solution. You can understand that, when you compare the attempts to build one yourself, or look at the different options that lately become available to achieve similar results on a budget price.
It is easy to use for a wood worker. To make joints in a simple way, you use something more complex. Or you use simpler tools, like a saw and chisels and you have to learn and practice making proper joinery. And the same is true for most of the machines that mankind invented. To make something simpler, you need to create and/or use something more complex.
Let’s look at another aspect in life. Going grocery shopping. I’m comparing Aldi with any big super market. It used to be even extremer, but Aldi increased their available options lately. Let’s choose the example of plain flour or pickled cucumbers. Aldi used to have one brand for plain wheat flour. There was one brand and two or three options for pickled cucumbers. When I go to the supermarket around the corner, I have the option between 6-8 brands for plain flour, and a shelf with 5-6 levels and about 10 meters long with different brands and types of pickled cucumbers.
Buying flour and pickles at Aldi is simple. I take this pack of flour and my favorite kind of the three pickled cucumbers. Done. At the big store, if I don’t have a clear favorite, I have to compare prices and brands and types, and what not. This takes time.
The complexity shifted to the person responsible for buying the products for Aldi. Which manufacturer is good, which product do most people want, who can deliver it for the best price. At the big super market, it feels like they buy just everything that is available on the market. Of course there is complexity connected here as well, getting the best prices, understanding how much of which brand is needed etc. That’s how each boundary is set. Aldi sets a narrow boundary, which makes for a simple choice. Buy this product or none. At the supermarket the boundary is much wider with lots more choices.
Take operating systems of the late 90s and early 00s. You had Linux systems where you needed to compile your own kernel to activate exactly what you needed and you got the best performance for your needs. (I know you can still do that.) Setting up a Linux system in the 90s was a pain. On the other hand, Windows. One size fits all, it kind of works, you have limited options to configure the system. You have to operate within stricter boundaries. Someone at Microsoft made the choices for you. With the amount of combinations of available hardware elements, it’s still closer to a wonder that this thing actually worked most of the time.
The same with iOS and Android. Especially at the beginning. iOS gave you a few options and basically it worked. Android gave you lots of freedom and options to set. That overwhelmed lots of people. These days it feels a lot closer. iOS widened their boundaries, while Android implemented ways to narrow them down. Both providing more or less back doors to move the boundaries.
Processes can set strict boundaries or very loose ones. We would call one with strict boundaries a complex process and one with less boundaries a simpler process. Yet the opposite might be the case, depending on the perspective. A simpler process means that you leave the option how to achieve a process step or get to the next process step to the process user. And here it depends on the needs, the skills, the motivations behind the process. What do I want to achieve and who is available.
A bureaucratic process at the city council. Strict rules to follow. Nobody likes these processes anyway, nobody has enough knowledge to understand the what and why. So it is easier to explain it step by step to allow less wiggle room and less room for errors in the sense that a good result can be achieved. Coming back to yesterday’s post, not even Shu (“Follow the rules”) is required to follow this process.
A process with less boundaries and more freedom means that the process users have to have more knowledge and skills and understand why and what is needed to come to the best result given the circumstances. These users need to have reached Shu to deliver good results. While the process looks simpler – less steps and rules – it shifted the complexity to the user of the process to know all the details.
While I could give you some work related examples, I stay at something more people will understand. Cooking! A recipe is nothing more than a process description. There are recipes or recipe books which explain you every step, every detail, and link basic techniques to other chapters, so that you can follow a precise recipe and get a good result. Writing a recipe like that is a lot of development work and very complex, but simple to follow. And then there are recipes like those from grandmas and mothers, which is a title and a list of ingredients. Of course with no measurements. That is something where you need to have reached at least the state of Ha (“Break the rules”) to get any edible output. Or a phone call to grandma – if possible – to ask for help.
The less boundaries you provide the more complexity shifts to someone else in the system to make the right things. The more boundaries and rules you set the simpler it is to follow, yet people will miss the freedom. It all comes down to the Goldilock Zone where things are just right. And they never will be right for all. There’s always someone who wants a different type of pickled cucumber, or knows better how to perform process step A.