Software deployments have historically been seen as a technical activity that “the engineers will handle” but as software permeates everything around us, your software (and its deployments) directly impact your relationship with your customers in growing ways.
In April 2015, a major airline made a bad deployment to iPads that contained airport terminal maps, resulting in planes full of passengers being grounded for over 5 hours – causing heartache and frustration for thousands of passengers. In the past, this was never an issue — pilots used to carry log books containing physical maps. In July 2015, a software glitch took down trading for an entire day at a major stock exchange, costing millions of dollars in the process. Your software increasingly defines your relationship with your customers and your software deployments must now be tied directly to business-level metrics, since they are now impacting those metrics and breaking customer trust in expensive ways when they fail.
We now know that “39% of e-retailers claimed they lost money last year due to performance or stability problems,” according to one study. The impact of poor deployments or unexpected changes in customer relationships are costing millions of dollars in lost opportunity to the Fortune 500.
The most advanced technology companies like Netflix, Google, Facebook, and others use deployment methods like phased or canary deployments. This adds a layer of sophistication to the deployment but require intelligence & decisioning to define what makes a “good” deployment. Fortunately, the data required to understand your relationship with your customer already exists within your company. Data sources like Salesforce, Google Analytics, and Mixpanel contain a wealth of knowledge about your users behaviors. Additionally, there are data sources like New Relic and Datadog that monitor application and system-level metrics. When used in tandem, you can paint a much clearer picture on what a good vs bad deployment looks like, and rollback the bad ones before they harm your business.
To take full advantage of this data, automation is required. Today, most applications send alerts only when a human-defined threshold is reached for a specific metric. By then, it’s too late – your customer’s experience with your product has already been damaged because most deployments are an all-or-nothing process (i.e. deployed to 100% of the customer-base). Additionally, this is bad for the culture of the engineering team. If the deployment is bad, this leaves the operations team in “fire drill” mode, scrambling to figure out what happened resulting in engineers pointing fingers and redirecting blame.
Armory’s vision is to stop bad deployments before they happen. Modern software applications require a sophisticated deployment system. If you’d like to learn more about how to make software a core competency, contact us.