Continuous Delivery

Continuous Delivery is one of the core concepts that we speak about here at Contino. Overhauling your software development and operations with Agile practices and DevOps tools and principles all help in providing Continuous Delivery for your software products.

Continuous Delivery is all about automation, accelerating delivery, removing risk from projects, and getting better feedback for end-users. In short: you probably need it, so let’s check out CD in a little more detail.

Before we start...

Continuous Delivery is often spoken about in the same breath as Continuous Integration (or CI/CD, the CI/CD pipeline...), and while the two concepts go hand-in-hand, they are not the same thing. And they can be employed independently of one another.

Continuous Integration is when code is committed to the main branch of a project as soon as a change is made, the project built, and tests run to make sure everything operates as expected. This helps reduce conflicts or unwanted side effects from many developers working on the same project.

What is Continuous Delivery?

It’s easiest to first outline what continuous delivery is not - by way of comparison with traditional software releases.

Let’s consider Microsoft Word. Traditionally, there’s been stable releases every few years or so: Microsoft Word 2007, 2010, 2013, 2016, 2019. This is a full working version of the software that’s been overhauled with a new look, new features, etc. Any software updates along the way are generally just in the form of security patches—they don’t introduce new features.

And that’s the way that the software delivery process for most products has traditionally worked. Large release updates after extended periods of time, save for security patches.

Continuous Delivery is a redesign of software delivery from a static into an evolutionary process.

The Real Benefit of Continuous Delivery

There are many technical benefits of CD (which we outline below) but I wanted to get straight into the real business benefit of CD: as an evolutionary process, it turns your software into an EVOLUTIONARY PRODUCT!

The best software evolves. Twitter, Instagram, Facebook, Amazon—all these have changed hugely over the course of their lifetimes, often being unrecognisable from their original iterations (Instagram used to be called ‘Burbn’ and was a multimedia HTML5 project).

With CD, your software (which, in the digital age, is now the core of your business) moves from becoming a static monolith to a living, breathing, ever-changing organism.

This means it can ‘evolve’ in response to users and market conditions via the feedback loops that DevOps and Continuous Delivery enable.

In a digital world where only the companies with the software that is best adapted to its environment (users, economy, etc.) survive, would you place your bets on an evolutionary or static model?!

In today’s technology-driven world, speed, agility and reduced time-to-market are the new source of competitive advantage.

DevOps is a key tool to compete against this backdrop – giving you the tools to go faster, whilst retaining a rigorous, professionalized approach to IT.

Download our white paper: Introduction to DevOps!

Read White Paper!

Here’s How It Works

Instead of a software release that contains all the features you want from the end-product (or a set feature release), you start with the bare minimum and add incrementally. Let’s go back to that word processing software to see how.

The bare minimum (aka Minimum Viable Product or MVP) for a word processing software might be a GUI where you can type alphanumeric characters on a page, and save to disk. That’s it.

This could be whipped up in a few hours, tested, and released.

The next part you add might be a second set of fonts that you could change your text to. A short coding stint and it’s ready, tested, and can be rubber stamped for release.

You then might want the ability to change the text alignment… and so on and so forth.

By using Continuous Delivery, you have a working version of the software available at all times, adding new changes as you go, instead of waiting.

Crucially, after a given release you can wait for feedback from users to decide what to do next. Instead of having to guesstimate all user requirements before you’ve written a single line of code, you can offer up a hypothesis with an MVP, test it with users and then either roll with it or ditch it, depending on how users interact with it.

A Word on the Continuous Delivery Pipeline

The Continuous Delivery pipeline automates many of the tedious manual processes involved in the software development and delivery timeline, with one notable exception.

Continuous Delivery

There will always be a manual process whereby someone gives the approval for a production release (following some set process).

If each change is automatically sent to production for release, this is what’s known as Continuous Deployment: it removes that manual approvals process. You can the release immediately, or on a set, automated schedule. This might be the ultimate goal in terms of time-saving automation, but Continuous Delivery is the next best thing to get you to that point first.

Technical Benefits of Continuous Delivery

The biggest technical benefit for CD is a product that is always working and available, even if the feature-set is pretty light at the beginning of a project.

There are plenty of other benefits, too:

  • Supports Agile best practices
  • Takes the stress and concentration of effort out of releases
  • Excellent for when software priority areas or business objectives shift
  • Less bugs with each release (lower risk)
  • Less stop-start for developers working on the project
  • Faster user feedback to help in refining product

Let’s help you get the Continuous Delivery pipeline operation in motion

Enterprise DevOps Transformation is one of our key value offerings at Contino, which includes helping you set up the Continuous Delivery pipeline, employing stable, repeatable processes, utilizing intuitive, world-class DevOps tools. We guide you through the process from planning, to implementation, training, and ongoing support if necessary.

If you’re following outdated processes, held up by manual checks and balances, and have a team full of stressed out developers, then you need a DevOps overhaul to save resources, gain faster user insights, and align more closely with business objectives. Get in touch to get the ball rolling.

x

SIGN UP TO OUR UPDATES

DevOps Insights Directly to Your Inbox!

Join thousands of your peers and subscribe to our best content, news, services and events.

  • Benjamin Wootton

    Co-Founder and CTO

    Benjamin Wootton is the Co-Founder and CTO of Contino. He has worked with tens of enterprise organisations on DevOps transformation and is a hands-on DevOps engineer with expertise in cloud and containers.

    More Articles by Benjamin