Might actually be the best metaphor I've seen on this topic
Technical Debt Is Like a Tetris Game
91–100 of 122 posts
Re: Technical Debt Is Like a Tetris Game
#92And then everybody needs a better metaphor to explain the bad metaphor to non-technical people.
Re: Technical Debt Is Like a Tetris Game
#93Earlier quoted context omitted.
And just like real debt, you can just walk away from it at any time with no obligation right, not even on your credit rating? Just look at the debt and say "don't want you no more" and the debt says "aw shucks. Guess you don't feel the benefit of paying me. I can understand. So all right. I won't complain.", and the debt goes and disappears, down some dark alley with a bottle of scotch, no debt collectors ever hound…
Sure, defaulting does decrease your credit rating, as your example of 50 $ change for 150000 $ more in debt illustrates. And yes, there is a point further borrowing will be rejected, as sibling comments in this thread mention. So, excluding the actual strawman numbers, analogy still holds very well.
I "defaulted" on the loan of replacing a script I wrote in 2 minutes in autohotkey (a windows scripting language). I'm never going to write it properly.
Now explain to me how defaulting on this technical debt has hurt my credit rating.
Is the next time I open a new autohotkey script is it going to say to me "Now wait a minute. What about all the debt you defaulted on last time? I'm not going to let you write a quick and dirty script! You'll default on ever rewriting it! Go do it properly as a source controlled project in Microsoft Visual Studio. I am not letting you write another script."
Is that what happens? No?
That autohotkey script is running now. Where's the debt? How is my credit rating worsened by defaulting on it?
It's debt you can default on at any time without any consequence, while being able to continue to use what you bought on credit.
Your version is like saying that the minute a squatter takes up residence in an abandoned building, he's just gotten $140,000 in debt, the cost of buying some land nearby and building a proper, albeit unfinished building with no electricity or heating.
And if, still in his abandoned building squat, he finds and burns some wood in the winter, watch out! He's just added $25,000 in debt to the $140,000 he already had, since that's what a proper HVAC system will cost in his properly built building. He went from $140,000 in debt to $165,000 in debt the minute he set fire to some wood.
But that's clearly very wrong. Maybe he'll live in that abandoned building for 4 years and then just walk away. Poof. The $165,000 in lousy-analogy debt disappears the moment he walks away.
It's not debt. It's a lousy, bad analogy.
Re: Technical Debt Is Like a Tetris Game
#94The best analogy for technical debt is debt - that is where it got the name from! Just like financial debt, technical debt is not necessary a bad thing, but a tool - and something to manage, control and track. And just like financial debt, taking out too much technical debt without paying it back can crush you. There is nothing wrong with taking out a mortgage (and thus getting into debt) to buy a house - you just ne…
Cleaning up one kind of issue in your code doesn't affect other kinds of issues, and you can end up with fundamental architectural problems that no amount of testing or clean up can compensate for. You can handle some issues incrementally (eg adding tests), but some issues are going to be so fundamental to your system that you can only handle them by making a lot of changes all at once.
You can't refinance technical debt!
Re: Technical Debt Is Like a Tetris Game
#95The best analogy for technical debt is debt - that is where it got the name from! Just like financial debt, technical debt is not necessary a bad thing, but a tool - and something to manage, control and track. And just like financial debt, taking out too much technical debt without paying it back can crush you. There is nothing wrong with taking out a mortgage (and thus getting into debt) to buy a house - you just ne…
The problem with this analogy is you don't necessarily take on technical debt when you make your technical decisions. Technical decisions only become debt when you have to revisit those decisions. You don't pay interest on debt over time. You pay interest whenever you build upon or modify the flawed code. You can write the shittiest spaghetti code in the world, and if you never have to build upon - or touch it again…
> Technical debt consists in performing a fix or development in a quick and dirty way because it takes less time, even though it will make the code harder to work with in the long term.
If you aren't going to be changing the code later, then writing a bunch of spaghetti code won't make it harder to work with in the long term.
Re: Technical Debt Is Like a Tetris Game
#96The best analogy for technical debt is debt - that is where it got the name from! Just like financial debt, technical debt is not necessary a bad thing, but a tool - and something to manage, control and track. And just like financial debt, taking out too much technical debt without paying it back can crush you. There is nothing wrong with taking out a mortgage (and thus getting into debt) to buy a house - you just ne…
The problem with this analogy is you don't necessarily take on technical debt when you make your technical decisions. Technical decisions only become debt when you have to revisit those decisions. You don't pay interest on debt over time. You pay interest whenever you build upon or modify the flawed code. You can write the shittiest spaghetti code in the world, and if you never have to build upon - or touch it again…
Otherwise, you always have to deal with it eventually. Look at the Y2K problem. or how the 2038 problem is starting to crop up already, exposing significant levels of technical debt. https://twitter.com/jxxf/status/1219009308438024200
I also think technical debt does accrue interest over time, albeit not as linearly as a modern installment-plan debt does. That's because it slowly falls out of sync with people's memories. With libraries, with operating systems, with techniques. Bad code I wrote 10 minutes ago is pretty easy to clean up. But the next day, the next month, the next year? The cleanup gets more expensive. At some point the work becomes more archaeology than normal programming.
It's also true that actual foundations have something in common with foundational code. But that's a different aspect of programming than what tech debt is pointing at.
Re: Technical Debt Is Like a Tetris Game
#97The best analogy for technical debt is debt - that is where it got the name from! Just like financial debt, technical debt is not necessary a bad thing, but a tool - and something to manage, control and track. And just like financial debt, taking out too much technical debt without paying it back can crush you. There is nothing wrong with taking out a mortgage (and thus getting into debt) to buy a house - you just ne…
The problem with this analogy is you don't necessarily take on technical debt when you make your technical decisions. Technical decisions only become debt when you have to revisit those decisions. You don't pay interest on debt over time. You pay interest whenever you build upon or modify the flawed code. You can write the shittiest spaghetti code in the world, and if you never have to build upon - or touch it again…
https://technology.riotgames.com/news/taxonomy-tech-debt
It breaks it down along three axis:
* Impact. How much it affects things.
* Fix cost. How hard is it to fix.
* Contagion. How much it spreads over time. If a piece of tech debt is well-contained, the cost to fix it later compared to now is basically identical. On the other hand, some forms of tech debt keep giving. Image if your string type has some issues.
Linking that back to the debt analogy, there are different interest rates for different kinds of debt, depending on how contagious that part of the code is.
Re: Technical Debt Is Like a Tetris Game
#98Earlier quoted context omitted.
The difference though is that financial debt is very easy to measure and quantify but technical debt is not. I like the Tetris analogy because that game has a type of debt that anyone who has played it can understand, yet is not as easily quantifiable as financial debt.
It's like financial debt, but we can can't tell you what the interest rate is.
Re: Technical Debt Is Like a Tetris Game
#99The best analogy for technical debt is debt - that is where it got the name from! Just like financial debt, technical debt is not necessary a bad thing, but a tool - and something to manage, control and track. And just like financial debt, taking out too much technical debt without paying it back can crush you. There is nothing wrong with taking out a mortgage (and thus getting into debt) to buy a house - you just ne…
The difference though is that financial debt is very easy to measure and quantify but technical debt is not. I like the Tetris analogy because that game has a type of debt that anyone who has played it can understand, yet is not as easily quantifiable as financial debt.
For business school grad PMs I like to see if they can run with an analogy to selling unhedged call options rather than thinking of it in terms of debt with a known payoff schedule.
Even the bankers got derivatives wrong at an epic scale.
Re: Technical Debt Is Like a Tetris Game
#100Analogies and metaphors are pointless. Whenever you use them, they'll just respond with their own counter metaphors they pull equally efficiently from their own rear ends, with a tone of indignation, implying you're trying to trick them. The only thing that works with technical debt is to aggressively uncover and strike down any short term incentivisation from an organization perspective, and to set in absolute concr…