Summary
CI is the process of integrating small changes at short intervals. The process reduces, and sometimes eliminates, the need for an integration phase at the end of development. CI involves building the entire software product, testing it, and reporting the results whenever changes are made, which provides immediate feedback to the developers responsible for the changes.
The CI process has several prerequisites, though these prerequisites are themselves valid practices for implementing Lean and Agile methodologies. You can implement CI gradually, starting with a basic build and unit test sequence and expanding to include automated integration and acceptance testing, code analysis, and even deployment.
The benefits of a well-implemented CI process include detecting defects as soon as possible, minimizing the propagation of defects, simplifying the debug process by limiting the scope of errors, minimizing the integration phase, providing immediate feedback to developers, and raising the visibility of the project’s status. These benefits are gained at the expense of an initial setup process, additional hardware and software, and, possibly, a change in the way developers handle source code and automated testing.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access