Agile teams will face many technological challenges as they implement continuous delivery. Continuous delivery...
By submitting your personal information, you agree that TechTarget and its partners may contact you regarding relevant content, products and special offers.
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.
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 Software Development Fundamentals
Related Q&A from Gerie Owen
Expert Gerie Owen discusses the differences between a startup culture and an established company's work environment. Learn more about which would ...continue reading
Does the development team determine the software test schedule? Find out why working with DevOps can alleviate some time and test constraints.continue reading
The Agile team collaborates closely and makes a lot of changes. What does the ideal Agile tester possess in technical and people skills?continue reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.