Finding the MVP
A challenge for me with any project is to determine its MVP, making it ready for release. But what even is a MVP?
No, in this case it doesn't stand for Most Valuable Player. When it comes to project building, it means Minimum Viable Product. That is, what's the minimum functionality that needs to be included in order to make a first release. The central idea is that it's good to receive feedback, so getting something out there as soon as possible lets the community (or potential customers) tell you what they want next.
For example, if I wanted to release a new Minecraft server plugin, I might not need to include everything and the kitchen sink early on. A basic version, that includes all the core functionality, can be distributed online. Later on, extra features such as configuration files, optional modes and so on can be added. Maybe I would also get feedback on things I didn't even think of, helping to guide the development process!
It's tempting to want to release the perfect website, plugin or tool right away, but it can take a considerable amount of time to get there. By the time that everything is 100% ready, maybe people will have lost interest, or a competitor showed up, or you've built something that people just don't care about. This has happened to me several times already, and that's where starting with a more minimalist option can be interesting.
This doesn't mean that this MVP can be full of bugs! Some incomplete features might be okay, or the occasional glitch happening, especially for something labelled as a beta release. Still, having something unstable can be a turn off and lead people to believe your new toy is best avoided, so finding a proper balance is key.
– Doctacosa