“Out of intense complexities, intense simplicities emerge” – Winston Churchill
The Oxford Dictionary defines complexity as the state or quality of being intricate or complicated.
Much like cliche high school valedictorians, I’ve found that the best way to understand the nuance around this point is to start with the dictionary definition. There is an understanding in the English language, and by extension, our subconscious about what complexity is. This understanding is wrong.
Complexity’s Definition
Complexity (Complex Systems) defines a situation where different elements interact with each other and the situation itself. These systems are defined by the fact that interactions between multiple different elements often become too difficult to easily understand. Let’s do a definition by example. These are some examples of Simple vs Complex systems
- Traffic Light Systems vs Traffic Flows: A traffic light system is often simply based around a timer, with more complicated ones involving a weight sensor and pedestrian buttons. Regardless, you can easily predict what will happen to a traffic system when a button is pressed or what color comes after yellow. However, it’s impossible to perfectly predict how many cars will pass in an hour. There might be an accident that slows cars, some kid in a manual Subaru can stall in the center of an intersection. These interactions between each car results in unexpected outcomes
- The force required to break a wine glass vs Where glass shards end up after breaking: You can easily measure the force required to break a wine glass since it’s an interaction between a hammer and glass. The glass shard will however scatter unpredictably since they will bounce off each other in ways that are impossible to predict
- Building a mobile app vs Predicting Changes in User Behavior: There are millions of apps available for download on app stores. There are entire companies dedicated to building mobile apps for clients. A mobile app can exist in a few hours, but there’s no way to predict how that app will impact user’s behavior. How many users will switch over to the app? Will the app be on top lists in the app store? Will users do the same things they did on their computer? How will that impact revenue? Will users benefit from the network effects of the app? These are all questions that can’t be answered easily.
Complex vs Complicated
Going back to our definition, I want to highlight how not all complicated things are complex. A classic example is a fighter jet, with its console being incredibly difficult to understand. But each lever, button, and switch does one thing and are designed not to interact with each other. The Jet Fighter’s console is complicated but not complex.
On the flip side, a go-kart is an uncomplicated machine, with two pedals and a steering wheel, but driving the go-kart is complex. You have to constantly adjust the wheel, brake, and pedal based on the track and other drivers. The interactions between each element mean that it’s impossible to predict and plan each action that needs to be made at the start of the race.
This summarizes the core issue when conflating complex vs complicated, you cannot plan for a complex system, but it’s very easy to plan a complicated system. Building a mobile app is complicated, you have to understand the deep nuances of programming and design. Regardless, you know you have to do certain steps(design, code, submit), and at the end of it, you’ll have a working app. But there’s no checklist to making a viral app.
Corporate America is very good at managing the complicated. We have Gantt charts, Program Managers, and Jira backlogs. All tools are designed to help us predict and plan for what needs to happen so that we can deliver on time. This is likely a holdover from MBA students learning a curriculum designed around managing factories. But we cannot enforce backlog grooming on complex systems by their very nature. No professor at Stanford is given a Gantt chart to discover a cure for cancer.
Bill Ackman’s short on Herbalife involved complicated research and Excel modeling to predict the true value of the stock. This was not a complex system. You know what each Excel cell does and how it’ll impact the results. The complex system of the stock market unfortunately had interactions that made it difficult to predict. Carl Icahn’s personal grudge led to him making an investment and advocating for the company leading to a rally that Ackman’s models didn’t account for.
When people try to impose rules designed for complicated systems on complex systems they break down. We can have checklists for building a Jet Engine, but any checklist for achieving product-market fit is so generic to the point it’s useless. It is vital for businesses to understand the difference between complex vs complicated to succeed in complex environments.
Simple Complexity
The ironic takeaway is that simplicity is truly the best way to manage complexity. Rather than complicated tools, boil down the complex task into straightforward instructions and tasks. Let’s go back to the go-kart example, it would be insane to give someone a checklist containing the degree of wheel and the pressure of pedals for every position on the track. Instead, you can tell a small child the basic instructions around pedals and wheels and have them get to the end.
It’s counterintuitive to understand, but it’s true. As an engineer, I’ve had infinitely more success building what the customer asks for than trying to imagine and build a grand vision. Investors that rely on customer feedback are vastly more successful than ones that rely on experts and financials. Listening to a Telsa stockholder or Bitcoin investor will tell you more about the state of these assets than any financial pundit. Lifestyle habits and your friend group can more accurately predict diet success than any meal plan you design. Bids for attention can more accurately predict marriage success than the most stringent Hinge filters.
You’re likely dealing with a complex problem right now. Something that involves interactions between multiple different elements (likely humans). Don’t try to manage the complexity. Take a step back and ask (Note how profoundly generic this checklist is):
- What are the instructions for the elements?
- What are the interactions in the system?
Let’s build a mobile app:
- Find out what your user wants to do and let them do that on a phone
This is such generic and simple advice putting it in a checklist will get you laughed out of any program manager office. But it’s the truth. Anything else doesn’t matter. Follow this advice. You’ll get to the result. Just like a kid driving a go-kart; you’ll turn where you need to turn. You’ll know how fast you can you go on the straights. You’ll learn to brake at the best time to avoid other karts. You’ll get better over time. You’ll have smart mentors who have lessons on drifting. You’ll use science to help you come up with better go-kart engines. But not one person will give you a checklist on how to win a race.
Leave a comment