Technical debt represents the effects of decisions taken by development teams to speed up the implementation of a piece of functionality or a project that needs to be refactored later on. In other words, it’s the product of giving preference over perfect code to speedy delivery.