AoAD2 Practice: Continuous Integration

This is an excerpt from The Art of Agile Development, Second Edition. Visit the Second Edition home page for additional excerpts and more!

This excerpt is copyright 2007, 2021 by James Shore and Shane Warden. Although you are welcome to share this link, do not distribute or republish the content without James Shore’s express written permission.

Continuous Integration

Audience
Programmers, Operations

We keep our latest code ready to release.

Most software development has a hidden delay between the team saying, “We’re done” and when it's actually ready to release. Sometimes that delay can stretch on for months. It’s the little things: getting everybody’s code to work together, writing a deploy script, pre-populating the database, and so forth.

When on-site customers are ready to release, you push a button and release.

Continuous integration is a better approach. Teams using continuous integration keep everyone’s code working together and ready to release. The ultimate goal of continuous integration is to make releasing a business decision, not a technical decision. When on-site customers are ready to release, you push a button and release. No fuss, no muss.

Allies
Collective Code Ownership
Refactoring

Continuous integration is also essential for collective code ownership and refactoring. If everybody is making changes to the same code, they need a way to share their work. Continuous integration is the best way to do so.

...to continue reading, buy the book!

In this Section

  1. Continuous Integration
    1. Continuous Integration Is a Practice, Not a Tool
      1. Integrate many times per day
      2. Never break the integration build
      3. Keep the integration branch ready to release
        1. Sidebar: Deploying Versus Releasing
    2. The Many Flavors of Continuous Integration
    3. The Continuous Integration Dance
    4. Continuous Integration Without a CI Server
    5. Synchronous Versus Asynchronous Integration
    6. Multistage Integration Builds
    7. Pull Requests and Code Reviews
      1. Cargo Cult: The Tool
    8. Questions
    9. Prerequisites
    10. Indicators
    11. Alternatives and Experiments
    12. Further Reading

Discuss the book on the AoAD2 mailing list or Discord server. For videos and interviews regarding the book, see the book club archive.

For more excerpts from the book, see the Second Edition home page.

If you liked this entry, check out my best writing and presentations, and consider subscribing to updates by email or RSS.