The Complexity Trap

Eric Stromberg
Inflection Points
Published in
4 min readDec 27, 2016
Building a company is not a theoretical exercise

When you first start a company, everything is simple. The team is small and communication is easy. The core product designs fit on a handful of screens. Third-party API integrations and services are minimal. Your partnership contracts haven’t gone through any redlines.

As you scale the business, plan meets reality. Sales grow, the team grows, expectations grow — and complexity enters. When you are a larger company, the cost of complexity and value of simplicity becomes clear. Simplicity is a key advantage that allows the team to communicate better, iterate faster, and outpace competition.

But you aren’t there yet. It’s early and minimizing complexity is far down your list of priorities. Instead, you optimize for precision by introducing complexity to each part of the business. The tradeoff between complexity and precision makes sense: as you add additional rules to a function, it becomes more complex and more precise. This feels like a smart tradeoff because you want don’t want to shortchange your startup in any way.

That’s when you fall for the complexity trap.

Below are a few examples of this trap at work for an early-stage company:

1. Company Metrics

The calculation of core company metrics like customer churn, lifetime value, and customer acquisition cost can be as simple or complex as you want. If you want to be really bored, we can talk about a 10-step process for calculating churn that is marginally more accurate than looking at subscribers who left in a period and dividing it by starting subscribers. There is a time for this precision, but it’s not early in the life of the company if it means sacrificing simplicity.

The cost of complexity in tracking company metrics is real. The downside is that not everyone in the organization truly understands how a metric is calculated, so they recreate it wrong, leading to different outputs. And this is a much worse outcome than an output that is marginally imperfect.

When I was first implementing our metrics tracking at Oyster, I sat down with a veteran of a very successful e-commerce business to learn. I thought I was pretty smart when I asked if we should be discounting our lifetime value calculations to the present. He laughed at me. Even at the scale they were operating, the marginal value of greater precision was not worth the complexity it introduced.

It turns out, Warren Buffett agrees. Investment banking 101 teaches you that you must discount cash flows to the present to drive a valuation. However, when asked about discounting cash flows to present, Warren Buffett says he doesn’t do it because “If (the value of the company) doesn’t scream out to you, it’s too close.”

2. Partnership Deals

When working on a new partnership, the desire for precision at the sake of simplicity can creep in as each side maneuvers to define exactly what they want. Inventing smart new terms neither side has seen before, and over-optimizing contract definitions can feel like the right move.

However, especially if you are working on partnership deals with big companies, complexity is your enemy. While the principal negotiators might understand the new terms and definitions, big companies can require explicit sign-off from 10+ people, and implicit sign-off from many more. Your contact at the big company might perfectly understand the nuance of every item, but how about their boss? Or their boss’ boss? Or their cross-functional counterpart?

Complexity makes the game of telephone difficult to navigate, with each person who is another degree removed not really understanding why a term is the way it is. This makes it harder for people to internally champion the deal, stalling things out or stopping the conversations entirely.

3. Product Edge Cases

Worrying about small edge cases is generally not a good idea for a very early stage software company. An edge case is one that only impacts a small fraction of the customer base. While it makes the end output (the software) more precise in its function, it introduces complexity to the codebase and product scope. Engineers must maintain these edge cases, and product managers must understand all of them going forward.

Again, there is a time for ironing these out, but it is not early in the company life before product/market fit when iteration is the highest.

Falling for the complexity trap overcomplicates the business as you try to scale. Small complexities compound with growth, and lead to technical, organizational, and product debt that the company must pay down.

The natural process of scaling a company will introduce enough complexity, so anchoring on minimizing it early on will pay dividends down the line. You want to confine complexity to the core areas you are innovating, and remove it from most other areas.

The difficult role of the founder is to determine when precision can be sacrificed in the name of simplicity, and when it cannot. But when in doubt, take the route that minimizes complexity.

If you enjoyed this post, you can follow me on Twitter for updates.

--

--