Every development organization should plan to spend a small fraction of its total effort on cleanup and refactoring; this work will pay for itself over the long run.
Absolutely; makes me worry about the lack of software skill amongst bioinformaticians.