Progressive delivery is a new approach to software deployment, building on the principles of continuous delivery. It prioritises the user experience, enabling developers to test new features in production with real users and real use cases. Progressive delivery is about decoupling deployment from release, meaning new features can be deployed in the production environment but not yet released to all users.

Feature flags, or toggles, are a key tool in progressive delivery. They allow developers to control who sees what, enabling them to test new features with a subset of users before rolling them out more widely. This can help to reduce risk and improve user satisfaction.

Canary deployments are another important aspect of progressive delivery. This involves rolling out changes to a small group of users first to test the impact. If problems occur, the changes can be rolled back quickly, minimising disruption.

Service meshes, which control how different parts of an application interact, are also fundamental to progressive delivery. They provide a way to manage deployments and rollbacks, as well as to monitor and secure communication between services.

Progressive delivery represents a shift in the way software is developed and deployed, with a focus on user experience and risk management. It offers a more flexible, responsive approach to software delivery, enabling developers to adapt quickly to user needs and feedback.

Go to source article: https://redmonk.com/jgovernor/2018/08/06/towards-progressive-delivery/