How Do You Come Up With a (Successful) Software Product Idea
Thinking about creating your first software product?
You could start small, with something quick and easy, like a WordPress plugin, perhaps. Or, maybe you’re going to take a plunge into the deep with a full-blown SaaS.
But how are you going to enter the WordPress plugin market? Or any market? It’s like a jungle!
There is just so much competition.
Only if you could come up with that brilliant idea that will bring in the sales from day one. Or, at least, if you could come up with something that would sell at all…
We’ll get to that part. But first:
What makes a successful software product?
I don’t have experience selling anything on the WordPress marketplace or building a SaaS, but I’m part of a really successful team on the OpenCart marketplace.
The context doesn’t matter. The main reason why people buy something is the same everywhere.
Success comes when you build a product that solves the real problem of real living people.
That’s what they pay money for.
But solving “any problem” won’t do.
So, how do you come up with the right problem?
Let me spare you the reading of a dozen business-related books:
People are most likely to pay money for a solution to a painful problem.
In the broadest sense, a “painful problem” is anything that wastes time, wastes money, undermines your personal relationships, threatens your health or that of your loved ones, threatens your belongings, threatens your personal and family safety and so on.
Where can you find painful problems?
You may be surprised to hear they are very easy to find. Problems are practically everywhere. Even painful ones.
First, find a group of people that you want to work with, i.e. you have to start by defining your target customer.
For example, Amy Hoy suggests that the best target customers are people like you. 37signalssuggest that you should be your own customer (“scratch your own itch”).
The reasoning behind this is simple: You are most likely to understand the troubles of people like you. It’s harder to put yourself in a position you’ve never been. Anyway, you can pick any target customer you want.
I’m going to follow this article with an example.
Since I come from the OpenCart world, my target customers will be “OpenCart ecommerce store owners”. The product that I can create following such a research is an OpenCart extension.
It’s problem finding time!
Marketing research in the wild
Credit where credit is due: This research strategy is a remix of Amy Hoy’s “Sales safari” (Yes, I’m a fan. ☺)
Research stage 1: Gather data
Data is right there, in the online communities that your future customers hang out.
Industry specific forums, Quora, Reddit… you name it
Step 1: Gather problem keywords
Log on to the social platform or message board of your choice.
Scan each topic title for possible problem keywords. View the article content if the title isn’t clear enough. Write down the keywords.
Example: On the ecommerce store owner forum, I found a topic called “Estimated shipping lead time ( multi site )”. I saved the following keyword sets:
- estimated shipping time
- shipping time multi site
Why? I’m looking for concrete and specific keywords (problems). “Shipping” isn’t a problem on its own. It’s a feature of the shopping cart and there can be a plethora of problems related to shipping. Same goes for “multi site”. “Estimated shipping time”, on the other hand, suggests something.
Note when you find the same keyword (or a similar set) more than once.
For example, “delivery time” is a synonym (similar set) of “shipping time”.
At this point you’re researching what topics your potential customers talk about. These are possibly things that they have trouble with.
Results
When finished, you will have a list of keywords. Group them into topics. In my case: Shipping, Payment, etc.
Step 2: Use your keywords to search the forums
This might be the hardest step to complete. Be careful not to get lost. To make it easier for you, choose just one of the topics from the previous step. You can go back, if you need to.
Example: I’m choosing the shipping topic. I will search the OpenCart forums for “estimated shipping time”. I will open up each post and try to write down a summary of the issue the store owner is having.
By the way, I prefer Google search instead of the generic forum search.
Keep these in mind when summing up a problem from a post:
- Be specific. Don’t try to retell. Copy/paste the text and keep the OP words as much as you can.
- You want to find the underlying problem.
- You’re not supposed to find something unique. On the contrary, you’re looking for patterns.
- You’re not looking for implementation advice. If someone is asking how to do X with Y technology, this means they are already set to solving their problem in a certain way. You want to know what the problem is. Who said you have solve it the way they are suggesting?
- You don’t have to get something meaningful out of every post.
Group similar issues together.
Results
At the end of this step, you will have a list of concrete real problems related to the initial theme you chose (“shipping” in my case).
Research stage 2: Sift the gathered data
Step 1: Pick the problems you are going to solve with your software product. You have to answer 2 questions:
How painful is the problem?
Example
Here are a few types of issues that I found on the OpenCart forums:
- Bugs in the software. “Coupon limit isn’t working in OpenCart 1.5.6.4” You don’t want to base your product off a bug in another piece of software.
- Interface issues. In OpenCart you have to go through 5 menus to insert a banner. It’s very much counter-intuitive to a store owner. But, they don’t add banners all that often.
- Problems that affect sales. These are the golden ones for me. Any problem that turns off customers is important to store owners. The most notable example of such a problem in OpenCart is the outrageous 5-step checkout. That’s why there are a number of “One-page checkout” extensions on the OpenCart marketplace. And they’re all selling.
How common is the problem?
In the best case scenario you want to choose problems that appear most often.
Cut down the number of problems ruthlessly. You don’t want your product to be the “it does everything” kind of software.
Better yet, start with a small product that solves a very simple (but painful) problem. Packing it with features isn’t going to guarantee it sells. And besides:
Large projects easily become overwhelming.
Results
At this point you should have a cut-down list of issues related to the original theme you chose. These problems will transform into the features of your product.
Wait, can’t you just search the forums for an obvious keyword?
Example: I can just search the OpenCart forums for “shipping”, right?
But then I wouldn’t have observed that store owners talk about “estimated shipping time”. I wouldn’t know it’s a thing in their world. I found this out in step 1 of the data gathering stage.
Then, in step 2, I searched for “estimated shipping time” and I found out why store owners need to show estimated shipping time, whether they want to show it on the product page or on the checkout page and so on.
Research stage 3: Take a look at the competition.
The worst business advice that someone can give you when you’re starting out is to look for “a unique niche”. That’s downright BS. If nobody’s made software for that, it’s most probably because nobody wants it! Therefore:
You want to have competition! Lots of it.
And don’t be afraid of the competition. You can do many things to distinguish yourself.
Now, do a complete web stalking of your competition:
- Check out the other products’ reviews, websites and support forum threads.
- What are the customers complaining about? Write down the painful problems that they have with the other pieces of software.
Example: I will research other OpenCart shipping extensions. I might find out that a weight-based OpenCart shipping extension doesn’t include multi-site support. Later, I might find out that the other extension that does is missing something else.
Add this list of problems to your previous list.
Results
The complete list of problems will expand into to-dos for you and then into a feature list for your software product. It’s like you’re working on a freelance project, but this time you have to guess the requirements yourself and the client is an entire community.
“Ugh, this research nonsense looks like a waste of time…”
Your developer ego might fight this approach.
You might ask yourself: “Why the hell am I wasting my time doing this? I could be coding!”
I have a counter-question for you: “Is coding something that nobody wants a waste of time?” or even “Are you going to just start digging for gold, when you don’t even know if there isgold?”
Doing research can be challenging and a tad overwhelming, but I promise you it’s worth your while.
You can be successful from day 1 and product 1.
What’s next?
In the next article of this series, I’ll talk about promoting your product.
Yes, you want to promote it before you have started coding!