All About Agile | Agile Development Made Easy


7 Reasons why Continuous Delivery needs to be a BUSINESS initiative

by Kelly Waters, 10 November 2011 | Agile Leadership

One of the key practices of agile and lean teams is the idea of Continuous Delivery.  If not continuous, then at least very frequent!

ThoughtWorks has an area of their web site dedicated to Continuous Delivery, and also a really interesting webinar that talks about what Continuous Delivery really means, why it’s important, and how to do it – at least in principle.

Continuous Delivery might be a technical practice, but its benefits go way beyond the technical team or even the wider project.  The benefits of successfully adopting Continuous Delivery could have a real strategic impact on the competitive advantage of an organisation.

Here are 7 reasons why Continuous Delivery needs to be a BUSINESS initiative:

1. Build the Right Product

Continuous Delivery enables a team to get continuous – if not frequent – feedback from business colleagues, user representatives, and ideally real end users.  Frequent feedback loops mean that it’s possible to incorporate feedback into the build, and affect the relevance, quality and success of the end product.  If Continuous Delivery extends beyond the internal organisation and is released to market, real metrics and insight can be gained from real usage, meaning that more useful features are developed further and less useful features are not.  This saves wasting time on less useful areas of the product.

2. Earlier Benefits

A clear advantage of building software incrementally and adopting a Continuous Delivery approach is that some benefits can be gained much earlier, albeit in smaller pieces.  Releasing some benefits early may mean generating revenue, or cost benefits, that help to fund further development.  Or they may simply give you the edge over your competition.  Past experience has shown the enormous commercial power of first-mover-advantage, meaning first to market often ends up being the long term leader in their chosen space, even if their first product to market was quite basic.

3. Ability to React Quickly and Respond to Change

The only thing in life that is certain is change.  It’s inevitable.  And things are changing faster than ever before.  Two things in particular strike me as particularly challenging in this respect.  The ever faster pace of technology that is almost impossible for companies to keep up with.  And the economic uncertainty in the world we are currently living in.  Both of these things mean that life is even less predictable than ever before.  If you spend too long on anything, by the time you deliver it there is now a high chance that something important has changed.  Maybe the market has changed.  Maybe the customers’ needs have changed.  Maybe your organisation has changed.  Maybe new opportunities have emerged.  Continuous Delivery makes it possible to react to these changes without having a huge amount of time and money sunk into work in progress that now needs to be abandoned due to changing priorities, or worse still continues just because it’s the path you are on.  This also makes it more viable to react to opportunities and explore new ideas and potential new revenue streams.

4. Innovation

By combining Continuous Delivery with frequent user feedback, it is possible to get developers closer to customers or users than ever before, really aligning their understanding of what users really need and maybe even identifying things they didn’t even know they needed!  For instance, customers didn’t originally ask Apple for an iPhone with an App Store, or for a new form of tablet computer like the iPad.  Users may be reasonably satisfied with all they know is currently possible.  However developers may be able to create something entirely new.  This can potentially be a way to drive real innovation.

5. Reliability & Stability

Some people worry about the risk of Continuous Delivery.  In our experience of more traditional methods with infrequent releases, change is a risky thing and often leads to problems.  If we adopt Continuous Delivery, won’t it be chaotic and problematic and cause all sorts of quality and reliability issues?  Actually, it’s ironic, but the opposite is true.  Continuous Delivery can enable you to deliver better reliability and stability by releasing frequently.  Making changes in very small increments substantially reduces the risk of problems being caused.  And keeping the changes in very small releases makes it substantially easier to find and fix problems if they do occur, minimising the time that they have an impact.  The consequence of both is that Continuous Delivery teams can maintain products with even better reliability and stability than before.

 6. More Efficient / Save Time

To achieve Continuous Delivery, teams need to automate deployment tasks.  Often teams do not do this and the impact in terms of effort to create releases, provisioning environments and finding and resolving problems caused by differences or by lack of understanding can have a substantial negative effect.  Since deployment is a task that is ideally repeated many times on a project and on an ongoing basis, it is well worthwhile to automate the process.  This can lead to a lot of efficiencies and save the team time, which can then be spent developing more valuable features for users and delivering more business value.

 7. Strategic Impact

Last but not least, and I guess it’s really a summary of all of the above, is the strategic impact.  Better products due to frequent user feedback, higher benefits due to earlier releases, greater customer focus, speed to market, business agility, innovation, reliability and more efficient.

What business wouldn’t want all of that?!  That’s why we must elevate Continuous Delivery.  We must elevate it to being a key issue for executives – including non IT executives – as a critically important BUSINESS issue.  An initiative to make your business as competitive as it possibly can be.

Kelly.

Home



4 Responses to “7 Reasons why Continuous Delivery needs to be a BUSINESS initiative”

  1. Elena says:

    Hi Kelly,

    I love this post! All of these ought to be very inspiring to business sponsors of projects, particularly at SMBs (but with huge impact at large enterprises as well.)

    I had actually thought about the business/tech relationship in CD on slightly different terms. More about “what should the business do differently to take advantage of CD.” If you’re interested, it’s this post: http://pagilista.blogspot.com/2011/10/full-monty-continuous-delivery-business.html

    Cheers!

    Elena

  2. Elena says:

    PS What if I were a human who was bad at basic addition?

  3. Dawn says:

    Hi Kelly,

    I understand the theory and benefits, yet I would like to know 2 more things.

    1. How do commercial, client installed, software products get marketed and sold, i.e. what is the role and actions of sales and marketing in enterprise companies with this model of delivery and what is the revenue model?

    2. Can you give examples of successful commercial software companies delivering client installed software more than 1x a quarter?

    Thanks,
    Dawn

  4. Kelly Waters says:

    Hi Dawn,

    I appreciate a Continuous Delivery cycle may not be ideal in all cases if it is difficult to ship the product in practice, for instance large volumes of distributed software like Windows apps. However it is still possible to adopt Continuous Delivery internally in order to de-risk projects and understand truly where you are up to.

    I have had responsibility for Windows apps before where we wanted to deliver more frequently than quarterly. These days there is no reason why an installed application can’t have a nice graceful non-intrusive auto-update facility, allowing the software to improve incrementally despite being installed. Incremental updates are much easier on the user than big bang upgrades where too much changes all at once.

    If I understand your first point, I believe you are concerned with how to make a big marketing splash with the great new version of the product and how to charge customers for the upgrade if you deliver incrementally? That is a business decision to withhold the release until such a time as it is a meaningful upgrade that can be marketed and sold as such, but at least with internal Continuous Delivery you can see exactly where the product is at today and make that decision when the product is ready, or when time demands. Otherwise in my experience it is all too common to have those big releases 80-90% ready for quite a long time and be horribly delayed by unexpected problems in the last 20%. Continuous Delivery can help to avoid that problem, or at least highlight it much earlier while there’s still time to do something about it. In the end though you still have a choice about when to actually ship it to customers.

    I hope that helps,

    Kelly.

Leave a Reply

What is 3 + 4 ?
Please leave these two fields as-is:
Please do this simple sum so I know you are human:)