When you build something, it’s hard to decide whether it’s good enough or not to release it to the public. But improving something is even harder due to the infinity of possible solutions. This is known as the common issue of not being able to validate a change binary:

A common approach to problem solving is to consider it binary. Either you’ve fixed the issue or you haven’t. Some problems fit that domain well: Either the calculator returns 2 on 1 + 1 or it doesn’t. There really isn’t much of a middle ground. —David Heinemeier-Hansson in Are we making it better?

In fact, most things we do aren’t binary. Software bugs breaking things are. But for most other things we face a variety of solutions: We can improve things a bit, refactor the code, rebuild everything or even remove a feature. All valid solutions but which is the right one?

When we know how to build a better user interface, is it okay to apply a simple fix to the current design? Shouldn’t we spend more work and build the best product?

It’s hard to be a product manager and one can run into traps to over-think topics very easily. But what definitely helps is reflecting on where we come from:

If we can build something that improves the current state, the result will be better. This simple trick changes the way we think about solutions:

(…) focus on mere progress instead: Are we making it better? (…) No longer does an idea have to contend with being The Solution, it simply has to contend with making things better.

Building things is easy. Improving it is hard. We need to find out how to make difficult decisions easier to make progress.