Continuous delivery is a set of software development principles and practices that help reduce the risk of delivering incremental software changes to users — helping teams become highly responsive to their changing needs, without sacrificing code quality.
It’s the approach that enables organizations like Netflx and Amazon to release new services, features, and content very quickly. It also allows for development groups to get experimental revisions into users’ hands to discover which updates will create the most value to the business and its customers.
Continuous delivery is a set of principles and practices that enable the rapid delivery of software changes, without increasing risk.
Greater goto market flexibility and agility, lower deployment costs, and reduced delivery and deployment risk.
It requires significant process, workflow, and culture evolution.
What is it?
Continuous delivery is a set of principles and practices that enable organizations to create and deploy small software releases rapidly, without increasing deployment risk or sacrificing quality of code. The concept of continuous delivery was first described in the 2010 book co-authored by Thoughtworks alumni Jez Humble and David Farley of the same name.
In continuous delivery, tasks that traditionally followed development — like testing, integration, and deployment — happen continuously throughout the development process. Often, a lot of that work is also automated, helping to cut costs, while simultaneously enabling teams to perform those tasks on-demand, and ultimately, get new features and software updates into users’ hands faster.
What's in it for you?
Continuous delivery helps development and delivery teams — and their organizations — become lean, agile and highly responsive to shifting user preferences and demands. It helps create a culture where a larger number of releases are pushed to users much faster, helping teams ensure that everything they deploy delivers strong value — and quickly change course if it doesn’t.
What are the trade-offs?
Continuous delivery requires the right mindset to deliver value. For teams used to working in the traditional model of developing large, infrequent releases, and performing testing, integration, and deployment at the end of a development process, it represents a significant evolution in their workflows.
As with any shift towards lean, agile operations, enabling that evolution requires clear leadership and a strong commitment from those driving the change. The approach demands close collaboration between testing, development, and operations teams, so in some cases it could require team or process reengineering.
How is it being used?
Since its inception in 2010, continuous delivery has quickly been embraced by enterprises and organizations of all sizes. It’s had a significant impact in large enterprises that are looking for ways to become as lean and agile as startup competitors by developing and releasing software in the same way they do.
Would you like to suggest a topic to be decoded?
Just leave your email address and we'll be in touch.