We have been using the tool since April 2000, and our experience during more than 3,000 integrations has been extremely positive. The tool is easy to use and enables changed source code to be easily integrated. An integration is done in less than ten minutes for large projects (thousands of source files) and in a few seconds for small projects (some hundred source files), with the XP idea of continuous integration being optimally supported. Results and possible errors are reported in a progress log. Because the IntegrationServer incorporates an optimistic locking strategy, the first developer to integrate modified sources wins. If the integration is refused by the IntegrationServer, the developer who tried to integrate has to remove the problem. This leads the developers to integrate as fast as possible to avoid potential conflicts. Thus, the reification of the continuous integration technique in a tool as an artifact supports not only this technique but the refactoring technique as well. Developers are "forced" by the IntegrationServer to make small refactorings rather than large ones. The fact that the IntegrationServer ensures a running version on the server supports the small releases technique, too. In principle, it is possible to deliver a new version every day. The technique of collective code ownership is also supported by the IntegrationServer because the developer that caused a conflict has to remove it no matter which code has to be modified. Testing is supported by the IntegrationServer's testing facility. The developers know that the IntegrationServer will execute their tests over and over again and will avoid breaking their code. Developers thus experience the benefits of test cases and are willing to write test cases for their code. In our experience, the IntegrationServer does not specifically support the XP techniques pair programming and coding standards. These techniques are supported by continuous integration as a technique and not by the IntegrationServer. |