It's late, your tired and yet somehow you got stuck fixing the build because junior engineer bob just fired off a check-in and took off.  It looks like the build is now broken because junior hasn't done a get latest in a month.  In the meantime 10 other people check-in and just end up compounding the problem.

Unfortunately things like this happen.  One day I just got so frustrated, I just wrote a custom TFS check-in policy which gets the last build status and validates a particular build type was actually passing before you check-in.  I started with Jeff Atwood and James Manning posts where they have done a great job explaining how to write a simple custom check-in policies.

 

UPDATE::  I have since updated the policy to include a few fixes and packaged it up into an MSI and Source.  You can download that here:

http://blogs.msdn.com/csell/archive/2006/10/27/build-status-tfs-policy-part-ii.aspx