Image by Cold Cut via FlickrSo my buddy JFP pointed me at this Harvard Business Review post about how an endless series of questions can kill innovation. It's good advice, and falls well in line with my quasi-37signals philosophy on business generally, and software development specifically. But I like to cut to the chase, so here's the one and only question you should ask before deciding whether to go ahead with a project: What is the cost of failure?
More specifically: What would happen if you tried something and all the time, effort and resources you put into it were a complete loss? Put a number on that. Put a dollar figure on that. This is your cost of failure.
Now, decide whether you can afford to lose that amount of money. If you can, then you can withstand the cost of failure, and you're allowed to consider the project. If you can't afford to throw away that amount of money, you can't afford the project. It's that simple.
The corollary of this rule: The cost of mitigating failure may never exceed the actual cost of failure.
If modelling the likelihood of a project's success would cost more than the actual cost of failure, don't do the model. Do the project instead. You'd be surprised how often this rule is violated. Meetings have a dollar figure attached to them. Reviews have a dollar figure attached to them. A long, laborious project approval process has a huge dollar figure attached, one that is almost certainly higher than the cost of failure.
Take out the roadblocks. Yes, an ounce of prevention is worth a pound of cure. But the law of diminishing returns applies even to caution, and most businesses are applying a pound of prevention in order to save an ounce of cure.
Create a quarterly failure budget, if it makes you feel better. This is how much you can afford to write off. Keep innovating until that failure is spent. Mandate that you must keep innovating until that failure is spent. Institutionalize innovation. You should embrace the possible, not fear it. You'll be surprised how much progress you'll make.