Before a team decides to be agile, they should spend some time to learn about and get training on programming practices such as concurrent testing, continuous integration and test driven development. Focusing on the “why” factor of having these practices in place along with “how” to apply them in real life product development scenarios. One needs to understand why a certain practice is being followed in order to appreciate it. It's always good to learn early and from the experts rather than learning the hard way.
This is what I learned after spending time adopting agile product development and seeing different flavors of it (with and without XP). To sum it up in a sentence, the impact of XP and other agile development practices on the success of an agile team is huge, and it is impossible to make the mindset shift to being agile without changing the way we go about writing code.