DevOps, Cloud and Continuous Delivery Blog

Andrew Phillips

Subscribe to Andrew Phillips: eMailAlertsEmail Alerts
Get Andrew Phillips via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Related Topics: DevOps for Business Application Services, DevOps Journal

Blog Post

Use Continuous Delivery to Get Apps Out the Door

CD and Agile address many software delivery challenges and can change the way you think about application releases

Many businesses are closely scrutinizing the concept of Continuous Delivery and, in most cases, competitive pressure is the driver. CD allows you to deploy applications without having to write endless scripts, provisioning test environments on-demand, and creating delivery pipelines so anybody can see the current status of enhancements-just to name a few.

In truth, Continuous Delivery is a response to the challenge of software taking ages to deliver and then not being what the customer wanted in the first place, leading to cost overruns, low ratings and unhappy users. If your competitor releases new versions every week while your team releases new versions every quarter, your company will feel the impact on its bottom-line.

Continuous Delivery generates many clear business benefits:

  • Delivers new products and features faster so customers can benefit
  • Ensures new products and features work better than previous releases
  • Eliminates embarrassing delays that lead to customers bolting

Contrary to popular belief, Continuous Delivery is nothing new. It's considered principle number one from the Agile manifesto, already the leading software development trend. CD succeeds largely because it relies on responsive interactions with customers - looking at how customers interact with your technology and what they say about it, developing new features to meet their needs, and seeing how customers use these features. Continuous Delivery helps companies deliver on the promise of Agile.

Taking the First
The first consideration in adopting Continuous Delivery is to define what you actually want to achieve in terms of measurable objectives. This gives you a better handle on what you need to do and how far away you are from achieving your goals.

There's no one-size-fits-all metric. It depends on the business context. For example, an online retail store faces a different business scenario than a bank. What is commonly shared however across many industries is the desire to eliminate the manual steps within the process of taking an application from code creation all the way through to when the app goes live.

Another aspect relating to Continuous Delivery is that it helps you to move away from the Big Bang release approach to more feature-driven releases. Aside from the amount of time it takes to go live, Big Bang releases make it difficult to disentangle the effect that hundreds of features and hundreds of fixes have on your customers. It's hard to know which features and fixes customers actually like and which ones they hate.

By releasing incrementally, you also dramatically reduce the risk associated with each and every software release because you're changing far fewer (and smaller) parts of your whole application. In the end, you end up gaining a better picture of the correlation between certain changes and the impact those changes have made on the behavior of your application.

Continuous Delivery Payoffs
As you achieve Continuous Delivery, one of the major payoffs - apart from automation and greater efficiency - is much better visibility into where a particular feature is at during a specific moment in time within the development lifecycle - along with its current level of quality or risk. This capability allows you to make informed decisions about when and whether or not to go live.

You will also discover that your company can reduce waste - with the ability to see how many components of the release process involve idle time. Developers may finish a task on day one and then have to wait until late the next day before they can continue, perhaps due to different time zones. An entire day may be spent idling. Conversely, automated CD keeps the process moving forward.

Continuous Delivery is a game changer for getting applications out the door. It does require a different kind of mindset - one compatible with Agile. Businesses can release new products more reliably and with higher levels of quality. Small wonder that businesses are taking a closer look at Continuous Delivery. Perhaps the time has arrived for your company to do the same.

More Stories By Andrew Phillips

Andrew Phillips heads up product management at XebiaLabs. He is an evangelist and thought leader in the DevOps, Cloud and Continuous Delivery space. He sits on the management team and drives product direction, positioning and planning.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.