New features in Rails are opportunities to improve your code. If you're handed an unmaintainable project, should you refactor it gradually or kill it with fire and start again? If you're refactoring, how do you stop the scope creeping all the way back to a rewrite-by-stealth? If you do choose to cut your losses and rewrite, then how do you avoid the 'second system' effect?
This session will use live code from several of our recent projects, and will discuss how we made the decision, how we managed the resulting work, and some of the techniques we used to beautify the code.