Description
No doubt, all the programmers try to write the code the best that they can.
However, the code becomes messy and unmanageable over a period of time if we don't refactor the code periodically.
The word "technical debt" in regard to unclean code is first suggested by Ward Cunningham.
We can relate the "technical debt" to "bank debt" as below.
- When we take a bank loan, we don't pay principal but regularly pay interest, and if we don't regularly pay the interest, it may rack up so much that the amount of interest exceeds the principal, making the payment impossible.
- Similarly, we can temporarily speed up the project by skipping the tests, but it gradually slows down the project until we pay off the debt by writing test cases.
Here is a list of common reasons for technical debt.
- Business pressure
- Delayed Refactoring
- Lack of tests
- Lack of documentation
- Lack of interaction between team members
- Lack of compliance monitoring
- Lack of competence
- Lack of understanding of consequences of technical debt
- Long-term simultaneous development in several branches of the source code repository
- Failing to combat the strict coherence of components
Overall
We now know what we mean by the "technical debt" in software development.