Has your customer got a ?bleeding neck?? Is your software solving a problem compelling enough that someone is going to download it, install it, evaluate it, buy it and then learn to use it, with the accompanying risks of credit card fraud and malware? It is hard to change people?s habits. They are going to keep doing what they are doing now (e.g. pen and paper or Excel) unless you can convince them your software offers them very significant advantages.
2. How much will people pay for this product?
This is a complex question and depends on many factors. You should be able to get a rough idea by looking at your closest potential competitors. But there are some types of software that people don?t expect to pay for, no matter how difficult or expensive it is to develop ? for example web browsers and media players. There are some users who can?t pay ? for example children and people in some developing countries. And there are some people who won?t pay ? for example many Linux users. So good luck selling a media player aimed at teenage Linux users in China.
3. Is the market big enough?
Is the market big enough for you to make a living? How many people are looking for solutions to this sort of problem? This is less of a problem than most people think. Given the huge number of people with Internet access and credit cards it is possible for a small company to make a decent living from a market that appears very narrow. Narrowing your market also allows you to be much more focussed in your marketing.
4. Can you promote it cost effectively?
How are you going to reach customers: Adwords, SEO, partners, magazine ads, direct mail, social media, affiliates, resellers or other methods? Can you do it cost effectively? How much is each sale from Adwords going to cost you assuming a 1% conversion rate? If it costs you $31 in advertising for each sale of a $30 product, you aren?t going to be in business long. But if you can cross-sell it to customers you already have a relationship with, that is a huge plus.
5. How much competition is there?
If there are lots of established competitors, you may have a hard time getting noticed. Personally I wouldn?t want to go into any market where I didn?t have a reasonable shot of getting to the first page on Google for at least some of the important search terms. For example, I think it would be incredibly tough to succeed with yet another Twitter, RSS, todo list or backup application. Conversely, if there are no competitors, that means that there may be no market. Creating a new market is tough, especially for a small company. Ideally you want a market where there are competitors making a decent living, but you think you can do a better job than them, or at least be different to them in some important way.
6. How is your product different?
Many vendors try very hard to reach feature parity with their competitors. But successful marketing means being different to your competitors. How is your product going to be different? What is your positioning? Note that just being cheaper than your competitors is not enough.
7. How high is the barrier to entry?
How long will it take you to create a minimum sellable product? If the barrier to entry is too high, you may never have the time, cashflow and energy to reach v1.0. As a self-funded microISV I wouldn?t want to work on any product where I couldn?t deliver something sellable (a minimum viable product) within 6 months. Conversely if the barrier to entry is too low, then it will be easy for others to copy your idea if it is successful.
8. Can you reach critical mass?
Some types of applications need a certain number of users before they can take off (network effect). For example, a massively multi-player game or auction site isn?t going to be very interesting until the number of users reaches a certain threshold. Do you have the contacts and financial resources to reach this threshold?
9. Do you have the technical skills and domain knowledge to create this product?
If not, how long will it take to learn them? Different technologies suit different types of problems. Using an inappropriate technology, just because it is one you have experience in, is unlikely to end well.
10. Are you scratching your own itch?
If you can be your own customer, then this can be very helpful in coming up with a good solution. But be wary about assuming that your needs are the same as everyone elses.
11. What is the lifetime of the product?
Is the technology is going to be obsolete or will the market disappear within a couple of years? Are customers likely to buy upgrades to new versions? The longer you can sell a product for, the more profitable it is likely to be.
12. Is a good domain available?
Can you get a good domain for your product? Domains that contain keywords that people are likely to search on will help with SEO.
13. What are the risk factors?
Every dependency is a risk factor. If the platform your products runs on dies, then your product dies. If you are writing an add-on for another product, then you can be put out of business pretty much overnight if the core product dies or if the functionality of your add-on is incorporated into the core product. Can you get source code for third party libraries?
14. Is the passion there?
Good software takes a lot of time and effort. Don?t believe the hype about 4 hour work weeks. Is it going to be interesting and fun? Do you have the passion and commitment to still be working on this product in 10 years time?
15. Will it make the world a better place?
Software products can be an enormous force for good in the world, increasing productivity and allowing people to do things they couldn?t do otherwise. You don?t have to be the next Google to be doing something worthwhile. But creating a ?me too? clone of an existing software package or a product that encourages anti-social behaviour (e.g. spamming) isn?t going to make the world a better place.
Making a decision
You need to look at all these criteria before you make a decision. For example, a short lifespan or a small market might be compensated for by a high ticket price. If you are evaluating several products, create a simple table with a row for each criteria and a column for each product and compare them side by side.
Did I miss any important criteria?