Stories of helping others to adopt TDD/Refactoring/CI etc.
Two methods Stanly Lau has tried:
Organize Refactoring Dojo sessions to gain the understanding of the value of unit tests. Participants are given smelly implementation codes covered with unit tests and are expected to make the implementation codes clean. It may be done with 3 iterations (30mins each) with review (10mins) in-between. Everyone is expected to pair and switch pair every iteration. Codes may be thrown away and start from scratch on every iteration. Debrief at the end of session. You may find a code kata used for this at https://github.com/agilesingapore, look for refactoring_dojo_* repositories.
The other method I have tried was to pick a smelly source file from the team's codebase and create a time lapsed video of how the codes grow ugly over time. I'd ask for observations from the participants to let them think about development in a broader sense. I'll then show two pieces of code, one refactored to a cleaner state and a original smelly code and demo how refactoring is done. The session I had was short (1hr), so I stopped refactoring 10mins before it ends and show a time lapsed video of how the code gets refactored prepared before the session.