Categories
Uncategorized

Progressive Delivery: tools and culture change

Progressive delivery is the practice of rolling out an application in a managed fashion to designated cohorts, making canarying, blue/green deployments, and A/B testing foundational to testing and deploying applications. Progressive delivery thus reduces risk and increases control by decoupling deployment and release, allowing more groups to be included in the release process, from product management to marketing, development to IT operations. Progressive Delivery allows release progression and radical delegation

The progressive delivery trend is on the verge of entering the mainstream. However, as we see with any technology-driven wave of innovation, we need platforms to drive the culture. Change of tools drives culture change, just as culture change drives a tool change. Many companies are now coalescing around concepts that enable progressive delivery led by feature management firms, like LaunchDarkly and Split.io. 

But just as important, other innovations from companies in the CI/CD space, whether that be CloudBees, CircleCI, GitLab, or GitHub. At the same time, Observability and integration with software delivery is becoming ever more important. If we look at Honeycomb, Datadog and Dynatrace, they’re all coalescing around this ability to look at application traffic patterns, before rolling them out more broadly.

These patterns generally begin in terms of control, minimizing risk, and ensuring compliance. They may also be in terms of a performance, they may be questions of application functionality or even and this is where things get interesting as a possibility, A/B testing and experimentation. The market is still young, but the platforms are becoming more and more mature, which is going to make it easier for organizations to adopt progressive delivery approaches. 

Now all of this stuff is hard as we’ve seen with DevOps, agile, and observability. The enterprise, or at least one department of it, may get some of the way there, but we’re certainly not seeing wall to wall adoption by enterprises. Modern engineering excellence is found in pockets. The question is how to encourage and enable broader adoption. There are a set of disciplines that are interconnected that need to be adopted, leading to Production Excellence as Honeycomb calls it – in order for us to move forward and take advantage of some of the new possibilities that FAANG companies and startups have demonstrated. 

CD is often the top of the spear for progressive delivery changes in an organization. Enterprises seeking to accelerate the rate at which they can develop new products and services, with improved quality, are looking to remake their testing and build workflows into modern automated pipelines. Flux, now a CNCF incubator project, is a good example – while it’s a CD platform it also brings an associated project Flagger into customer adoption, and thus we see organizations such as the US DoD adopting these new practices. The DoD is an early adopter. While the practice of progressive delivery may not be fully mainstream yet, the DoD is a bellwether for broader adoption.

For many organizations trying to adopt continuous delivery they realize that CD is not complete for their business. Progressive delivery provides the control and inclusion of business teams that many organizations need to be successful.

As an industry, we’re increasingly getting there, with more standardised tooling, with workflows becoming more automated, and the ability of operations and developer teams to work together more effectively. Platform teams are seeking to pull all of this together, in providing managed services to developer teams. 

So progressive delivery, the delegated rollout to designated user populations in order to reduce risk and increase business functionality, is increasingly becoming a reality.