As users hunger for new versions and fresh features of their favorite apps, software developers are under increasing pressure to release updated apps in shorter and shorter time spans. However, when developers code faster, they’re naturally apt to make more errors, which can ruin the user experience and harm a brand’s digital reputation as customers share negative reviews. No matter how much time developers have for each release, it’s impossible to launch an error-free app, since some bugs are inevitable. So how do enterprises speed up app releases while protecting application quality?
Progressive delivery is a method of software development that allows organizations to release updated apps rapidly while maintaining quality and minimizing the chance of bugs wreaking havoc on the stability of the app. Traditional app delivery makes it impossible for developers to execute faster app releases without resulting in more coding errors, but progressive delivery is designed specifically to support this new paradigm.
There are three key features of progressive delivery. The primary one is:
The second two features of progressive delivery fall under the umbrella of phased rollouts:
By embracing phased rollouts, feature flagging and experimentation, progressive delivery supports faster releases and better app quality. When it comes to speed, with the traditional approach, most app updates are broad in scope and can include several significant new features. As a result, these updates take longer and materialize less frequently — perhaps once every 2-3 months. With progressive delivery, each app update is narrower in focus and includes fewer significant new features. This means that updates come quicker and can be pushed to users every few days. Rather than having to wait months for a new version of an application, users can get a fresh feature every few weeks.
Progressive delivery also ensures better app quality and stability. In traditional app delivery, testing and quality assurance are done during the pre-production phase. The assumption is that any serious coding errors will be caught before that new version is released to the general public. But as noted above, it’s impossible to detect all bugs before an app is released, as some bugs will only become visible once they start affecting real users. When a new release is made available to everyone at the same time, these errors can impact the entire customer base. Engineers then have to scramble to identify and correct those bugs, but the damage to the user experience has already been done.
Progressive delivery fundamentally extends the processes of testing, finding errors and fixing bugs to the production phase without subjecting most customers to those bugs. Since new releases and features are first made available to only certain users, then gradually expanded to more users, engineers can detect any problems early on, then fix them before rolling out the new release or feature to all users.
Of course, bugs aren’t the only thing that impacts app quality. A new feature could work correctly, but maybe it doesn’t optimize the app experience. For example, a revamped sign-up button might not drive as many users to register for an app as the old sign-up button. Using experimentation, progressive delivery allows engineers to test how different feature variants perform with actual users so they can choose the best option before rolling it out to everyone.
App and error monitoring tools are useful for supporting progressive delivery. These tools include data-rich dashboards that allow engineers to catch bugs and view how new features are performing during phased rollouts, while also helping manage feature flagging and experimentation efforts.
With accelerating digital transformation, applications have become more important than ever. Post-COVID, customers increasingly consume products and services (both B2B and B2C) through web and mobile apps. And with this growing reliance on apps comes growing expectations: Users today expect faster app releases, complete with more new features, without having to sacrifice app quality or stability. Organizations must adopt progressive delivery to accommodate customers in this new landscape.