I completely left out one very important tip in my top 10 tips to get a return on your TDD investment:
Take advantage of pair-programming.
Pair programming is a great teaching device, as it lets two people go back and forth, working on a problem. By pairing someone new to TDD with someone experienced, the knowledge transfer happens much faster. Not only that, but questions get answered immediately, and barriers get knocked down faster with two eyes on the code.
I don’t pair all the time in day-to-day work, but I try to recognize difficult or design-heavy work, which is the real sweet spot for pair programming. Pairing on visual design, HTML or CSS is an absolute bore for everyone involved.
But especially with learning TDD, pair programming is the grease that keeps the machine running. As with any new skill, beginners will get tripped up quite a bit at first. With the real-time code review of pair programming, the more experienced developer can guide and assist a beginner, ensuring they don’t fall completely flat on their face.