I’ve discovered an incompatibility between my passion/profession (software development) and the economic system that surrounds me. People with money want to predict and control things (whether or not those things can actually be controlled). That means that before they invest in some new product development, they want to know with reasonable certainty how much return they will receive on their investment and when they will receive it. I’m not sure what marketing statistics they use to calculate how much, but I know there is no way to know when.
Setting deadlines on creative work is foolhardy. The only way to know when something will be done is to have done it before and know it will take the same length of time. This works great for repetitive factory work. 1000 items should take about 10 times longer to produce than 100 items, discounting some overhead.
The problem with creative work, like software development, is that it is far too complex to divide into a set of neat, equally-sized items. When I begin a new module, there are only two possibilities. It’s either so similar to an existing module that I can copy and revise the existing module in a day or two, or it’s so different from anything I’ve done before that I have no idea how long it will take because I can’t predict what new details will arise until I get there. (Also, in reality, the copy-and-revise step is usually re-design-and-re-use because simply copying the same code in multiple places can make later maintenance tedious and error prone, and that re-design is just more unbound time.)
I don’t mind this myself. Venturing into the unknown is part of what I enjoy about software development. The trouble is trying to explain this to non-creative people. They think I’m being unrealistic by expecting a seemingly infinite supply of money, and I think they’re being unrealistic by expecting a definite time line.
The trouble isn’t that something will take a long time or that I want to slack off. It’s that I really have no idea. It could be long, or it could be short. It’s always a surprise.
Fortunately, I think I’ve stumbled upon a business model that accommodates both of these mindsets. Look at Amazon.com. I don’t know exactly how they’re set up internally, but it’s apparent that they both have a factory-like Internet store with a fairly predictable stream of revenue, and at the same time they produce new software/hardware technologies like Kindle and their web service platforms. A predictable stream of revenue seems like a good way to minimize the risks of funding more risky new product development.
Unfortunately, there are issues I won’t go into here with why I don’t simply work for Amazon.com. Also, this model seems to be uncommon (if it even exists at all). I wish more/all companies worked this way. I do realize that physical resources are finite, and I think having a fall-back predictable stream of revenue is the only realistic way to fund new product development without risking going broke or going out of business.