DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Related

  • Jenkins in the Age of Kubernetes: Strengths, Weaknesses, and Its Future in CI/CD
  • What Is API-First?
  • Choosing the Best Cloud Provider for Hosting DevOps Tools
  • DevOps: CI/CD Tools to Watch Out for in 2022

Trending

  • Detecting Bugs and Vulnerabilities in Java With SonarQube
  • 11 Agentic Testing Tools to Know in 2026
  • From Data Movement to Local Intelligence: The Shift from Centralized to Federated AI
  • Architecting Petabyte-Scale Hyperspectral Pipelines on AWS
  1. DZone
  2. Testing, Deployment, and Maintenance
  3. Deployment
  4. The Benefits and Challenges of Continuous Integration

The Benefits and Challenges of Continuous Integration

This primer on continuous integration irons out the definition and explains the various benefits and challenges of implementing CI.

By 
Jeffrey Lee user avatar
Jeffrey Lee
·
Oct. 23, 17 · Opinion
Likes (7)
Comment
Save
Tweet
Share
15.3K Views

Join the DZone community and get the full member experience.

Join For Free

Without a doubt, continuous integration (CI) has become a mainstream principle for software development. The benefits of CI are well-known across the industry and it would be hard to find anyone who would argue against implementing it.

Here, I wanted to gather those benefits into one central place. But I also thought it would be fun to play devil’s advocate and try to find the drawbacks, or challenges, of continuous integration.

What Is Continuous Integration?

Fundamentally, continuous integration (CI) is a development practice where developers integrate code into a shared repository serval times a day. In that repository, the code is verified by an automated build that detects any problems early in the process. This allows teams to spend less time backtracking and more time building new features.

The Benefits of Continuous Integration

1. Risk Mitigation

According to Martin Fowler, the most substantial benefit of continuous integration is reduced risks. By deferring code integration, teams increasingly compound the number and severity of their merge conflicts. When teams integrate frequently (with an automated build), they reduce the number of potential risks because they always know the current state of their system.

2. Quality Insurance

Teams that implement continuous integration have greater confidence in their operations. They know the automated build is catching defects immediately, which allows them to promise quality. They aren't guessing the number of bugs in their system either, which allows them to give accurate numbers to their teammates and a better service for their customers.

3. Increased Visibility and Enhanced Teamwork

An automated build provides a team complete visibility into their system. They know the number of issues and can combat them quickly. Increased visibility also allows teams to coordinate before a small issue turns into something bigger. 

The Challenges of Continuous Integration

1. Organizational Culture Changes

Some businesses prefer traditional methodologies and might have a hard time implementing continuous integration. They would have to retrain staff members, which would mean overhauling existing operations. Managers may be resistant because continuous integration doesn’t help them meet their immediate company objectives (e.g. money over quality).

2. Difficult to Maintain

Building an automated code repository is not a simple task. Teams must build the proper testing suite and spend time writing test cases versus developing code. At first, this could slow them down and make them lose faith in completing their own projects on time. If the testing suite isn’t stable, it could work perfectly on some days, but other days it may not work. The team would then have to spend more time trying to figure out what happened.

3. Numerous Error Messages

For larger development teams, they may see CI error messages daily and start ignoring them all together because they have other tasks and concerns. They may start to see a broken build as a normal thing and defects could start accumulating on top of each other.

Continuous Integration/Deployment Integration

Opinions expressed by DZone contributors are their own.

Related

  • Jenkins in the Age of Kubernetes: Strengths, Weaknesses, and Its Future in CI/CD
  • What Is API-First?
  • Choosing the Best Cloud Provider for Hosting DevOps Tools
  • DevOps: CI/CD Tools to Watch Out for in 2022

Partner Resources

×

Comments

The likes didn't load as expected. Please refresh the page and try again.

  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook