For my own product, our target market was design agencies and freelancers. It’s a CMS, but we were not interested in making it a website-building tool or in appealing to non-coders. The customers we had in mind were the sort of people we were already working with: small agencies and designers who know how to write HTML and CSS, who don’t need a website-building tool and who want to manage content.
This was an audience we knew well and importantly where people knew us. I would always recommend that if you are developing a product you target a market you already are well known in; it will make it far easier to spread the word, and for people to have trust in you. We also intended to appeal to people who develop relatively small-scale websites. We were not creating a Drupal competitor. So, our ideal customer is a designer, either freelance or in an agency, who knows HTML and CSS and has to develop smallish websites.
That was it. As we started to develop, a million ideas came to mind. We thought of so many features and possibilities, but we kept that simple use case and that ideal customer in mind and ruthlessly trimmed features until we had something that felt complete yet was about as small as it could be. That initial version of Perch took about four weekends to write — we were still a consultancy working with clients at the time. We spent about the same amount of time building the marketing website and the infrastructure to deliver the product.
With your product developed, you should launch with confidence. You might have had a million features listed that you wish your product had, but your customers don’t know that. If your ideal customer exists and has the problems that you’ve identified and your product solves them, then you should be able to sell it to them. An advantage of getting to launch quickly is that you can test whether all of those things are true before spending any more time.