What is continuous delivery
Continuous delivery is basically built around automating the four main stages of development. These stages are Building, Integration, Testing and Deployment. This enables transparency and feedback between different development and operational teams, while providing for continuous integration.
Continuous delivery begins with the coding of deliverable modular units that are then handed off to the subsequent teams. New features are integrated into the base code on an ongoing basis and each build is unit tested to provide feedback that travels back up the line.
Each new version is rigorously tested as the various aspects of the growing application are verified along the pipeline. The vast majority of this is done through test automation.
Automation also enables deployment to virtual environments before being deployed in the real world. Teams can construct virtual environments that enable reproducible results in a controlled ecosystem. This reduces risk at rollout. The automation of the development cycle makes it possible to monitor deployment and functionality before rollout is complete and makes for faster and more reliable delivery. It also means that software testing of new products can take place in realistic virtual environments, at any time.
Continuous delivery enables new features to be brought to production quickly and tested individually, integrated and tested again prior to rollout. This is very different from the traditional system where entire versions were implemented at one time. It also eliminates the problem of user acceptance testing taking place at the end of the cycle and often at the last minute. This is an important step forward in software development and testing, providing that quality and functionality are assured at each step along the way.