***Make it easy***

 - Build frameworks which Mock and Stub out portions of the system
 - Set up examples
 - Use frameworks which allow reuse for integration testing (BDD frameworks work well here)

***Make it beneficial for the Developer***

 - Use new technology

 - Treat it as an R&D project

 - Allow Developers to use the test classes as areas to expand their skills

***Make it fun***

 - Do challenges

 - Have group sessions/knowledge transfers

***Explain Benefits***

Prevent:

 - Calls at night</s>

 - QA-Dev loop

 - Undefined sections of code

 - Unclear ramifications of making changes

 - Difficult refactoring

 - Low code quality

 - Poor understanding of requirements

***Give Team ability to reject Unclear Requirements***

Possibly the most important piece, ensure that the team has the ability to reject the requirements or create a research task to define them. If during planning the team can not define the majority of the basic tests for the requirements than they are unclear. By having the team more enthusiastic about testing, it will give them the ability to define the tests up front and understand what changes need to be made. If they are unable to define the tests than the requirements should be redefined to make it clearer.