Earlier, I mentioned that we are trying to implement a build process at work. I still haven’t found much information on what a build process should encompass, but since we are using .NET 2.0 with Visual Studio 2005, a consultant was brought in to set us up with CruiseControl.net. It has been running now for a bit and I absolutely love it! It is setup so that each of the two projects are built every 20 minutes from whatever has been checked in during the last period. There is also a daily build that goes in the middle of the night and is pushed out to a test server. It is fantastic that you can see in a very short period of time whether or not the whole code base is stable. It gets rid of the “it runs on my machine” thing. If it doesn’t compile on the build machine, it isn’t right.
A side effect I’ve seen is that I’m way more careful about what I check in. Because everyone is watching the builds, it is quickly known when there are mistakes! The one process I do for myself now that I have never done before is to get the latest version of all the other files and do one final compile before I check in my work. I find this keeps the stupid mistakes down a lot. Once I get into the actual mechanics of the build process, I’ll post.