What Is Continuous Delivery?
Here at Net-a-Porter we take our software delivery very seriously, and are moving increasingly towards Continuous Delivery. For those of you who have not heard much about Continuous Delivery, or want to learn more then I’d certainly recommend reading Jez Humble’s website Continuous Delivery, and in particular taking a look at the Visualisations of Continuous Delivery which really help explain what it’s all about.
Continuous Delivery is increasingly becoming the de-facto method for software delivery, primarily because it creates a reliable, repeatable and predictable release process. It can enable significant cost savings to a business, as well as simply being a more satisfying way of working.
Why Is Continuous Delivery Important To Us?
Previously we released our entire software stack every three weeks, which created a number of issues. Putting the build together, configuring the test environments, and deploying the code to them, was a risky and time-consuming business. Regression testing took a long time and occupied the whole testing team, at a time when our developers had already moved onto the next user stories. Developers would need to rapidly context switch back if bugs were found during this testing phase.
Each release required significant management. Too frequently, if something went wrong, there was no option but to push forward and patch what was in live, since the tangled web of inter-dependent code meant pulling out individual changes was rarely possible. On top of this, feedback from customers and our business people was that we were too slow.
It rapidly became obvious that the push in the wider industry for Continuous Delivery was something that we should investigate.
Enabling Our Continuous Delivery Journey
For us, Continuous Delivery is an enabler; it allows us to release software in-line with the demands of our customers and our business, and allows us to have an effective and scalable set of delivery methodologies. We are part way through our journey to being able to release our software on demand, with different parts of our software architecture at different stages in the journey.
The delivery teams who are responsible for these systems are also learning, and it’s this learning that recently led us to sponsor the PIPELINE Continuous Delivery Conference, which was held in London in April 2014.
Being involved with, and sponsoring, technical conferences is something which is actively encouraged at Net-a-Porter. It enables us to learn from others in the technical community, and it helps us to give something back to those communities. This year was the first time that the PIPELINE conference was run, organized by the people behind the successful London Continuous Delivery meet-up group, a regular meet-up that always features some Net-a-Porter team members.
PIPELINE brought together a large group of people, all with a shared interest in Continuous Delivery, including several from Net-a-Porter. As well as a number of excellent presentations, there were also open space sessions, where anyone was free to take part in facilitated discussions about whatever elements of continuous delivery interested them the most. Discussions ranged from culture to tools, from configuration management to testing, and most things in-between. What’s great is that all sessions were recorded, and are now avalable on their website, together with the slides as well. I’d certainly recommend you take a look.
Here at Net-a-Porter we are certainly looking forward to next year’s event and hope we can continue our sponsorship and support of this excellent conference.