What is continuous integration (CI)?

Continuous integration (CI) is a software engineering practice in which isolated changes
are immediately tested and reported on when they are added to a larger code base. The goal
of CI is to provide rapid feedback so that if a defect is introduced into the code base, it can be
identified and corrected as soon as possible. Continuous integration software tools can be used
to automate the testing and build a document trail.

jenkins-plugin-diagram-saci

Continuous integration has evolved since its conception. Originally, a daily build was the standard.
Now, the usual rule is for each team member to submit work on a daily (or more frequent) basis and
for a build to be conducted with each significant change. When used properly, continuous integration
provides various benefits, such as constant feedback on the status of the software. Because CI detects
deficiencies early on in development, defects are typically smaller, less complex and easier to resolve.

[amz-related-products search_index=’Books’ keywords=’ASIN: 0321336380′ unit=’list’][amazon template=image&asin=0321336380]

According to Paul Duvall, co-author of Continuous Integration: Improving Software Quality and
Reducing Risk, best practices of CI include:

  • Committing code frequently.
  • Categorizing developer tests.
  • Using a dedicated integration build machine.
  • Using continuous feedback mechanisms.
  • Staging builds.

CI originated from within the extreme programming paradigm, but the principles can be applied to any iterative programming model, such as agile programming. Traditional development approaches, such as the waterfall model can benefit from using CI methods for the construction stage.

To conclude, you should not say that you are doing CI only because you are using Jenkins (to mention one of the most well know Software)!!!

Share:
Mario Lucero

Mario Lucero

I am all about helping companies to adopt agile as methodology in Chile.

Why?

I believe many organizations think that agile is not for Chilean companies because of Chilean culture is totally
different from i.e. USA culture but I worked with Chilean professionals who after using agile realized it is feasible
to implement it.

Agile works in small and large projects and there are many evidences which demonstrate this.

3 comments

  1. Mario, I have been working in software development for fifteen years and Continuous Integration is a real game changer. “The goal of CI is to provide rapid feedback so that if a defect is introduced into the code base, it can be
    identified and corrected as soon as possible. ” That is a great statement that sums up the value of CI. I am currently reading “The Phoenix Project” which, seems great so far and then I am starting this book after the recommendation from Agile Coach Bob Payne.

    Thanks,
    Tom Henricksen
    http://myitcareercoach.com/
    Tom Henricksen recently posted…8 steps to grow your Developer careerMy Profile

    1. Hi Tom

      Thanks for your suggestions and as soon as I finish a book I will buy “The Phoenix Project”.

      I would like to recommend you People’s Scrum by Tobias Mayer and Slack by Tom DeMarco

      Let me know if you have time to chat (my Skype name is metlucero).

      Regards,

      Mario

  2. HI Mario,

    I work as a software tester in TestingXperts from 7 years and I know the role of continuous testing and Continuous Integration.

    For testers its tough to work in an agile environment as it will lead to conflicts in development and testing team.

    Thanx for sharing your article with us.

Leave a Reply

CommentLuv badge