This is what Tetris compares to 'what is a technical debt?'



Tetris is a famous game that piles up falling Tetrimino and puts them out side by side in a row. Eric Higgins, who is an engineer and a consultant, is an article that compares the 'technical debt' with the Tetris as an example. Mr. has published.

Technical Debt Is Like Tetris-Featured Stories-Medium

https://medium.com/s/story/technical-debt-is-like-tetris-168f64d8b700

' Technical Debt ' refers to the complexity of software that has arisen in software development because it has chosen an approach that can achieve the goal, such as the implementation of a new function, rather than a time-consuming, better approach. For example, if you change the existing function and you do not rewrite the manual, you will have to read the source code later to be able to understand the behavior of another person. The fact that you can take time later instead of saving is called a technical debt like a money loan.

Higgins said it would be better to take Tetris as an example to intuitively understand what the technical debt is like, and that ' Tetrimino comes down from above' is 'the code increases every day', 'Tetrimino disappears side by side' expresses 'the code works properly'.

The complexity of the code at the beginning of development feels like the image below in Tetris. It is easy to develop new functions in a simple situation without technical debt.



In Tetris, 'terminating multiple lines together' is considered to indicate adding advanced functions. In the situation where there are few technical debts, the development of advanced functions is easy as well.



However, as the code is being generated, technical debt will build up for various reasons. Technical debt is like 'a hole buried in Tetrimino' in Tetris. You can still play the game while the technical debt is low ...



If too much technical debt is built up, it will be difficult to add new features or fix bugs in a realistic time.



The above situation can not be avoided just because the number of developers is increased or replaced. Technical debt is what you must repay, as the name 'Debt' means. As in Tetris, as we keep putting out Tetrimino through the game, in development we have to keep returning technical debt.

In Tetris, the player never wins, but the player can only control how long the game can last. This is also true for business, and technical debt can not be overcome. In order to continue the business longer, it is necessary to always eliminate the technical debt.

in Note,   Software, Posted by log1d_ts