Several benefits of continuous delivery have been reported. • Accelerated
time to market: Continuous delivery lets an organization deliver the business value inherent in new software releases to customers more quickly. This capability helps the company stay a step ahead of the competition. • Building the right product: Frequent releases let the application development teams obtain user feedback more quickly. This lets them work on only the useful features. If they find that a feature isn't useful, they spend no further effort on it. This helps them build the right product. • Improved productivity and efficiency: Significant time savings for developers, testers, operations engineers, etc. through automation. • Reliable releases: The risks associated with a release have significantly decreased, and the release process has become more reliable. With continuous delivery, the deployment process and scripts are tested repeatedly before deployment to production. So, most errors in the deployment process and scripts have already been discovered. With more frequent releases, the number of code changes in each release decreases. This makes finding and fixing any problems that do occur easier, reducing the time in which they have an impact. • Improved
product quality: The number of open bugs and production incidents has decreased significantly. • Improved
customer satisfaction: A higher level of customer satisfaction is achieved. Obstacles have also been investigated. • Customer preferences: Some customers do not want frequent updates to their systems. • Domain restrictions: In some domains, such as telecom, medical, avionics, railway and heavy industries, regulations require customer-side or even on-site testing of new versions. • Lack of test automation: Lack of test automation leads to a lack of developer confidence and can prevent using continuous delivery. • Differences in environments: Different environments used in the development, testing and production can result in undetected issues slipping to the production environment. • Tests needing a human
oracle: Not all quality attributes can be verified with automation. These attributes require humans in the loop, slowing down the delivery pipeline. Eight further adoption challenges were raised and elaborated on by Chen. These challenges are in the areas of organizational structure, processes, tools, infrastructure, legacy systems, architecting for continuous delivery, continuous testing of non-functional requirements, and test execution optimization. == Strategies to overcome adoption challenges ==