We gotta put a moratorium on developers saying things are or aren’t real. I mean, I get that it’s just a clickbait way of making your piece more appealing and that’s not great…but it’s actually worse than that, you could trigger discussions in the comments about whether tech debt is real.
The title is wholly addressed in the very first paragraph.
In software development, “Technical Debt” often emerges as a foreboding specter, casting a long shadow over codebases and development teams alike. Yet, herein lies a provocative truth: technical debt is not a tangible entity lurking within lines of code. It’s a metaphor, a way of thinking about the accumulated consequences of past decisions and shortcuts.
I'm confused by your complaining about clickbait. Surely you didn't click on an article titled "Technical Debt is not real" and expect that idea/concept was wholesale rejected? The article goes on to make several nuanced points, with the title being the punchline.
Surely you didn’t click on an article titled “Technical Debt is not real” and expect that idea/concept was wholesale rejected?
As a data point, I absolutely did expect that. I didn’t expect to agree with the article, but I did expect the article to advocate for rejection of the concept.
Post is better than the title makes it seem. Calls out to Kent Beck for coming up with tech debt and how to prevent building "legacy" code by reworking the system first to accommodate the new feature easily (which is hard), then build the easy feature.
I think this message is important, for non-technical folks, they have a hard time prioritizing technical debt. Being able to categorize and talk about the types is important.
My favorite way of describing it is actually as "technical risk" not "technical debt". A lot of technical issues are issues because it is risky to keep them the way they are. They're more "you have an old furnace, never know when carbon monoxide cloud might kill your family" and less "30 year mortgage".
The term technical debt was coined to encourage customers (in an XP sense) to prioritize that deferred work. The analogy was intended to convey the idea that debt comes with interest to be paid which decreases the amount available to be spent each development cycle. The amounts here are in units of time. If you pay down your debt then you can invest all developer time into new features, otherwise it eats up cycles as developers work around the areas of friction.
The bigger points in the article are good, but the headline is misleading. Suppose that an organization has no code and no services. This is a minimum of technical investment and effort; adding any code or introducing any service will require an ongoing commitment to maintaining that code/service. So, the total amount of code and total number of services are proxies for technical debt, if not metrics.
Does anyone actually think that tech debt is real? I've never heard the term used in a context where there's ambiguity about the fact that it's an abstraction.
I do agree in a sense, but “debt” is the worst metaphor for this. Even “total cost of ownership” vs. “gains” (there’s also a cost of not having the software, otherwise, why write it?) seems to fit better.
Economically, code should be considered a liability of some sort. It doesn't have to be debt, but code does need to be serviced, just like debt. It could be thought of as rent instead, but that's too easy to conflate with the actual rent paid to e.g. clouds.
Perhaps an economics metaphor is wholly inappropriate.
What I dislike about the "tech debt" metaphor is that real debt is fungible and once it's paid off it's gone and no longer a problem.
Some tech debt is worse than others, and sometimes it can get so in-grained in a project that it can basically never be fixed without rewriting the software. Corners get cut to meet a deadline, and before anybody can go back to fix it, there's a bunch of new code depending on it.
ah, my entire job finding when an abandoned bad decision becomes too rusty/unmaintained and either starts breaking, was already broken and we didn't notice, or starts getting spicy vulnerabilities, doesn't exist
building things is cool, but you can only keep up to a certain number of things live. at some point, you need to keep them working and free of le-spicy. business cannot create an infinite sprawl of neglected code an APIs.
While technical debt is not tangible, it is as real as lines of code or as real many of the other things the author writes about. I find technical debt a good model, sure it's not perfect. Differed maintenance is more accurate. But debt is more evocative.
Differed maintenance does two things that TD doesn't, it points blame at those who differed and it highlights the work of maintenance. Not fun.
Technical debt focuses more on value, you have debt because you have something worth more than the debt. If not, then your underwater and you need to unload it. There's principle (actually fixing or replacing it) and interest (the higher costs of keeping it running due to its shortcomings). It's not an ideal model but it is not deceptive and the rhetoric of it is more effective than differed maintenance.
We gotta put a moratorium on developers saying things are or aren’t real. I mean, I get that it’s just a clickbait way of making your piece more appealing and that’s not great…but it’s actually worse than that, you could trigger discussions in the comments about whether tech debt is real.
Makes me want to write a post titled “i isn’t real”
You’re not wrong, but it’s a bit more complex than that
There’s an uncountable number of jokes in this.
The rational subset of those jokes is countable.
I can't imagine how
Existence (or lack thereof) considered harmful? :^)
The title is wholly addressed in the very first paragraph.
Owning up to your clickbait after it's done its job is (a) pretty common and (b) no defence at all, IMO. I think Lobsters should demand better.
I'm confused by your complaining about clickbait. Surely you didn't click on an article titled "Technical Debt is not real" and expect that idea/concept was wholesale rejected? The article goes on to make several nuanced points, with the title being the punchline.
As a data point, I absolutely did expect that. I didn’t expect to agree with the article, but I did expect the article to advocate for rejection of the concept.
Marked as spam. Presumably it's yet another case of equating (for fun and profit) "it's not 'real' debt" and "it's not real".
Post is better than the title makes it seem. Calls out to Kent Beck for coming up with tech debt and how to prevent building "legacy" code by reworking the system first to accommodate the new feature easily (which is hard), then build the easy feature.
I think this message is important, for non-technical folks, they have a hard time prioritizing technical debt. Being able to categorize and talk about the types is important.
My favorite way of describing it is actually as "technical risk" not "technical debt". A lot of technical issues are issues because it is risky to keep them the way they are. They're more "you have an old furnace, never know when carbon monoxide cloud might kill your family" and less "30 year mortgage".
The term technical debt was coined to encourage customers (in an XP sense) to prioritize that deferred work. The analogy was intended to convey the idea that debt comes with interest to be paid which decreases the amount available to be spent each development cycle. The amounts here are in units of time. If you pay down your debt then you can invest all developer time into new features, otherwise it eats up cycles as developers work around the areas of friction.
The bigger points in the article are good, but the headline is misleading. Suppose that an organization has no code and no services. This is a minimum of technical investment and effort; adding any code or introducing any service will require an ongoing commitment to maintaining that code/service. So, the total amount of code and total number of services are proxies for technical debt, if not metrics.
Does anyone actually think that tech debt is real? I've never heard the term used in a context where there's ambiguity about the fact that it's an abstraction.
I do agree in a sense, but “debt” is the worst metaphor for this. Even “total cost of ownership” vs. “gains” (there’s also a cost of not having the software, otherwise, why write it?) seems to fit better.
Economically, code should be considered a liability of some sort. It doesn't have to be debt, but code does need to be serviced, just like debt. It could be thought of as rent instead, but that's too easy to conflate with the actual rent paid to e.g. clouds.
Perhaps an economics metaphor is wholly inappropriate.
What I dislike about the "tech debt" metaphor is that real debt is fungible and once it's paid off it's gone and no longer a problem.
Some tech debt is worse than others, and sometimes it can get so in-grained in a project that it can basically never be fixed without rewriting the software. Corners get cut to meet a deadline, and before anybody can go back to fix it, there's a bunch of new code depending on it.
If it wasn't gone from the main site, even Bad code isn't Technical Debt, it's an unhedged Call Option could be a story folded here.
That's maybe my favorite description, because it captures the risk and speculation, and very succinctly at that.
ah, my entire job finding when an abandoned bad decision becomes too rusty/unmaintained and either starts breaking, was already broken and we didn't notice, or starts getting spicy vulnerabilities, doesn't exist
building things is cool, but you can only keep up to a certain number of things live. at some point, you need to keep them working and free of le-spicy. business cannot create an infinite sprawl of neglected code an APIs.
While technical debt is not tangible, it is as real as lines of code or as real many of the other things the author writes about. I find technical debt a good model, sure it's not perfect. Differed maintenance is more accurate. But debt is more evocative.
Differed maintenance does two things that TD doesn't, it points blame at those who differed and it highlights the work of maintenance. Not fun.
Technical debt focuses more on value, you have debt because you have something worth more than the debt. If not, then your underwater and you need to unload it. There's principle (actually fixing or replacing it) and interest (the higher costs of keeping it running due to its shortcomings). It's not an ideal model but it is not deceptive and the rhetoric of it is more effective than differed maintenance.
[Comment removed by moderator pushcx: Don't troll about economics and politics.]
[Comment removed by moderator pushcx: Pruning off-topic.]