October 20, 2009
October 20, 2009
“Technical debt” does NOT mean, “Technically, we’re in debt.” Technical debt is what happens when a business puts up an application that isn’t perfect, then has to clean up bugs and scale issues in the future. I heard the phrase for the first time in a great discussion on TWiST (This Week in Startups) in which Mike Jones and Peter Hirschberg were interviewed. (Mike, the new COO of MySpace, is an adviser to my startup, abcInvesting.com, and an incredibly insightful guy.)
Technical debt most often arises in the high-tech new product arena. Somebody gets an idea for Twitter, and throws it up not having a clue whether it will appeal to 1 thousand users or 1 million users. Oh, turns out it’s 10 million–so far. With that many users, there are scaling issues that weren’t solved in the first version, because that first version was about getting something up and seeing if it attracted users. Now there’s a technical debt to be paid to bring the system up to current traffic levels.
Large corporations also incur technical debt, but they may be less aware of it. They carefully plan a new feature, which may be relatively mundane, as an electric company enabling its customers to pay bills online. The systems are built at scale and with substantial usability tests ahead of time. The debt arises because it’s impossible to anticipate everything. Here’s a person who wants to pay a portion of his bill from his bank account and a portion from his credit card, and he’s already on our bad-debt list because he walked out of his last apartment leaving an unpaid bill, but he’s eligible for a government subsidy. Does the system work for him? I don’t know if that particular set of circumstances is a problem, but I’ve been on plenty of websites that just couldn’t accommodate what I wanted to do. That’s technical debt.
What do you do if your business has technical debt? Fortunately, you don’t have to show it on your balance sheet, but you should recognize it. If your startup is growing rapidly, you almost certainly should budget for major technical costs to fix all the bugs that a large user base identifies. If your corporation is budgeting for a major systems convesion, include some contingency costs that may be very far into the future.
Although technology is great, and the cost of technology is falling, don’t underestimate just how much it will cost you to get everything running right. You don’t have to pay the bills today, but understand you’ve got an invoice headed your way.