Continuous Integration in XP
Introduction
Continuous integration is one of XP's important team practices. Rather than weekly or daily builds, XP teams strive to integrate the system several times per day. Such frequent integration has several benefits:
Integration is much easier because so little has changed since the last integration.
The team learns more quickly because unexpected interactions are rooted out early on while the team can still change its approach.
Problematic code is more likely to be fixed because more eyes see it sooner.
Duplication is easier to eliminate because it's visible sooner, when it's easier to fix.
Integration in XP has another advantage that is critically different compared to some other approaches: The team agrees that the system should always be in a working state before and after an integration. That is, integrators are not allowed to leave the system worse than they found it.
In this article, we'll look at several possible approaches to continuous integration with an eye toward finding an effective approach.