Skip to content
SeedlingConcept

Continuous Integration

planted Aug 7, 2026 · last tended Aug 7, 2026

Continuous Integration is the XP practice in which every member of a team merges their work into a shared codebase, together with everyone else’s, “at least daily”. Each integration is “verified by an automated build” so that integration errors surface within hours instead of at the end.

The defining act is pushing to a shared mainline, not the tooling around it. Martin Fowler is unusually direct about the two ways teams claim CI without practicing it:

  • A CI service is not CI. A daemon that builds your commits is, in his words, better described as a “Continuous Build Service”. It answers “does this compile and pass”, not “have we integrated”.
  • Feature branches with green builds are not CI. Building a long-lived branch is “semi-integration”: you learn your branch is internally consistent, and learn nothing about the conflict waiting in the merge. Pulling from mainline is not the same as pushing to it.

It rests on self-testing code

Fowler treats self-testing code as a prerequisite, not a companion practice: the build is only a health check if a failing test actually stops it. That makes CI the practice most dependent on the properties of the suite. It needs automated checks, since a step a human performs is a step that gets skipped under deadline. It needs fast tests and a ten-minute build, because a verification slower than the commit rate stops being a gate and becomes a report. And it needs determinism, because a mainline that is red for reasons nobody trusts is a mainline nobody blocks on.

Signal: nobody’s work has sat unintegrated overnight, and a red mainline is treated as the team’s problem rather than one person’s.

Sources

  • Martin Fowler, Continuous Integration: the definition, the daily-mainline criterion, self-testing code as a prerequisite, and both the “Continuous Build Service” and “semi-integration” distinctions.
  • Kent Beck with Cynthia Andres, Extreme Programming Explained: Embrace Change, 2nd edition (Addison-Wesley, 2004): Continuous Integration as a primary practice in chapter 7, per the published table of contents.