Simplifying Product Complexity

Over the last decade, I have been involved in building hundreds of features. Sometimes to add customer value. At other times to improve internal efficiencies. And many other reasons. The challenge has always been simplifying the solution. It is to find the sweet spot between the complexity of the build vs likelihood of risk or reward.

I started off loving the complex solutions. But have wisened up since then. Here’s how I approach this today.

Start with the problem. Think about the ideal solution that solves the problem completely for your customers. This is likely going to be complex and convoluted to build. (Which means you’ll be slower to market and, hence, slower is validating your hypotheses behind solving the problem in the first place.)

Now evaluate the impact of solving the problem. What’s the outcome going to be? For your customer. For you. What’s the likelihood of that outcome?

Now take a step back and question the solution. Does it need to be as complex? How much can you remove and reduce without reducing the benefits so much that the outcome is no longer useful — for your customers and/or for you?

This step is recursive as you keep simplifying. Where you stop is determined by when:

  1. The outcome is likely to be no longer useful for your customers.
  2. The outcome is likely to be no longer useful for you.
  3. You can’t measure (1) or (2) by simplifying any further.

What remains is something that is probably good enough to be of value to both your customers and you. (This is a simplification of explaining simplification.)

Few examples of simplification I have used in the past.

  • Use a static CSV or JSON instead of an interface.
  • Hardcoding works. (If you can convince your engineering team.)
  • Assume defaults — remove choices and inputs.
  • Use rules instead of fancy algorithms.
  • Discrete selections instead of open-ended inputs (aka chat-bot).
  • Human-powered processes instead of tech solutions.

The goal is not to create fancy tech. It is to solve a problem that your customers value. Bring in the tech once the hypotheses are validated and you need to scale.