Better software faster

Nell Boase and David Farley explain the benefits and challenges of Continuous Delivery

Continuous Delivery (CD), as author and developer David Farley explains, is a process which ensures repeatable and reliable software delivery.

BBC Director of Continuous Delivery Nell Boase describes how everybody is responsible for the release process; there are no divisions between operations, development, testing and the business anymore. Whilst the product owner is responsible for the product’s complete lifecycle.

Principal software engineer Philip Cluff feels that it allows testers to get hands-on really quickly, while giving them the confidence that what they’ve developed fundamentally works. It also encourages developers to commit full features that don’t break existing functionality.

Teams at the BBC using Cosmos, their CD pipeline, include Video Factory, CBeebies, Travel News and Knowledge & Learning.

"Continuous Delivery is great, but it will bite you" - Philip Cluff

Developer Graham Lyons explains how his team only build an application once and use the same deployment mechanism for that application across all of the environments. They key, according to David Farley, is to automate everything: the production of the software; the provisioning of the environments in which the software’s going to run; the delivery; plus any authorisations and checks.

Faster cycle times, more reliable releases and more flexibility are all benefits of CD, which directly impact on audiences in a positive way.

CD teams tend to be noisy and communicative and it can be quite a steep learning curve for teams that have previously been quiet. These teams are developing key skills that individuals across the software development cycle, whatever role they’re in, will need to know going forward.

Flickr, Etsy, Google and Facebook all have forms of Continuous Delivery and the BBC is excited to be part of this experimental time.