I'm the author of that article. I actually have a blog post in the works that addresses your concerns fairly directly, since they are concerns for me too. Keep an eye out for it. In brief, I recommend you buy a copy of Working Effectively With Legacy Code immediately, then work to get unit tests in place. Make sure you have a couple of tests for each public interface in the system. Once you have rudimentary test coverage, it becomes easier to refactor things without worrying so much about breakage.