Live data from Hacker News

Technical Debt Is Like a Tetris Game

fluentcpp.com

41–50 of 122 posts

Re: Technical Debt Is Like a Tetris Game

#41
post #32

The 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.

While I fully agree that financial debt is easier to measure, and some forms of it are very easy to measure, I don't think it is always very easy to measure. Perhaps it may be a difference in what counts as debt, but I see many people engaging in decisions that require future payments without considering those payments at all, much less viewing them as debt. For example, getting a pet dog can have numerous costs associated with it but people don't always consider these as debt. And the average person (fully based on my own personal anecdotes) isn't going to be willing to give up the dog just because it is costing them money. So while there isn't a legal due that you can be taken to court for, I still think it counts as a form of debt.

Re: Technical Debt Is Like a Tetris Game

#43
post #32

The 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.

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

#44
post #6
post #3

I tend use the "Leaning Tower of Pisa" metaphor. If it leans too much, the tower will fall down. If it doesn't tilt at all, you won't sell tickets to tourists. The art is to find the sweet spot.

> If it doesn't tilt at all, you won't sell tickets to tourists. I dont know about that... Eiffel tower is vertically straight and sells a lot of tickets.

That's why its like the Leaning Tower of Pisa, and not like'A Tower'.

Re: Technical Debt Is Like a Tetris Game

#45
Tech debt is more nuanced than explained by most analogies.

In reality there is a lot of tech debt you can get away for free and never have to pay back. The code can be a mess but the functionality works and doesn't need updating.

Other tech debt can infect and cripple a system if it isn't contained early.

If you demonstrate that you know how to prioritize the most important tech debt then it is easier to convince management to work on it.

The concept of doing more work now to make future easier is universal. Delivering on it is the hard part.

Re: Technical Debt Is Like a Tetris Game

#46
Every project needs to treat tech debt differently, for example working alone vs working with 20. How many requirements there are already, what state it was in when you arrive to see the code(most devs are not the original coders). How good the unit tests are, how proj Managment sees value in refactoring, company run way if it’s a start up. Is very difficult to apply single analogy to all projects. I see programming like life, it’s different every time so you have to approach refactoring to fit the situation every time

Re: Technical Debt Is Like a Tetris Game

#48
> But technical debt becomes a problem when it gets out of control. Accumulating technical debt consists in piling up hacks on a piece of code, making it harder and harder to maintain. Every incremental change requires an intense reflexion and is more and more likely to cause regressions.

Can anyone explain to me what reflexion means in this context?

Re: Technical Debt Is Like a Tetris Game

#50
post #45

Tech debt is more nuanced than explained by most analogies. In reality there is a lot of tech debt you can get away for free and never have to pay back. The code can be a mess but the functionality works and doesn't need updating. Other tech debt can infect and cripple a system if it isn't contained early. If you demonstrate that you know how to prioritize the most important tech debt then it is easier to convince ma…

If it never costs you anything, it's just a design decision, not technical debt. Plenty of projects never upgraded C versions, so old C is maybe not technical debt. But plenty of projects are upgrading python versions now, so old python is often technical debt.
Post reply on HN