Will ‘Continuous Delivery’ Transform the Production of Software?

Will ‘Continuous Delivery’ Transform the Production of Software?

The “continuous delivery” process of building, testing and deploying software is relatively unknown — but that could be about to change thanks to the publication of a new book on the subject.

“Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation,” (Addison-Wesley Signature Series (Fowler), is written by Jez Humble and David Farley, and is available from major booksellers

The basic idea behind continuous delivery is that by automating the build, deployment, and testing process, and creating improved collaboration between developers, testers, and operations, delivery teams can release software updates in a matter of hours–sometimes even in minutes, regardless of the size of a project or the complexity of its code.


“Think of continuous delivery as Agile on steroids,” said David Thomas, a software engineer at Rally, a leader in Agile application lifecycle management. “It is an extreme form of agile and lean software development that seeks to minimize waste and maximize speed and efficiency.”

Clearly, continuous delivery is not for everybody.

“But, if you’re in an environment where you need or want to deploy changes to production 50 times per day, continuous delivery will enable you to do so,” said Thomas.

This is still very cutting-edge stuff, he added, noting that the concept of continuous delivery only began surfacing in conferences and forums about a year or two ago.

“Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation” covers build and deployment automation, continuous integration, test automation, managing infrastructure and environments, configuration management, version control practices, data migration automation, and even governance, wrote Humble in a recent blog.

The book has two primary themes: automation and collaboration.

Delivering software of any complexity involves people with a bunch of skills: testers, developers, and sysadmin / operations personnel,” said Jez Humble.

The last group of people often gets left out of the process of delivering software until the end, and even testers are often not as heavily involved in the development process as they should be.

“It’s a pattern we see over and over again when helping people deliver software, and it inevitably leads to unacceptable numbers of defects, poor architectural decisions, and lengthy and unpredictable delays to getting releases out of the door,” said Humble.

One of the main aims of the book is to provide a framework so everybody involved in the delivery process can work together from the beginning.

Automation is key to enabling such collaboration.

When most of the process of software creation, testing and deployment is manual, the process can be very error-prone. Using manual practices, delivery teams typically spend a large proportion of their time scrambling to merge branches and create new builds created so they can be deployed into a production-like environment and tested.

This inevitably means that the feedback loop from testing is incredibly slow, and doing things such as load testing on staging environments gets left till late in the process, rather than being done from the beginning when problems can be fixed cheaply.

Automating as much as possible of the delivery process ensures a much tighter feedback loop, said Humble. “It also frees people to focus on high-value activities such as evolving an appropriate architecture, exploratory testing, and making deployments and releases low-risk, push-button processes.”

The Deployment Pipeline

There is also an organizing principle for all of these activities: the deployment pipeline.

The description and elaboration of this pipeline forms the core of the book. The idea behind the pipeline is to help developers model each part of the value stream that goes from check-in to release, and then to automate it. Every check-in triggers a new build, which then passes through the deployment pipeline as shown below.

The authors of the book claim the deployment pipeline allows everybody involved in delivering software to get fast feedback on the status of every change introduced to an application. The theory is that such feedback makes it simple to trace which builds have been through which environments, what the results were, and what’s currently in each environment.

Finally, it allows testers and operations people to self-service the build of their choice into the environment they control. The upshot is faster feedback, better collaboration within delivery teams, and — because each process from check-in to release is automated – fewer errors, more reliable releases, and shorter cycle times.

Share the Post:
Heading photo, Metadata.

What is Metadata?

What is metadata? Well, It’s an odd concept to wrap your head around. Metadata is essentially the secondary layer of data that tracks details about the “regular” data. The regular

XDR solutions

The Benefits of Using XDR Solutions

Cybercriminals constantly adapt their strategies, developing newer, more powerful, and intelligent ways to attack your network. Since security professionals must innovate as well, more conventional endpoint detection solutions have evolved

AI is revolutionizing fraud detection

How AI is Revolutionizing Fraud Detection

Artificial intelligence – commonly known as AI – means a form of technology with multiple uses. As a result, it has become extremely valuable to a number of businesses across

AI innovation

Companies Leading AI Innovation in 2023

Artificial intelligence (AI) has been transforming industries and revolutionizing business operations. AI’s potential to enhance efficiency and productivity has become crucial to many businesses. As we move into 2023, several

data fivetran pricing

Fivetran Pricing Explained

One of the biggest trends of the 21st century is the massive surge in analytics. Analytics is the process of utilizing data to drive future decision-making. With so much of

kubernetes logging

Kubernetes Logging: What You Need to Know

Kubernetes from Google is one of the most popular open-source and free container management solutions made to make managing and deploying applications easier. It has a solid architecture that makes

ransomware cyber attack

Why Is Ransomware Such a Major Threat?

One of the most significant cyber threats faced by modern organizations is a ransomware attack. Ransomware attacks have grown in both sophistication and frequency over the past few years, forcing