Types
Causes
- Schedule pressure
 - Lack of good/skilled designers
 - Lack of applicatin of design principles
 - Lack of awareness of design smells and refactoring
 
How to manage
- Increasing awareness of technical debt
 - Detecting and repaying technical debt
 - Prevent accumulation of technical debt