Refactoring for Software Design Smells: Managing Technical Debt - [Version Originale]