Designing against complexity

The first line of defense to solve a complex problem is to avoid complexity all together

Design against complexity cover img

Designers struggle to deal with complexity. Designers have a bias; they look at every problem as one that could be solved by studying the user. Tools like personas, empathy mapping, or journey mapping do little to uncover the systemic forces that cause people’s problems.

Don Norman and Michael Meyer have argued that Designers are being asked to work on more complex problems, but we aren’t equipped to do a good job. We aren’t doing a good job because designers aren’t equipped to look at the world through the systems thinking lens that’s needed to solve those problems.

I agree with both Don Norman and Michael Meyer that systems thinking is needed to solve the big complex “wicked” problems we face, taking a systems approach is hardly ever feasible. The effort and skill required to solve “wicked” problems using systems thinking are way too high for designers and organizations. Very few designers are equipped with systems dynamics or systems thinking. Very few organizations have the appetite for giving resources for this type of research and even less appetite to implement the potential changes.

But Designers have complex problems to solve today. What can they do? The first line of defense against complex problems is to design against complexity.

Before I get into what “designing against complexity” means, let’s very quickly talk about complexity.

Tim Sullivan explains complexity has having 3 main characteristics. First elements in a complex systems behavior change over time, second, elements interact with one another and finally, when elements interact they create an outcome thats greater than the sum of its parts. For example, in nature, nothing about hydrogen and oxygen separately tell you that together they make water. Nothing about one ant would tell you that together they could make an ant colony. This creation of something new is called emergence.

Emergence and complexity leads to non-obvious and unpredictable outcomes. The large set of interactions between more than one element creates non-obvious and unpredictable results. For products or services, this often means huge overhead costs to manage the unpredictability that emerges.

What does “design against complexity” mean? Let me explain with a quick story.

Michigan vs Ohio Plant

Clayton Christensen tell a case study about two factories that manufactured the same car axle (a car part that connects two wheels); except one did it at one-third of the cost.

The Michigan plant, the less efficient factory of the two, was known for being able to build any type of axle but also known for producing car axles at a very high cost. Creating a single axle means hiring engineers to design a process so an axle can be created. First, you might have to cut the steel, heat it in a furnace to shape it, cool it by putting that steel and water, take it to be assembled, and so on.

To become capable of manufacturing hundreds of types of car axles meant designing a new process for each axle, even if the axles are only slightly different.

The Michigan plant accumulated hundreds of unique axle orders meaning they had accumulated hundreds of unique pathways to complete each type of car axle. What started becoming apparent to the Michigan plant was that the cost of producing car axles started soaring, and the complexity was getting hard to handle.

Michigan plant production floor flowchart
A very simplistic model of what the production floor could have looked like

It turns out that every time they doubled the number of new paths to create an axle in the plant, their overhead grew by 30%. All said and done; for every $1.00 spent on direct costs, the Michigan plant had to spend $6.20 on overhead.

But why was the overhead so much? It has to do with the unpredictable ways each process influenced each other. It was often looked like unexpected production issues, unexpected administrative work to accommodate for new machinery, scheduling machines for each process, administrative work to keep track of every concurrent process in a production floor, hiring and training new people for new machinery, and so-on and so-on.

Every new production process found ways to influence each other in non-obvious and unpredictable ways. To handle this complexity, the plant had to spend on overhead to be able to support and react.

The Ohio plant produces axles at 1/3 the price, 66% cheaper than the Michigan plant. Ohio figured that if they could take one of those pathways from the Michigan plant, like this one in red…

Michigan plant production floor flowchart

… and just stretch it out like a string; they could be ultra-efficient. They would only be capable of making a couple of types of axles in that factory, but they could make them dirt cheap.

Ohio plant production floor shown as a linear process

They could avoid many of the Michigan plant’s overhead costs by narrowing their focus to a smaller part of the process and cutting off most of the interactions that influenced each other.

The secret sauce was setting up walls and cutting ties with the interactions that could be in play. Rather than trying to manage all the possible ways those interactions could play out and then trying to manage all the possible effects they might have.

But what if they wanted to create another type of axle? Do they create another pathway of production like the Michigan plant? Nope, instead, they’d set up a whole new factory that’s completely separate and design a production process specifically for that axle type. This way, they stay away from the complexity and interdependence that caused the Michigan plant problems in the first place.

Ohio plant and other factories production floor shown as two linear processes

Complexity and interdependencies brings unpredictability and volatility. Trying to make something complex to do what you want is often far too difficult and unreliable over time.

Designing against complexity means that your first line of defense against solving complex problems is working to avoid it complexity together, just like the Ohio plant did.

Designing against complexity is about cutting off as many interdependencies and influences as possible and narrowing your focus on a smaller set of capabilities, so you can avoid overhead, inefficiencies, and unintended consequences.

Leave a comment

Your email address will not be published.