Once the will I enjoy it question is answered, then Swombat's three questions are definitely the way to go.
For example, if you got burned by building something great that no one actually used, "Can I find users?" will be pretty high up the list.
This is not a method for avoiding all mistakes - it won't save you from all your blind spots. But it gives you a better chance of leveraging your experience and getting somewhere.
I'll write another article at some point about how to generate those questions.
o customer problem or need
o symptoms that indicate customer problem or need
o description of benefits that customer will understand
o features to support benefits / solution customer will accept
Asking a friend, "What do you think of my idea?" is almost completely useless.
Asking a friend (or someone else who isn’t as biased as your friend,
"Do you have this problem, and how painful is it?" is a much more useful query.
"Please tell me all the bad things you can think about this idea."
"Please tell me all the reasons you think this idea will not gain traction and will fail"
"Please tell em why quitting my job to pursue this idea is a bad thing"
Questions that openly invite criticism are useful, since I think people think more imaginatively when they are being critical ... there are only so many ways to say nice things about something, but the insults can come from anywhere.
More than just finding fault with the idea, you will find assumptions you had implicitly made being challenged. So even if the idea is good, it might still be a bad idea to pursue it, lest you end up with a "the operation was a success, but the patient died" scenario.
If you have a cofounder, take it in turns, over two days, to defend/attack the idea. Defend your idea like Fort Knox on day one, and then attack it like it owes you money on day two.
I don't get this. If no one can use it, what are they paying for?
One common way to go about this is to create a paper prototype, pitch it to potential clients, get them to sign a non-binding letter of intent to buy the product if you develop it as per the specs, and then develop the product and sell it to those people who already told you they'd buy it.
This is as contrasted with the somewhat more common, but often less successful approach of building something useful to a bunch of users, letting them use it for free while you develop the offering, and then asking them to pay.