Evaluate Weigh the pros and cons of technologies, products and projects you are considering.

What technological challenges occur with continuous delivery?

What technological challenges will an Agile team face as they implement continuous delivery? Read this expert answer to find out.

Agile teams will face many technological challenges as they implement continuous delivery. Continuous delivery requires developing a methodology or approach through which new code is ready to be deployed to production at any time. Continuous delivery is not continuous deployment. Continuous delivery is producing code that is ready for deployment; the code doesn't have to be released continually.

The most complex challenge that Agile teams face as they implement continuous delivery is the need to achieve continuous integration. Continuous integration is a process in which developers integrate small pieces of their code into the code base frequently. Obviously, this requires continuous testing.

To achieve continuous testing, a build server is usually used as a repository to collect the code as individual developers commit it. Then, the build server can automatically smoke test the code before formal testing. Unit tests and simple integration tests can also be automated by the build server.

When continuous integration is achieved, code is automatically regression tested as soon as it is checked in by the developers. This means that each change is tested against the entire code base. This is the key to continuous delivery because continually tested, integrated code is ready to be deployed to production at any time. On the developers' end, if any of these automated tests fail, the developer gets feedback right away, which makes errors easier to find and fix.

Continuous integration poses unique challenges for testers because it not only requires a test harness, or a suite of automated regression test scripts, but also those automated scripts must be constantly updated as new features are delivered.

Automated configuration management is crucial to achieving continuous integration. Automated configuration management ensures that the development, test and production environments are almost the same so that regression and integration related defects are easily found.

Finally, application performance management becomes critical as code is deployed to production continually. Performance must be monitored in production to catch performance issues before the customer does.

Next Steps

Find out the business benefits of continuous delivery

Uncovering the technical advantages of continuous delivery

Why you should use continuous software delivery for mobile

Dig Deeper on Topics Archive

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.