Technical Debt is a new concept in computer programming that deals with the extra development work associated when code that is easy to implement in the short run is utilized instead of developing an optimal overall solution. Use Technical Debt in the context of refactoring in the field of extreme programming. Refactoring or restructuring existing code is part and parcel of the development process in computer programming. Refactoring is not the result of poorly written code but is based on understanding the problem, then finding an effective solution to the problem. Technical Debt is also known as Design Debt.