The ability to solve complex problems will always be desired and sought after. Problem-solving can differ from industry to industry, and many different methods and techniques can work as guiding principles. Complex problem-solving is a broad subject, and it is challenging to sum it up in a single article. Instead, this is an introduction to a potential mindset and way of thinking when addressing more complex problems.
Before we begin, we need to define the difference between a simple and a complex problem. You could say a complex problem, in general, has a large number of items and decisions involved, with more considerations and constraints and potentially multiple possible solutions. There is no clear line when a simple problem becomes a complex problem. But as most people understand, there is a difference between figuring out what to eat for dinner and solving how to build a better rocket engine.
Identifying the problem
Most problem-solving starts by identifying the main problem. That is followed by also asking why and how this is a problem. At this stage, it is paramount to investigate if the perceived problem is the real problem or is it just a symptom of another underlying problem? Are we sure the actual problem is identified?
It cannot be stressed enough how vital this stage is. Spending large amounts of time and money solving something that turns out was not the actual problem is something we want to avoid at all costs.
Once the actual problem is identified, we research how many layers (more about layers below) are involved. We then decide what layer, or layers, makes the most sense to find a solution.
Innovation often (but not always) requires thinking and understanding of the subject on a deeper level. The main component is to figure out the layers involved (the underlying layered architecture) and to think about where it will make the most sense to innovate or improve something based on the challenge. In computer science, it is called abstraction layers. In other industries, it can be called layers, hierarchy, architecture, or levels.
Depending on resources, time, and knowledge, there will always be limitations on which abstraction level and how you will approach and solve the problem.
Let’s use a computer as an example. Depending on the problem addressed, there will be several abstraction layers ranging from the atoms to the metal, the transistors, logic gates, functional units, processing elements, instruction sets, etc.
Another example is if you want to make a car go faster. You can do this by working on several layers. You can improve the engine and the transmission. You can also work on the aerodynamic design of the car’s body, the wheels, and manufacture lighter materials.
Thinking in layers is necessary to complex problem-solving because it’s vital to know where to find a solution. The solution can sometimes be working on several different layers simultaneously.
Once presented with a clearly defined problem, and after identifying the layers involved, there are often obvious solutions. But these obvious solutions are not always ideal when taking all other factors into account.
The real challenge is usually the strict guidelines and set variables you have to navigate. Some of the most common variables are time frames and a budget. There will usually be more external factors, considerations, and constraints, such as available technology and physical reality.
How does this work in real life?
Theoretical models and frameworks are fun, but what does all this mean in practice? Let’s use an example where a city wants the commuters to travel faster between two destinations (in this example, the commuters are all traveling by bus).
Some people would start to think about making the bus go faster. That approach would take us into the task of figuring out how a bus works. We would need expertise on the architecture of a bus and how to make it go faster. It would involve everything, from the materials to the engine, transmission, aerodynamics, and other complex layers.
Another option is to start asking ourselves, what really matters in this scenario? What is the core problem? The core problem is that people don’t travel fast enough between the destinations. We can then ask ourselves, does it matter how they get transported? What external factors can influence the time it takes to arrive faster? Could the process of entering and leaving the bus take too much time, and could the stops be a big part of the problem? What if the actual route is the problem because of traffic jams and busy roads? What if it would be more cost-efficient to replace the buses with something else, instead of making the bus go faster and the traffic situation? Maybe we need a tunnel or a bridge?
As you can see, what may at first sound like a not too complex problem, suddenly can offer an endless amount of suggestions and possible solutions. And for each potential solution, you have a new set of layers, variables, and considerations.
Narrowing down the potential solutions
It can seem overwhelming, especially if you’re good at finding different solutions to the same problem. But usually, most problems don’t present themselves with an endless amount of solutions. As a matter of fact, you’re in a good position if you can find a wide range of realistic and viable solutions to a complex problem. It’s also important to remember that many complex problems are specific and have a lot of constraints that will make most theoretical solutions redundant.
But how do we eliminate some of the solutions if we managed to come up with several options, and how do we structure everything? We do this by using the core problem, layers, and variables, as we discussed earlier. A possible solution will almost always be defined by these restrictions.
- If you have identified the actual problem and not just symptoms, you will have a good starting point. You should also ask yourself, who is the client, and what is their primary need? If the bus company is the client, the focus would probably be on the bus and associated solutions. We would make sure the company keeps the business. But if the client was the city, you could potentially have more leeway and look at solutions beyond the bus company. The main question is; what solution is solving the core problem in the most efficient way (on budget and within the time frame)?
- What layers do we have the capacity to work on, and what can and can’t we control? Do we have the capacity to work on an atomic level, or will we (most likely) find a solution on another layer? In reality, most people will be constrained by budget, expertise, and time.
- What variables do we have to consider? What is the exact time frame? What is the budget? What available technology do we have at our disposal? What other constraints and considerations do we have to factor in?
These factors are what most people will struggle with when faced with complex problem-solving. It will also serve as an effective way of eliminating a lot of potential solutions. It may sound, bad but it will probably speed up the problem-solving process. You can stop focusing on the areas that won’t be realistically viable (based on time, budget, expertise, and other constraints).
This is all great, but how do I actually solve a complex problem?
A common question is: how do I get better at solving complex problems in general? This question implies there is some secret code or that your brain must be hardwired in a certain way to solve complex problems. The answer to this simple question is very complex.
The obvious answer is that you need an understanding and knowledge of the industry and the subject. If you don’t understand mathematics, you will not solve an advanced math problem. If you’re not an engineer, you will probably not solve a complex engineering problem.
However, even if this is a general rule, it’s not the whole truth. For advanced technical problems, you will often need an expert from the relevant industry. But not all complex problems are technically specific by nature. Teams often work cross-disciplinary because sometimes people from other disciplines can look at the issues in another industry with fresh eyes and from another perspective.
An example of this is the legendary hedge fund managing firm Renaissance Technologies. Their Medallion fund is known for the best record in investing history. One would think that the firm only employs stock market analytics and veteran Wall Street traders. But instead, they focus on hiring physicists, mathematicians, astronomers, and computer scientists for their quant trading and experimental methods.
The ability to solve complex problems involves many different factors, such as education, experience, creativity, and curiosity. It’s also a bonus if you manage both linear and nonlinear thinking. The good thing is that this can be practiced and improved. The more you work with problem-solving, the better you will usually become.
If you’re reading this article, you’re probably really interested in different methods and strategies to solve problems and everything surrounding it. There’s a ton of literature and articles on this subject, and I suggest you take a look at the following concepts, methods, and strategies:
Sakichi Toyoda – Five Whys
Ishikawa – Fishbone Diagram
Toyota – A3 Problem Solving
The 8 Ps
The Seven Basic Tools of Quality
Eight Disciplines Problem Solving
How to Solve It
RPR Problem Diagnosis
Method of Focal Objects