One of the big problems in organizations (IT or product-shipping) is how to fund projects. I don't believe in ROI (Return on Investment). I learned how to lie with ROI back in 1988–I can make the numbers be anything you want. If you don't have ROI, how do you know what projects to fund?
One set of projects is the set that if you don't do, you can't compete. Have a hardware-software solution? Better be thinking darn hard about a software-only solution that runs on several platforms. Or, a Big Gorilla vendor such as Microsoft or Oracle changes what they support. You have to upgrade to a new platform.
But all the other projects, especially the risky projects, how do you fund those? Incrementally.
I don't give my kids their allowance yearly. They get their allowance once a week. They get a clothing allowance in two parts, so that they can't spend all their money on fall clothes and have nothing for the summer. That's the same idea as funding software projects incrementally.
Of course, that means you have to build software projects incrementally, in some sort of a timebox. (Gotcha!) But here's why it make sense to do that:
- If you show value to someone, preferably your customer, you are much more likely to get more funding.
- If you're not showing value early and often, you get feedback early enough to change before you start a death march for something your customers don't want.
- You can start highly risky projects, because you're not committing a ton of money and time to that much risk. You're just committing 2, 3, or 4 weeks.
If you're having trouble getting your projects funded, stop asking for the whole huge project. Make the project show value first, fund that value first, and see how much it actually cost you to provide that value. Now you have a little information and can decide whether or not to continue. You never have to throw good money after bad.