Progressive Delivery

Download Ebook
Progressive Delivery

Progressive Delivery vs Continuous Delivery

Progressive Delivery helps teams move faster, in part, by reducing risk.

As teams shift to a Continuous Delivery model, they require infrastructure that mitigates the risks of shipping buggy code.

Continuous Delivery

Emphasizes the need to keep code in a deployable state at all times. It lacks inherent safety valves and control points needed to protect the customer when failures occur.

Progressive Delivery

Emphasizes control. It is built for failure, and it includes kill switches, safety valves, and control points that enable you to limit the blast radius of failures.

Continuous Integration and Continuous Delivery (CI/CD) emphasizes the need to keep code in a deployable state at all times. This entails continuously integrating the code of new features with the master branch (or trunk) of your application, rather than waiting several weeks to check the code of long-lived feature branches back into master. The goal of CI/ CD is to accelerate the development and delivery of software to users, while reducing risk relative to Waterfall.

While CI/CD enables teams to move fast, the tools associated with it do not have the inherent safety valves and control points to protect the service and the consumer when failures occur. When teams deploy to production, this can mean releasing changes to all users at the same time. This can be catastrophic in cases where software changes contain major bugs.

And while canary deploys and percentage rollouts are a part of the CI/CD model, greater protections need to be put into place to address the risks that come with moving faster.

Progressive Delivery incorporates a “built-for-failure” model through the use of feature flags and a feature management platform that consolidates all the control points into a single interface. This is a key distinction of Progressive Delivery—it requires this aspect of control.