How to Leverage Technical Debt
The biggest thing I think people need to know about technical debt is that it must be used to create growth.  Consider the situation where you go to the bank and ask for a loan.  You tell the loan manager that you will spend the money on pizza parties.  Unless you are in the pizza business, you are unlikely to secure the loan.  Loan managers want to know how you are going to use the money you gain to generate growth and ultimately pay the money back (with interest).<p>Now consider technical debt.  When you go to your architect and say, &quot;I want you to hack something so that we can get it out the door a month earlier&quot;, your architect should respond with, &quot;What are you going to do with that time I give you?&quot;  If the answer is, &quot;I just think we need to get to market as soon as possible&quot;, then you are doing the technical debt equivalent of spending borrowed money on pizza parties.<p>As a reasonable architect, I need assurances that I&#x27;m going to be paid interest on the loan.  If I give you a month, I&#x27;m going to need a month and a half back.  You need to explain to me how you are going to make that kind of time.  If you can not, then the business plan needs rethinking.  No respectable banker would say, &quot;Oh, there is a 0.1% chance of success if I lend them the money, but a 0% chance of success if I don&#x27;t.  I&#x27;d better lend them the money!&quot;  He says, &quot;Come back when you have a better business plan&quot;.<p>The other annoying issue is that complexity in software can grow exponentially.  So the cost of repaying the debt can quickly outstrip your ability to pay.  Imagine borrowing money and having an interest rate of 1% for the first month, doubling every month.  Seems like a wonderful idea to borrow the money, but you better pay it back <i>fast</i>.<p>The problem with technical debt is not that you must avoid it at all cost, it&#x27;s that you must think very hard about whether or not you can afford it.  If you can&#x27;t, you should avoid it.  If that puts your company out of business, then you need a better business plan.