When helping software development teams work more smoothly, we want to teach them TDD, DevOps, pairing, clean code, etc.
Which of these are skills, and which are practices?
Yes — they’re all both. Skills and practices aren’t separate; they’re a circle. Knowing how to do something gives you the option to practice it, which makes you more skilled at it, which makes it easier and more fruitful to do it.
As with most interesting things, the causality goes both ways.
To get a cycle going, remove obstacles and then intervene everywhere. Practice with the team, show them how, and then through more practice, help them hone their skills.
If you’re successful, they’ll keep getting better at it without you.