I thought I would post about this because I find myself putting notes about this in comments here and there. One of our team members bought the rabies plush doll from ThinkGeek a little over a month ago. From the site:
Most folks never realize how cute microbes can be when expanded 1,000,000 times and then fashioned into cuddly plush. Until now, that is. Keep one on your desktop to remind yourself that there is an “invisible” universe out there filled with very small things that can do incredible damage to much bigger things. Then go and wash your hands. Lather, rinse, repeat.
Or as a reminder that you were the last person to shame the build!
We have been doing CI with CruiseControl.NET for well over a year and a half. We have always joked about a dunce hat or something to give to the person on the team that last broke the build. And we never really did anything about it. That is, we never did anything about it until “Rabies” arrived.
After this toy was brought in, the minute someone broke the build (me), they were graced with “Rabies” and the explanation of what “Rabies” meant. Before that, people broke the build every once in awhile because they would forget to integrate locally, build, and run unit tests before checking code into source control. Once I had “Rabies,” NO ONE else wanted it. Not very infectious if you ask me. I pleaded with everyone to break the build, told them how much fun they were missing out on, but to no avail. I even offered small amounts of money! Not ONE person wanted to take “Rabies” off my hands.
I have held onto “Rabies” for nearly a month before I could finally “infect” someone else and be magically cured. And I almost felt bad about it. Almost.
What’s the Point?
The point of anything you do with development, it’s about quality. And fun. If you can have fun doing anything, then you will probably continue that practice. More so if that practice also results in “beneficial” results to the group and company at large.
If you have good code quality, a team with a sense of humor, and you want to see your code quality go through the roof, then I would highly suggest a broken build token. It is at the very least fun and makes for smiles all around. For us it has improved our quality of check-ins even more because we have better code ready for release at all times.