Note that nothing in this article was actually dependent upon TDD; writing unit tests after writing code, and keeping your code clean/refactored would suffice.
The point I was trying (and I think succeeded) to make is that by employing TDD you automatically have more test coverage and therefore make refactoring and keeping your code clean that much easier.