Disclaimer: I am not an economist, venture capitalist, or CEO. I have more to learn in this area but want to share what I’ve learned so far.
It is a standard practice to make business decisions based on predicted Return on Investment (ROI).
There are many reasons for this. Nobody wants to invest money on something that won’t make more money back. And it’s a bad idea to invest in something with a low return on investment if the time spent doing that prohibits work that promises a higher return on investment.
However, a policy of always requiring a ROI analysis to be done before work is approved risks the most innovative and highest ROI work never being approved. If this sounds contradictory, let me explain.
We almost never know for certain how much money will bring in. Occasionally we might be offered a fixed price for a fixed amount of work by a client who is reliable, and of course these make for a good business case.
At other times, we need to estimate the number of sales a product will have. This might be based on well known factors, or there might be a lot of guesswork involved.
In the Pluralsight course “On Polyglot Programming“, Rob Conery talks with Ted Neward about the costs of rewriting software. Ted says you need a compelling reason to rewrite software but argues that there are compelling reasons for doing so. He explains that some investments are “Early bound” and others are “Late bound”. These have different definitions to those you might be familiar with.
Early bound means you get the benefits almost immediately, but might pay for them later. Late bound means you only start seeing the benefits months or years down the line. Learning a new language tends to be a late bound investment.
At the beginning of the film “Particle fever” (available on Netflix), it shows a lecture given at the time the Large Hadron Collider was about to be turned on, a professor was asked by an economist what was the economic gain of the Large Hadron Collider? This project cost a whopping $10 billion, so it’s an entirely reasonable question to ask. The equivalent US project, SSC, was cancelled due to politicians being unconvinced that the high investment was worthwhile.
The answer was “I have no idea!”. He went on to say that there was no economic gain at the time that radio waves were discovered because there were no radios at the time.
I’m not advising anyone to bankroll a huge project without a clear business case. But if we look much more broadly, at the economic benefits of scientific discovery, we can see huge benefits. But in most cases these discoveries weren’t driven by money, but by a thirst for knowledge and understanding.
Artists generally don’t do ROI analysis before trying something new. Sometimes a painter may wait for a commission before beginning a work, but often it is produced for the love of the work, and the price that it sells for is highly unpredictable. There are some known factors, like a value that previous works by the same artist have sold for.
Ultimately the customer decides what he wants to buy and what he doesn’t. There is no guarantee of a sale. But most artists don’t let that stop them from experimenting with new ideas and new works.
Maybe software engineers should not liken themselves to artists. We should always be humble. If we think of our tiny place within the universe, it is natural to feel humble.
What do you think? Is economic analysis always the best way, or only sometimes? What else should we consider?
I am currently running this poll on Twitter:
on polyglot programming