How long can modern organizations afford to engage in waterfall releases?
Those who continue to permit long, drawn-out development cycles will doubtless struggle to compete. And this applies not only to the technology sector but to organizations in finance, manufacturing, retail, and beyond.
After all, every company is becoming a software company.
But moving faster – e.g. shipping software changes more frequently – comes with risks. Organizations justifiably fear downtime. According to a 2014 Gartner study, the average cost of downtime is $5,600 per minute. In 2016, Ponemon Institute, a research center, published a paper that raised that number to $9,000 a minute. Facebook lost an estimated $90 million in 2019 due to an outage lasting 14 hours. Such costs, not to mention the emotional toll on engineering teams, should be avoided.
In light of this, it’s perfectly reasonable to tread cautiously when deploying software to production. Unfortunately, slow and cautious go hand in hand. And maintaining a slow, cautious pace would be sustainable if other organizations did the same. But that’s not the case.
Twenty percent of the software teams surveyed in the 2019 State of DevOps Report were deemed ‘elite performers’. Among other things, the elite have learned how to safely push code changes to production several times a day. In fact, they deploy 208x more frequently than lower performers. That’s fast. Interestingly, they also recover from incidents 2,604x faster. So, elite teams have achieved not only speed in software delivery but stability.
How do they do it? More to the point, how can you do it?
One answer among many is ‘feature management’.
Feature management: enabling speed and safety all at once
Feature management is a new class of software development tools and practices anchored in the use of feature flags. Feature flags are decision points (if-then statements) in your code that can alter the behavior of your application.
Feature management enables teams to use feature flags on a large scale across a wide range of complex use cases. A feature management platform like LaunchDarkly provides robust access controls, facilitates cross-team collaboration, ensures system reliability, supports regulatory compliance, and offers an intuitive UI for teams using feature flags.
One of the most powerful benefits of feature flags is that they allow you to decouple code deployments from feature releases. That is, developers can deploy code to production whenever they want, and product managers, for example, can release those features to customers when they’re ready. This has a profound effect on product delivery. It allows teams to test features in production long before releasing those features to users. This gives you extreme confidence once you eventually decide to go live with new functionality.
Another major benefit of feature flags is that you can use them as ‘kill switches’ when things go wrong. They allow you to disable a buggy feature without having to perform hotfixes, change config files, or restart your entire application. You simply toggle a feature flag.
The ability to deploy features without exposing them to users, paired with the ability to reverse course as soon as an error occurs, give teams the confidence to increase their velocity. Feature management thus provides those stuck in waterfall with the safeguards they need to engage in continuous delivery.
Continuous delivery for all
Daring and cautious firms alike recognize the imperative to move faster. But they need some kind of safety net in place to do so confidently. Feature management is that safety net. By dramatically reducing the risk of shipping code changes, feature management enables those for whom continuous delivery was a bit too scary before, to pursue it at last.