Unlocking the True Power of Continuous Delivery: How Automation Transforms Software Development

Published on
3 minute read

If you’re venturing into the realm of continuous delivery, you might be pondering the benefits it brings to your organisation. While many tout speed as the primary advantage, I’ve come to realise that this is merely a by-product of a much deeper transformation. The true power of continuous delivery lies in the automation it necessitates within the DevOps framework.

The Real Value of Automation

When we talk about automation in the context of continuous delivery, we’re not just referring to the tools that facilitate deployment. We’re talking about a fundamental shift in how we approach software delivery. Here’s what I’ve learned from my experiences:

  • Consistency and Reliability: By automating deployments, we eliminate the variability introduced by human intervention. This consistency is crucial; it reduces the risk of errors that can lead to catastrophic failures.

  • Risk Mitigation: Consider the infamous case of Knight Capital Group. Their manual deployment process led to a catastrophic failure, resulting in losses that forced them into bankruptcy. They went from having $450 million in the bank to filing for bankruptcy due to a single deployment gone wrong. This stark example underscores the importance of automation in safeguarding your organisation.

Protecting What Matters

In my journey, I’ve seen how automation can protect not just the business, but also its brand, employees, and customers. Here’s how:

  • Automated Checks: Implementing automated checks ensures that the software meets the minimum standards required by the business. This proactive approach significantly lowers the risk of deploying faulty software.

  • Continuous Everything: Embracing continuous testing, continuous deployment, and continuous delivery allows for rapid feedback loops. This means that if something goes awry, developers can identify and rectify issues much faster.

The Azure DevOps Transformation

A prime example of the power of continuous delivery is the transformation witnessed by the Azure DevOps team at Microsoft. They managed to increase their feature delivery from 12 to an astonishing 280 features per year, all while maintaining the same team size. How did they achieve this?

  • Shortened Feedback Loops: They transformed their feedback loop from days to mere minutes. Previously, their automated build process took days to yield results; now, it takes just three and a half minutes to run the entire test suite. This rapid feedback not only reduces costs but also enhances effectiveness.

Real-World Impact

The implications of continuous delivery extend beyond internal processes. For instance, the Windows team at Microsoft exemplifies the power of rapid deployment. They can move code from development to production in less than 24 hours. This agility allows them to get features in front of users quickly, iterating based on real-world feedback.

If organisations like CrowdStrike had adopted similar practices, they could have avoided the errors that plagued their deployments. Continuous delivery, when executed effectively, reduces risk, enhances effectiveness, and accelerates feedback.

Conclusion

In conclusion, the journey towards continuous delivery is not merely about speeding up deployments; it’s about embedding automation into the very fabric of your development process. By doing so, you not only protect your business but also empower your teams to deliver high-quality software consistently. Embrace the power of continuous delivery, and you’ll find that the benefits extend far beyond mere speed.

If you’re trying to unlock the power of continuous delivery, then you’ve probably considered the type of benefits that you get from it, and perhaps they’re not the benefits you think. While it is true that continuous delivery can help you become faster, that’s a lagging side effect of the work that you would do. The real benefit of continuous delivery is the requirement for automation within the context of DevOps, and the real value of automation within the context of DevOps is you’ve not got a person doing the deployment; you’ve got an automated tool during the deployment. So you gain consistency and reliability of what is happening, and that consistency and reliability reduces your risk.

If you’re interested in how much risk that is, there’s one example that I always used to use, which was the Night Capital Group, a financially traded stock exchange organisation in the US. They did a deployment of their software; it failed due to various reasons, mostly to do with manual deployments. They ended up losing about $10,000 an hour or a minute or whatever it was, but at the end of the day, they had to file for bankruptcy, and at the beginning of the day, they had $450 million in the bank.

So that’s the example I usually use. Probably today, I would say CrowdStrike. If you’ve got automation that checks that your system, that what it is you’ve created, your teams have created, is good and meets the minimum bar for the business, what’s your risk level? That’s the power of continuous delivery: consistency and limiting risk. You can ensure that within your continuous delivery process, you have the checks that you as a business require to protect your business.

So there’s protecting your business, protecting your brand, protecting your employees, and protecting your customers. All of those things can mostly be automated. Almost all of those things that could possibly go wrong can be automated. You can’t automate legal stuff, so you would still have to handle some things there. But from the context of not wanting my software to fail, not wanting it to send money to the wrong place, we use testing, we use automation, we use continuous delivery, continuous everything: continuous testing, continuous deployment, continuous delivery.

Those are the things that help you get faster feedback because if it’s an automated process, you can go around that loop, and the developers can find out that it’s broken or it’s not doing the right thing much faster. A great example of that is the Azure DevOps team at Microsoft, which went from delivering 12 features to production per year for 600 people to delivering 280 features to production per year for 600 people.

So the number of people didn’t change, but they massively increased the number of features delivered. Part of doing that was changing the feedback loop, making the feedback loop faster. They went from an automated build that would take days to get a response from to one that took minutes and seconds to get a response from. They used to have to run their full suite of tests in, I think it was four or five days, to actually get a response for a particular thing, and now it’s three and a half minutes for the entire test suite.

That level of feedback makes feedback faster, costs less, reduces risk, and increases effectiveness. That shortened the feedback loop. If you’re also deploying and getting your feature in front of customers, that continuous delivery piece means you’re getting your product in front of real customers. You’re moving to production on a continuous basis.

Even the Windows team, which is probably the biggest, most complicated product on the planet, is 24 hours or less doing continuous delivery from developer cutting code to being in the hands of real production users, albeit inside of Microsoft. It’s 24 hours; it’s a week. They’ve got it in front of real external users; it’s a month. They’ve got it in front of 20 million external users, and then it’s three months. They’ve got it in front of, I don’t know, 850 million external users.

If CrowdStrike was doing what the Windows team does, they would not have caused the errors that they did. Continuous delivery, the practices within the context of DevOps that enable continuous delivery, are the things that reduce risk, increase effectiveness, and give you faster feedback.

Continuous Delivery

Connect with Martin Hinshelwood

If you've made it this far, it's worth connecting with our principal consultant and coach, Martin Hinshelwood, for a 30-minute 'ask me anything' call.

Our Happy Clients​

We partner with businesses across diverse industries, including finance, insurance, healthcare, pharmaceuticals, technology, engineering, transportation, hospitality, entertainment, legal, government, and military sectors.​

Ericson Logo
Higher Education Statistics Agency Logo
Microsoft Logo
Lockheed Martin Logo

CR2

Illumina Logo
Alignment Healthcare Logo
Lean SA Logo
Jack Links Logo
Hubtel Ghana Logo
Teleplan Logo
Bistech Logo
Philips Logo

NIT A/S

Milliman Logo
Akaditi Logo
Trayport Logo
DFDS Logo
Washington Department of Transport Logo
Ghana Police Service Logo
Nottingham County Council Logo
New Hampshire Supreme Court Logo
Department of Work and Pensions (UK) Logo
Royal Air Force Logo
Cognizant Microsoft Business Group (MBG) Logo
ALS Life Sciences Logo
Big Data for Humans Logo
Ericson Logo
Flowmaster (a Mentor Graphics Company) Logo
Boxit Document Solutions Logo