For any large scale development project, making the pieces fit together is a challenge. If you are the only developer working on a project, you don't have to worry about your changes creating a conflict with those of other developers (you can think of it the other way around if you prefer). However, when there are several or even dozens of developers modifying the same code base, you are likely to run into all kinds of problems. A maxim that we have seen in Unit Testing, and that applies here just as well, is that the longer you wait to address the problem, the harder and more expensive it becomes.
Developers and software architects started thinking about how to integrate the changes from different sources early, quickly, and on an ongoing basis. The practice of 'Continuous Integration' is one that was developed in an attempt to address the above problem. In a nutshell, you set up a process to automate the build process and provide feedback on the results...