As technically minded people we often get ideas for projects, products or similar and it can be easy to get carried away. I often design things in my head, think about how I’d build it, what it would involve, what it would cost to make, how I’d get it made, what programming it might involve, how I’d do that, etc. This is just something I enjoy doing and for whatever reason it is the kind of thing my mind often does when I should be sleeping or doing other things.
Sometimes my ideas progress further and become projects and I can easily get lost in them. Then eventually I start to think about whether this would be useful to others or is there even a market for it and the doubt starts to creep in. And often that’s where I end up losing the drive to complete the project.
There are of course many reasons for taking on a project. If you just want it for youself, then that can be a fine goal. If you’re doing the project so you can learn some new skill in the process then that’s excellent too.
But I’m now old enough to realise that I have to pick my battles. And there are enough project ideas out there where I can potentially have it all: Learn something new, get something useful or fun I can use AND maybe end up with something useful to others or maybe (just maybe) even a viable product.
So I’ve added this to my checklist for before I start on yet another hobby project: “What if I succeed?”
For product features I think teams should ask the same thing: “What if we succeed?” It is so easy to get lost in discussions about whether something is possible, how much work it would be, how long it would take to implement, etc. that people often don’t pause to think whether they should be adding this feature at all. Often whatever you do you do at the cost of everything else you could be doing. And features are never free - they often have to be maintained and always add complexity.