2
How important is continuous integration to an Agile team?
Continuous Integration (CI) Scrum XP
Is continuous integration really that important in-order to grow a successful Agile team? I’m a ScrumMaster for a new Agile team, in fact we’re all new to Agile (myself included). I’ve heard we should be using a continuous integration (CI) server such as Hudson, which we’ve now got in place. However, I’m having a hard time convincing the team of it’s value. They say it’s impossible to frequently commit and keep the build server green.
How important is continuous integration, and has anyone else come across similar reluctance from their teams?

This solution has been deemed correct by the post author
How important is continuous integration? Well pretty important, after all there’s a reason Scrum borrows this (and other practices) from XP.
Agile methods put an emphasis on doing risky things first. Initially integration may not seem particuarly risky, but failing to integrate early (or integrating infrequently) will mean problems go undetected for longer periods. By integrating continuously you are ensuring:
Early feedback
If there’s there’s anything wrong with your build you’ll find out early, if you’re integrating constantly and the build suddenly breaks you know the problem was introduced in the last build and seeing as you’re integrating frequently you would have only changed a small part of the system so the problem should be easy to track down.
Reduction in waste
By providing early feedback continuous integration helps streamline your process as integration issues are found early. This means the team spends less time fixing bugs and more time producing features, proving bugs are less costly when found early.
Improved software quality
Continuous integration uncovers bugs early, leading to more stable, higher quality software
ROI from automated tests
You’ve spent a lot of time automating tests, make sure you are realising their value, get them running frequently and finding bugs often. Ensure the build breaks if a test fails and ensure the failure is visible so the build can be fixed quickly
Painless Integrations
With continuous integration there are no longer big end of project integrations where integration has been deferred to the very end of the project and you suddenly find design issues that were made at the start of the project which are making the integration difficult.
It’s probably also worth mentioning that some teams even deploy to another environment on the successful completion of a build. This ensures the automated deployment scripts (which will eventually be used in deployment to production) are frequently tested prior to being used in production.
It sounds like your team just need a bit of convincing, discuss it with them outlining the benefits above and see what they say. Let us know how you get on.
Was this answer helpful?
LikeDislikeBrilliant. Thanks a lot, I will discuss with the team tomorrow. Wish me luck!
Was this answer helpful?
LikeDislike