These mistakes include:
- Not providing sufficient training, education, and mentoring
- Not supporting pair programming
- Not reducing the creation of non-executable detailed speculations early in the project
- Not reducing the confirmatory testing being done by their independent QA/testing team
- Completely reducing initial requirements envisioning and architecture envisioning
- Completely reducing parallel independent testing
The article also goes into potential benefits of TDD as well as potential challenges that you're face when adopting it.