Solve Only The Essential Problems, Avoid All Others

I once managed the build system for a small software company. (The build system is responsible for compiling the software and packaging it for distribution to the customer. Every large software project has such a system.) One day, the build system developed a problem. It would no longer produce any builds, instead omitting an unknown error. My efforts to resolve this error were fruitless. I couldn't find any information in the documentation or on the Internet. In order to get builds running again, I reinstalled the build system. Then I set off on a quest to discover the meaning of this error and prevent it from ever happening again. I scoured the Internet. I read the build system source code. I emailed its developers. Finally, my manager told me, "Stop it."

I resisted. If we don't investigate the root cause of the problem, we won't be able to prevent the error from recurring. "No," he said. "In the time it will take to find that error we could write a feature that our customer will pay for." He was right. If the build system errored again, it would cost our small team little to just reinstall the system. We would lose no work and only a little time. Why should we spend time on the nonessential problem of fixing a support system when we should be focusing on our essential problems -- the needs of our customers?

All problems you'll encounter in your creative career can be categorized as essential or nonessential. You must solve the essential problems, avoid being distracted by the nonessential problems, and know how to tell the difference.

Say you own a business selling handmade costumes through a website. You must figure out how to create the costumes, find and tell people who want costumes like yours, and set up some way that they can buy a costume. Your essential problems are:

  • What materials are the best choice for this costume?

  • What sewing process will produce a high quality result?

  • What sorts of costumes do people want?

  • How can your website best present your selection of costumes and how will people purchase one?

Your customer will notice the results of those choices.

Your nonessential problems are:

  • Where will you host the website?

  • How will you process transactions?

  • How will you fulfill orders?

  • How can you get your materials at a lower cost?

  • Do you have to hire a lawyer?

If those choices change one day, your customer won't know or care.

You must solve the essential problems. They are the value you're delivering to your customer. Your customer will notice if you change your mind. In contrast, the solutions to non-essential problems are only important to solve an that they’re causing you some kind of pain that you must eliminate. You may even hope the non-essential problems will go away on their own -- the customer won't know the difference.

Will solving this problem create value that you can deliver to your customer? Will the customer notice if you adopt a new solution to this problem? If so, it is an essential problem. You want to spend as much time as possible thinking about how to solve these problems.

Solving essential problems increases revenue. Solving nonessential problems can only reduce cost. You can only reduce costs so much, but you can always increase revenue. So if your goal is to grow your creative business, you should prefer to spend your time on the essential problems.

That's not to say that you should never spend time on nonessential problems. Before the company I worked for had a build system, it was my responsibility to hand-package the software. We chose to install a build system because hand-packaging was inefficient and error-prone. It made sense to install a build system because it saved us more money than we could have earned in sales by delivering a new feature at that time. But once the system was in place, further work on it offered only diminishing returns in costs saved. There's no inherent value in having a build system. If it had been cheaper to build the software without a build system, we would surely have done it. But resolving minor problems or improving the system when only few engineers would ever see benefit made little sense. My manager wisely advised me to spend my time where my customer would see the value.

Another way you can think about the difference between essential and nonessential problems is: Can you get leverage? Will continued application of the solution to this problem give you additional benefits? Essential problems tend to be of the type that you can continue to apply the solution over and over, each time providing additional value to your customer. Non-essential problems are ones that you can usually only solve once. You may continue to receive the benefit of lower costs, but you won't be able to apply the solution again.

Suppose you're a costume designer. You do research and discover a new material to detail your costumes with. This is great. You can continue to use this material on all costumes you design. Your customers love it. Even better! The more you develop new materials, the more desireable your costumes get. If your customers love it enough, you could justify buying a machine that lets you quickly attach the material to your costumes. Then you can build costumes faster, which your customers will appreciate. There are diseconomies of scale at work, but for as long as you can identify materials your customers want on their costumes you can continue to make a better costume.

Compare this to the build system. Once it's delivering builds promptly and without error, its value to your business has been satisfied. You can lower costs by making it faster and less error prone, but you'll eventually run out of costs to cut. You don't have leverage.

Why was I distracted with the issue of our build system, ignoring the essential needs of our customers? There were unsolved customer problems I could have worked on, but I ignored them and instead chased an issue of relatively minor importance. It's an easy trap that anyone can fall into. Why?

People are drawn to nonessential problems because they're easier to think about and solve. They have clear success criteria and can often be completed in a finite amount of time. They don't require thought to begin. The problem is well defined at the start. In my case, there was an error, and the goal was simple: make the error never happen again. My job as an engineer is to solve problems, and here was an unambiguous and probably trivially solvable problem staring me in my face.

The customer's problem, on the other hand, is potentially unbounded in complexity. What does the customer want? I can guess, but I can never be sure. What can I build that will solve the customer's problem? There are many things we could potentially build, and I may not choose the best one. To even get started on the path of solving an essential problem, there are many questions to answer. One must take an undefined problem, ask the right questions, find sufficiently good answers, and then generate concrete tasks, and hope it all works. It is, frankly, scary.

It can be difficult to get started on essential problems (a scary, amorphous process with no guarantee of success) when so many clearly-defined and solvable unessential problems lie before you. But you must do so. Otherwise, you won't meet the needs of your customers, and without doing that there's no way you can find success in your creative endeavors.

Don't get fooled by the distractions of unessential problems. Focus on the essential problems of your customer.

Further Reading

Jorge Rodriguez