Being able to fearlessly and mercilessly refactor - he got that term right, at least - is one of the benefits of [link|http://www.extremeprogramming.org/|Extreme Programming]. This is possible when you have automated unit-tests - a variation of your regression tests. It's quite a buzz to completely rewrite a module and know you're not breaking anything because the unit test still runs. Especially when you achieve an order of magnitude of speed increase at the same timne. :-)

Wade.