Software and diminishing returns

It's tempting to believe that everything matters equally. That every detail is as important as the other. It's tempting because when everything matters equally, the difficult labor of making trade-offs doesn't need to happen.

But as with many things that are difficult, the rewards for getting good at making trade-offs, and making the right ones, can be huge.

Making trade-offs is particularly difficult though because the return you get for expending time/energy/resources on something is almost always greater than zero. Very rarely will the answer to the question: "If I spend ___ hours/dollars working on _____, can I make it better?" be a 'no' answer.

But that is the wrong question to ask.

The right question to ask is: "Given the current state of my product and the number of customers I have, is this the best place to spend my time/money?"

Not all returns are equal.

So the challenge is to make the right tradeoffs so that you maximize the return on the energy/time/money you spend on something. And the right trade-off will be different depending on the state of your own product.

What I've realized is that most decisions and disagreements aren't ones of details, timing, design, features, functionality or anything else.

They're all about trade-offs.