CloudBees partnered with Hurwitz and Associates to survey 150 IT decision makers across a wide range of industries, including: technology, manufacturing, financial services, education, healthcare, retail and several more. 57% of respondents were in organizations of 1,000 - 5,000+ employees, while another 36% were in organizations of 100-999 employees. A majority of respondents held senior management titles: director of DevOps, CEO, VP of operations, VP of development, CIO and CTO. The remainder held a variety of titles in development, tools or engineering management roles. All respondents said they were using open source software in their organization. Some common open source tools cited were: Jenkins, Docker, BuildBot, Puppet, Chef and Fabric8. In most cases, the responders reported they were using enterprise-supported versions of the open source technologies. More than 50% were using continuous integration company-wide, while almost half were utilizing continuous delivery processes.
Three major take-aways were extracted from the survey results. These three topics are summarized in a series of three blog posts, of which this is the first:
Why Enterprises Are Embracing Continuous Delivery (this post)
We hope you enjoy the series!
Mobile devices and web-based services have enabled a new generation of applications that receive frequent updates. These applications are continually improving by adding new features and functionality based on user feedback. While traditional applications might receive quarterly updates, these new dynamic applications may be updated several times a week or more. In fact, users now expect apps to be improved on a regular basis.
Frequent application updates mean that developers must change the way they build and deliver software. Traditional development and deployment teams wait to accumulate a large number of code changes and then incorporate the updates into periodic builds. Because of increasing pressure to meet customer and business requirements, developers today must update applications dynamically. To meet the challenge of continually improving applications and adding functionality, many organizations are implementing continuous delivery methodologies where new functionality is rolled out on a regular basis.
Continuous delivery is a process that enables development teams to continuously deliver secure and tested code in a production-ready state at all times. To accomplish continuous delivery, application development teams incorporate automation to deliver updates more rapidly and with fewer errors. Once a new feature or update is complete, the code can be immediately made available for deployment to test environments, pre-staging or even live production. When a continuous delivery model is adopted, software is continuously tested for production readiness with feedback provided automatically whenever a change is made.
The first step to implementing a continuous delivery methodology is continuous integration. Continuous integration is when developers automatically integrate code into a shared repository. After a developer checks in code, it is then verified by an automated build and test process. Continuous delivery extends this automation across the complete application delivery lifecycle, beyond just the development team.
Hurwitz & Associates recently completed a study of 150 IT decision makers sponsored by CloudBees. The respondents represented a large range of titles, mostly within an organization’s development department. Approximately 14% of respondents were directors of DevOps while other respondents identified themselves as VP of operations, application engineers/managers and other leaders within IT. For smaller and mid-sized companies, CEOs, CIOs and CTOs participated in the study.
In the study, more than 77% of respondents reported either company wide or business unit implementation of continuous delivery. Survey respondents were asked to identify their top challenges that led to implementing continuous delivery. It is clear that improving offerings and keeping pace with competition were top drivers in changing their development process to a continuous delivery model. The chart below shows the results of the finding.
Figure 1: Top Challenges that Led to Implementing Continuous Delivery
More than 45% of respondents said that improving product and service capabilities is a driver to implementing continuous delivery. This finding coincides with findings from interviews that Hurwitz & Associates has conducted with IT leaders. Continuous delivery allows development organizations to iteratively improve offerings rather than making major overhauls and updates.
More than 42% of study participants reported keeping up with competition as a driver for implementing continuous delivery. Competitors are increasingly finding new ways to deliver services and businesses must be able to quickly adapt or they risk losing market share. Continuous delivery offers a way for organizations to quickly respond to these competitive risks.
Almost a third of respondents (32%) said that a top driver for implementing continuous delivery was to keep up with customer expectations. Both corporate and consumer users expect applications to improve on a continual basis. This expectation for continual improvement is especially high for cloud-based and web applications.
We also asked survey participants to rate the impact of implementing continuous delivery on their business. It is clear from the study that the vast majority (81%) of respondents feel continuous delivery is helping their organizations bring value to customers and deliver on business goals. Approximately 44% of study participants reported significant improvements in their organization’s ability to give customer value and meet business objectives after implementing a continuous delivery model. Finally, none of the 150 study participants reported a decline in meeting business goals after implementing continuous delivery.
Figure 2: The Impact of Continuous Delivery
IT organizations must increase the speed of application delivery to innovate, outmaneuver the competition and meet user expectation; they do not have a choice. Traditional application development approaches are not designed to keep up with the increasing pace of business change. Many organizations are therefore implementing continuous delivery models to create more agile development processes. As our CloudBees-sponsored study shows, organizations that have adopted continuous delivery are seeing huge success in terms of meeting customer value and business objectives.