Too Long; Didn't Read
Technical Debts have been in the center of software engineers debate for quite some time. The most suitable definition is that technical debts describe the additional work to rewrite an already-existing feature correctly. Developers tend to distort this definition by including debts from any nature. In contrast, they should only consider features that explicitly have been under-designed to meet the project schedule or customer expectations. The more time you take to replace for an adequate code, the higher the risks. Debts that avoid complexity in the codebase allows faster code shipping and reduces complexity.