Why is continuous integration so important?

Walmyr Filho
The Whereby Blog
Published in
2 min readJun 16, 2016

Continuous integration, or just CI, is a software development practice of integrating code continuously (at least once a day — per developer), and in an automated way. Also, it is about verifying if the new code you just wrote broke or not the code that was already working, since the automated tests and other tasks (like syntax verification) are executed when integrating the code.

Using this approach allows software development teams to have a very fast feedback loop about the changes they are doing in an specific application, and this is a cheaper way of solving issues when they are found, because the just changed code is still fresh on the developers’ mind.

This is also one of the practices from the eXtreme programming discipline, created by Kent Beck and Ron Jeffries, in 1997. After using CI (and other XP practices) and having good success in the projects they were working, they decided to write about it, as a way of sharing this knowledge with the world, so we could have better software. Software that matters!

One of the important points of using CI is about having less conflicts when integrating code. Once the code is frequently merged (from an specific branch, for example, to the trunk branch), it has less chances of breaking what already exists. And even if it breaks what was already working, it is easier to solve.

Another very important thing when talking about CI is that it needs to be supported by a suite of automated tests (not only unit tests, but also by integration tests, and even better, if possible, by end-to-end tests). So, if you are already doing software test automation and is not doing CI yet, I recommend you to think of it as one of your next steps.

Also, for being competitive in the market, it is very good if you can launch new features that matters for your users faster than your competitors, so you can have advantage and better time to market. Then, CI allows you also to do another very important task from these days, that is called continuous delivery.

If you got interested in this subject, I really recommend you to read this post, from Martin Fowler, where he explains continous integration in a very detailed way, and also better than me.

I wish you enjoyed the post and I will wait for your feedback.

--

--

Walmyr Filho
The Whereby Blog

QA Engineer, clean coder, blogger, writer, YouTuber, online teacher, mentor, member of technology communities and passionate for good music 🎶 and skateboarding