It's easier said than done. Even if you're a perfectly altruistic owner of a software company, how will you know when to stop adding features?
  • Will you trust the word of your employees? They have an incentive to add features to make their work look valuable.
  • Will you rely on revenue and sales statistics? These can take a while to manifest, and even then they might come from a locked-in customer base so there isn't a 1:1 relation to product quality
  • Will you wait for customers to request features? By then it may be too late. When a significant number of customers are asking for a feature, a competitor may already have introduced these features and poached away customers
  • Will you rely on your own instinct? Your instincts might be wrong
I agree with your general sentiment, but I'm just pessimistic that this is something that we can get right 100% of the time. The best we can do is make sure the markets are competitive so that as soon as product quality gets worse, market signals are sent rapidly to the companies and they can adjust.
I appreciate you pessimism, it help to see the other side of the coin.
Surely I won't even say a word to my boss for requesting blatantly useless features, but from what I can say about my job, we have a software with, at least, 50 quite complex features, requested for "matching the market" that are used by a single customer at most and we have to adapt them without questioning the logic of such requests just to please them and ended up building lot of incompatibile systems that can only be thrown away at best if a single customer leaves.
What you say is absolutely right if there was someone with a brain taking decisions, my post is more a way to vent my frustrations.
My lesson learned is that I won't let my passion projects ever come close to such a situation, once it reaches the "it works as I want", I'll stop adding more to it, unless I need to.
As an example, I've built an app for myself only, and I never touched the code for almost a year, it was "perfect" for my needs, then I needed it to sync across devices (it is a local first app) and now I've added a sync system for it, it's a new feature, but it still does just what originally needed and nothing more. If I needed more I'd just make something else to use along side that one.
I hope this example can help you understand my reasoning.
Also, the definition of perfection is highly personal, what would you consider "perfect"?
I'm really interested in other viewpoints. 😎
reply
efficiency maxi >
bitcoin is about that life.
fiat mining (non bitcoin projects) is str8 up ticking boxes and pleasing customers - *tear
reply
The fact that angers me the most is promising something non-existent just to make some shitty customer happy and then having run to do it half-assedly just to get complaints for it.
reply
🤦‍♂️
reply