Refactoring
De Nosolosoftwarewiki
Refactoring is making changes to a body of code in order to improve its internal structure, without changing its external behavior. [...] Refactoring improves the design. What is the business case of good design? To me, it's that you can make changes to the software more easily in the future. -- Martin Fowler, on an interview with Bill Venners.
Resources:
- Refactoring on Martin Fowler's webpage
- Avoiding Interference Between Horizontal and Vertical Refactorings, a post by Kent Beck on the trade-offs to take into account when refactoring.
- An agile approach to a legacy system. This paper tells the winning story of how a small XP team rewrote an legacy system for the better and give back faith on programmers team. Nice and instructive experience. It's one of my favourite readings on software development.

