Progressive Delivery, a History...Condensed
Software development has evolved over time, mirroring changes in delivery mechanics. Early stages involved physical hardware devices for software procurement, leading to long cycles that mapped to hardware design and validation intervals. Waterfall complemented this staged process well. As packaged software decoupled from hardware procurement, teams sought faster ways to deliver software, leveraging the validation stage for beta testing or early access programs. Agile and Scrum models emerged with the idea of breaking down movement towards a goal into small changeable tasks or stories. This allowed minor course corrections on the journey towards the big picture. The advent of Software as a Service (SaaS) led to continuous delivery, where updates could be made at any time without physical deliveries. However, this also meant immediate exposure to bugs or errors. Feature flagging was used to separate code deployment from feature release, allowing developers to make minor changes and fix bugs without redeploying the entire application. Progressive Delivery emerged as a new approach that staged the release of features or updates in a way that managed their impact. This involved separating code deployment from feature release and controlling the release like a valve or gate that could be slowly opened and closed. It also required feedback data about how various features were being accessed and consumed. While Continuous Delivery can be done with or without a feature management platform, Progressive Delivery requires this aspect of control. This approach incorporates a 'built-for-failure' model through the use of feature flags and a feature management platform that consolidates all control points into a single interface for organizations of any scale.
Company
LaunchDarkly
Date published
Aug. 6, 2018
Author(s)
Adam Zimman
Word count
1498
Hacker News points
2
Language
English