Some teams have consequences for breaking the build. Once I worked someplace where the proposed consequence was to bring doughnuts to your colleagues.
This was mostly done in jest and in a lighthearted way. The rule wasn’t strictly enforced, which is the way it should be, but people still complied from time to time.
I carried over that tradition to other teams where it’s application varied. These kind of consequences can be fun as long as it doesn’t get out of hand or generate any drama.
In the past I printed out some form of “poster” which proclaimed:
And the Lord said unto man, he who breaks the build for others, shall pay a penance of doughnuts. That is the law.
I did not come up with this phrase, it was handed down to me by a more senior programmer and can readily be found on the internet in many variations.
On the project I am currently working on, our team lead came up with what I think is a pretty nifty idea.
He created a special status in our issue tracker to assign to certain tasks. When someone breaks the build he gets these tasks assigned to him. These are non-urgent yet important tasks that need to be done. The kind of tasks people don’t usually fall over themselves to do.
For example, going over the UI’s validation message and update them to conform to a new syntax/punctuation standard. That sort of thing.
Of course the system can fail because of too many or too few broken builds in regards to the number of tasks. He agreed to do the tasks himself if no one breaks the build for a long time.
If you have or had in the past some form of similar “broken build” tradition, please let us know with a comment.