by Leon Rosenshein

Technical Debt And Inflation

I've talked before about technical debt, and as I've noted, I think it's a really good way to think about and explain to others the fallacy of a simple, linear tradeoff inside the quality, feature set, and ship date triangle. You can usually trade between feature set and ship date and think of it as an opportunity cost. At any given moment you have a certain amount of "developer capital" (capacity) available. Every bit of that capital you apply to one (feature set or ship date) is capital you can't apply to the other. Quality doesn't quite work that way. You can trade quality for either features to development time, but that's not opportunity cost, that's borrowing against the future, and you will have to pay it back, with interest. And that's something that's pretty easy to understand and explain to others. And if you don't at least make the "vig" then eventually you get so far behind that you can't do anything.

What I'd like to add to that is the concept of inflation. That's the idea that if you do nothing, you fall further behind. If you take $100 and put it under your mattress for safekeeping and then go to spend it 5 years later you'll find it won't buy as much. If you don't make investments then the value goes down.

For software it's not the value of a dollar, but the environment. Think about Python. If you don't put in the effort to keep it up to date you get behind, lose out on security updates, and eventually all support. If you have any COBOL laying around think about what you need to go through to maintain that. Not just that, but requirements and expectations change. If Netflix was still delivering movies at 1024x768 would it be worth as much? Probably not.

All of this is not to say that you never take on new debt, only that you should do it knowingly and with a plan to repay it. Like I mentioned a few days ago, when games shipped in cardboard boxes you needed to have them on the shelves for Black Friday. If you missed that date you lost an entire development cycle. In cases like that taking on debt to ship made sense. But those situations are rare. With the advent of online sales and distribution, Black Friday is still important, but not nearly as critical.

So how are you investing your capital today?