Continuous integration has become a staple in many organizations because it allows software teams to improve product quality, save time, lower the number of failed deployments and reduce rework costs. Despite the benefits of faster code iteration, not all software teams have embraced the practice.
According to Tom Grant, a senior analyst at Forrester Research, approximately two-thirds of software teams claim to have adopted continuous integration, while the remaining one-third has not.
“It’s hard to do continuous integration,” he said. “Although it provides immediate benefits, it requires a [serious] commitment.”
One reason so many organizations have adopted continuous integration is to avoid unnecessary rework.
“If you’re integrating a week or two’s worth of changes and trying to retrofit or retrofix the backlog, [you’re wasting time],” said Mike Rozlog, senior director of Delphi Solutions at Embarcadero Technologies.
“If you’re constantly updating, you have a huge advantage from product quality and rework standpoints. The longer you hold onto code, the more rework you’re going to have to do. You want to know that your code is okay and won’t break someone else’s.”
All organizations can benefit from continuous integration whether they are agile, non-agile or some sort of hybrid, because it allows developers to isolate and fix errors faster and cleaner, with less overhead.
“Continuous integration is the ultimate safety net,” said Chris Clarke, VP of product management at CollabNet. “Because teams are getting leaner and meaner, there are [fewer] QA guys, so developers need more feedback. In the past, you could spend months putting the guts back into your code. Now, in minutes or hours, you know if your changes will negatively impact the software you’re integrating with, and you can be more confident about your code.”