3 ms·
Technical debt is entered into deliberately, as a trade-off for time that must be paid back, with interest. The implication here is that if only you had enough
by onion2k 4y ago
Technical debt is entered into deliberately, as a trade-off for time that must be paid back, with interest.
The implication here is that if only you had enough time you wouldn't have any tech debt. I don't think that's true.
Some of the tech debt is due to not having enough knowledge about the future of your system; what it needs to do, how it'll be used, etc. You have to make a decision about the tech now and sometimes that decision turns out to be wrong, or at least incomplete, which leaves you with some debt that will need paid off some time.
I also believe some tech debt is unavoidable due to churn from outside of the system. Best practises for a given part of an app aren't fixed (eg React class components shifting to functional components), so sometimes something that was once good can turn into debt over time with no input from you.
- robertlagrant 4y agoI'm not talking about bugs or unforeseeable design flaws. The term "tech debt" means deliberate choices to compromise the system in a controlled way, to achieve a purpose. E.g. speed to market. If it's not that, then it's not tech debt.
- onion2k 4y agoThe term "tech debt" means deliberate choices to compromise the system in a controlled way, to achieve a purpose. E.g. speed to market. That's true, which is why things can become debt if you fail to maintain them, upgrade them, change them when the customer's requirements change etc. By choosing not to maintain code and do other things instead you're allowing parts of the system to decay. That is a source of tech debt (arguably the most common IMO).