The following presentation by Martin Fowler presents some great factoring gems and ideas that are worth paying attention to.
“The key to good refactoring is to remember that the essence of it is small steps”
This is very important for many reasons. As software developers, our role is also to keep the codebase clean. Refactoring will help any team deliver more functionality more quickly. And help go faster in the longer term. This is simple economics.
If you are not properly refactoring, you are “stealing” from your customers, by taking more time to deliver functionalities.