http://www.infoq.com/presentations/workflow-refactoring
At 4:00 he talks about why refactoring is a different process than development:
"When people start with test driven development, this is usually the phase that gets left out. People don't actually do the refactoring bit much."
talk-workflow-refactoring#separate-steps1 2 "Why do we separate out the green step from the refactoring step? Why do you make it work, not really worrying about the code quality, and you are then cleaning by refactoring?
...
Kent would say, "when you're adding new functionality to the code, you're thinking in a different mindset than when your refactoring" Refactoring, strictly defined, is changing the way the code is organized, but without actually changing its observable behavior.
...
It's easier to think of only doing one thing at a time. talk-workflow-refactoring#separate-steps1 2
refactor to fix up comprehension
testing-concept-preparatory-refactoring
The design stamina hypothesis