I always claim that the build is done on a build machine and has one main purpose and it is not to hear developer says “But it works on my Computer”. But seriously keeping a build machine helps to keep the code in a healthy state, make sure it works straight from the TFS and add tweaks to the build result.

I use the Build machine to few other things as well. first of all I always build a clean build out of the source control. This helps in first checking if the developers added references to their local machine and neglected to add them under source control. secondly, now a new developer is added to a project can pull the source to his workplace and start working.

Another thing that I use the build machine for is the signing process and applying version. The signing gives me a proof that this DLL was done by the build machine and no one has intentionally or unintentionally replaced it by another DLL of EXE. The Version help me connect the build to the code changes and requirements.