Stop Breaking the Build
Cap'n Grumpy writes "You know the score - you've just finished some coding, do a final cvs update before commiting, and all of a sudden all hell breaks loose. Your code now refuses to compile, or xunit starts flashing up red - test failures! One of the other members of your team has checked in something which breaks the build, and they just went out for lunch ... Argh! Did you know there is a solution to this problem? It is a system which makes it impossible for people to check in code which does not compile or test successfully. It allows coders to review others coding efforts code before it goes into the baseline, rather than after. It organises your checkins into logical change sets. It enforces continuous integration. It is linux based, and GPL'd. It's called Aegis."
run the code through a lameness filter before allowing the check-in
enforce a 20 second delay from the time you want to check-in to the time you are actually allowed to check-in
make sure a different developer checks-in the exact same code a day or two later
1) Post advertisements as news articles
2) ???????????????????
3) Profit!!!!!!!!!!!!!!!!!
...and they just went out for lunch ... Argh! Did you know there is a solution to this problem?
Go to lunch.
The base ball bat. At my work after we beat the first few developers to a pulp after they checked in broken files, we found that the rate of broken files decreased dramatically