Continuous integration enables developers to have an automated way of validating the quality of their check-ins. A CI server will monitor your version control repository and on every check-in will build the project and at the very least run unit tests. If anything goes wrong (compilation error, failing test, etc.), the server will send e-mail to the team so the developer responsible for the faulty check-in can investigate and fix the problem. It’s an automated finger pointer if you will. It’s one of those things that seem obviously necessary for any project above a certain size but that is too often neglected. After all, you always run unit tests before you check-in, right? Right? One of the nice things about CI servers is that they are relatively easy to set-up and they can run on any machine: you only need the server to be publicly available if you want anybody to be able to check out the state of the build. Otherwise, one of your own dev machines or an old unused server will do just fine. Read more: Tales from the Evil Empire