6 ms·
But according to your description, technical debt is a debt: - it has interest: you're paying extra in maintenance, debugging and manual testing for all the sh
by AlexTWithBeard 8y ago
But according to your description, technical debt is a debt:
- it has interest: you're paying extra in maintenance, debugging and manual testing for all the shortcuts you've taken
- it can be paid back by refactoring the bad module. The price of such a refactoring is usually known and, unlike in short sale, won't get to infinity
- it can be used to grow. Instead of working five years on a perfect solution we build something plausible right now and then keep refining it
- tracer4201 8y agoRight on. Also if you continue to build on top of technical debt, you are essentially taking risk and accruing interest in the form of everything that will require on going maintenance or could fail spectacularly depending on your ability to repay the debt.
- LaserToy 8y agoA lot of things can then be explained as a debt. If you ate a cake you were not suppose to - you are putting weight debt. Watched Netflix instead of Ted talks - knowledge debt. Too many Ted talks - entertainment debt. I can go on and on.
- tracer4201 8y agoThat’s not really the message I was trying to convey. Not all debt is the same. If your decisions have tangible impact on business outcomes, your company brand, or morale, then anything that adds risk or debt should be weighed carefully as such. You should also weigh personal behaviors and decisions in terms of debt and risk, but that’s orthogonal to the topic of business and engineering decisions.
- Vinnl 8y agoAnd that's why debt is a good metaphor: you have to have a plan to repay it, and that interest you pay should be less than the profit you make by taking on the debt. Take, for example, something like Mozilla's Facebook Container extension [1]. It's fine if they take some shortcuts that allows them to launch that faster if it turns out there's another Facebook scandal in the news - launching faster allows riding the waves of publicity, resulting in more users. Even though the total development effort is more when they have to clean up those shortcuts after launch, the additional effort has been used to grow. [1] https://addons.mozilla.org/en-GB/firefox/addon/facebook-container/ https://addons.mozilla.org/en-GB/firefox/addon/facebook-cont...
- mbostleman 8y agoDebt is also a good metaphor because, just like finance, it can be used as a beneficial lever that propels you to the next level artificially fast, or it can be used foolishly and end up burying your effort. I see examples of the latter all the time in the experience of developers and how they approach decisions. I have recently worked on largish (or at least in the 10s of millions of dollars of investment to create) codebases in which developers (recently - like 2013) wrote switch statements that became God classes because they simply were not familiar (at least not in practice) with patterns that avoided it. Consider that one example and imagine the type of havoc that lack of experience creates across the entire codebase. You can say this is a case of ignorance, which it is, but it's the same as the ignorance of some to handle money in a sustainable way. It's like giving a credit card to a kid.
- justinjlynn 8y agoThis is a good point - like most analogies, there are some places where the naked short argument fails. Certainly in small cases and/or known shortcomings - you can pay down in small increments. But how to handle things like the general gross architecture of system? That's clearly not quite the same. As I see it, tech debt isn't enough of a descriptor of the kind of engineering shortfall one is experiencing. To understand precisely what one's talking about one needs to characterise the problem more. My main problem is that the blanket term for the issue uses a best case analogy, when the worst case is so much worse; it's not funny.
- jamesmontalvo3 8y agoIsn't the worse case you're describing still debt but more like giving a multi-million dollar line of credit to a person with low income? A series of small deficit expenditures eventually builds into debt that can never be paid off.