Understand Principles behind Practices
Programmers often like rules. Having rules make things simple: You just do what your supposed to do. The problem occurs when people start following practices without understanding the principles.
(example): Test Driven Development that increases the complexity of the code. or writing the wrong test because you want to code "test first"
(example): Being dogmatic about how things are done, and not taking the time to understand whether someone else on the team is doing something in the right spirit, but just different from how you would do it.
(example): building a feature without understanding the reason behind the requirements.