Definition
Refactoring is the process that involves improving or modifying the interior structure of the code, whilst keeping the exterior behavior intact. Agile Teams have a responsibility to maintain and extend their code from one iteration to the next, and without continuous refactoring, that becomes a very challenging task. Un-Refactored code has a tendency to rot, and that can lead to unhealthy dependencies between classes, unreasonable allocation of class responsibilities, as well as clutter and confusion.
Further Reading
- “Adaptive Code: Agile coding with design patterns and SOLID principles (Best Practices)” (book), by Gary McLean Hall