These days, companies in just about every industry are undergoing digital transformations in some form. In many ways, every business is now a software business. Even industries that you may not think of as technologically focused, like finance and healthcare, are making their software strategies central to growth.
An emerging hallmark of innovative software strategies in these industries is progressive delivery, the gradual release of new software features to users over time. By turning their attention to progressive delivery, leaders in these sectors can help their businesses be more efficient and innovative, while also improving their security and compliance posture. And that’s not all, it also helps with customer engagement and segmentation while improving developer productivity.
How progressive delivery differs from traditional software release
In the traditional model, new software is released in a “big bang” approach where a whole slew of features go live at one time to all users. Progressive delivery on the other hand rolls out software features in a controlled fashion, most commonly using a development tool called a feature flag. “Feature management” capabilities allow the control of feature flags at the enterprise level, so developers can create new features and toggle them on and off, controlling who sees them and when.
While tech-forward companies have embraced this new software delivery strategy, feature management has an important role to play in traditional industries as well. After all, who doesn’t want to mitigate risk, increase productivity, and improve user feedback?
Every software release runs a risk, and progressive delivery functions as a great safety net. By releasing software to a subset of users first, businesses can test their code and limit the number of users exposed to any bugs. Plus, with feature management, harmful features can be quickly turned off without needing to shut down an entire software version. No one wants to use a kill switch, but when you need one – you really need one.
Feature management also offers a low-risk method for migrations. Rather than rewriting huge subsets of code for a one-time migration, developers can use feature flags to gradually direct users to the new service. This allows them to discreetly test out the new connection a little bit at a time and turns a migration into a gradual, low-risk process instead of a singular, risk-prone event.
Increase developer productivity
Traditional software release practices require software and business teams to work at the same pace so that both sides align with a big software release. With feature management, developers can create new features and deploy them to production as soon as they’re ready. The business team can then reveal the features to customers on their own timeline. Segmenting software also ensures that no one feature will hold up a release, so rollouts can continue as scheduled.
Additionally, features can be developed directly in trunk, rather than merged down from feature branches. Features that aren’t ready can be disabled so that they receive all updates to the code, but aren’t prematurely made live. This allows developers to focus on making the best features, not making them the fastest.
Advanced user testing
One of the most fun parts of feature management is the newfound possibility for experimentation, and therefore innovation. Businesses can run A/B testing at a much more granular level by toggling between features for different audience segments based on specific characteristics, such as geography or purchase history. When feature management is paired with a user analytics engine, this allows for highly targeted feedback about how real customers use new features and which ones are working best.
You can use that feedback to inform future feature design. For example, you can roll out a new feature to a small percentage of users and ask for their feedback. If it’s poorly received, the feature can be programmed to automatically revert. In this case, lower risk means a much higher potential for innovative new ideas.
Feature Flags within CI/CD
When you begin to think about implementing a feature management strategy, make sure it’s fully integrated with your software delivery pipeline. When developers add new code, they can use feature management to deliver ready-to-go features. The operations team can then toggle them on or off based on the business case. This shared visibility allows all stakeholders to gain new insights based on a feature’s performance.
Without an enterprise-wide feature management system, only development teams would know the status and performance of each feature. Shared governance keeps everyone in the loop so feature flags don’t become a liability. With a fully integrated feature management system baked into your software delivery pipeline, the entire organization can get the benefits of feature flags without adding unnecessary confusion or complexity to the process.
Progressive delivery for every industry
Progressive delivery is no longer just for hip startups – it’s for every industry and company that wants to mitigate risk and create a better user experience without sacrificing developer productivity. Progressive delivery is a key component to a competitive software delivery strategy and will help businesses pull ahead of other players in their space. The goal of this rolling approach is to bring more innovation to market faster and with less risk. That’s something every business can get behind.
- Staying Ahead of the Competition with Progressive Delivery - June 8, 2022