One of my favorite definitions of a problem comes from the late Gerald Weinberg [1]
A problem is the difference between things as perceived and desired.
This definition is great because it’s actionable. It tells you that there are three ways to approach a problem:
Move the world towards the desired state
Change your perception of the current state
Change your desired state
Points two and three seem like cop-outs at first — you basically avoid solving the problem. But they often turn out to be not just viable but optimal since they force you to re-frame and re-contextualize the problem.
Changing your desired state allows you to solve a different, possibly easier problem. For example, rather than solving the full problem (to get to the original desired state) you might find that a partial solution (the new desired state) gets you 80% there at 20% of the cost.
Changing your perception of the current state, you might realize it’s close enough to the desired state and so the problem doesn’t need to be dealt with at all right now. Deciding not to solve a problem can also be a solution.
As a strategy, deciding not to solve a problem or to solve a different version seems generally underutilized. I suspect this is largely because (a) we’re bad at understanding tradeoffs and quantifying opportunity costs, and (b) because it’s just hard to say no to people who feel strongly about reaching a desired state but might lack the full picture. For example, startups most often have messy finances and HR at the beginning. Not having good accounting or employment contracts is definitely a problem but one with lower weight than failing to ship product or hit growth targets. So deciding to minimally solve for it at first is the rational move. There will be pressure to do it to a high standard from the get-go — from investors or people on your team — but you have to resist it.
... continue reading