Over the past year I’ve worked on a number of projects that have involved some large organisations. By large organisations, I mean, big hefty things that have been around for a while, have lots of cogs and yet still achieve a lot.
I spoke last time about the organisational challenges of adopting Continuous Delivery. One of the key takeaways was the importance of blurring the boundaries between team ownership in order to facilitate better adoption. This time around I want to zoom in a bit and focus specifically on the challenges faced by specific parts of the pipeline. Depending on how far through adoption you are, you likely no longer have dedicated teams for each of these functions, though the problems outlined here can still exist and derail even the most cross functional of teams.
At Made, the majority of our projects use Continuous Delivery pipelines to provide a clear path for deploying to production. It’s common for these to be setup on the first day of a project kick-off.
Released in late 2013, Remote: Office Not Required by David Heinemeier Hansson and Jason Fried (of Basecamp, formerly 37signals) immediately struck a chord, particularly in our industry. Suddenly it had become acceptable to want to work in places other than the office!
We’ve discussed what Continuous Delivery is, the benefits, how to prepare your team for it, the challenges you may face adopting it, the tools you can use, how to build your pipeline and what you can do to make sure quality remains high, but how do you stay on top of the advances in Continuous Delivery?
Adopting continuous delivery for a single team is tough, adopting it across a whole organisation exponentially more so. It’s hard to catalogue all the issues a business may face during a transition, but in this post I’ll discuss the common pitfalls.
Note: Article edited on the 4/12/2018
Practicing Continuous Delivery is worthless if it’s not to facilitate the delivery of high-quality code. In this article I am going to cover some techniques, tools and best practices we employ at Made Tech to keep our pipelines moving, and how you can compel developers to push quality code often by rewarding them for attention to detail, rather than punishing them for making mistakes.
Finding the right platform to form the basis of your Continuous Delivery is key, and you really need a solution that is going to fit into your existing way of working with minimal effort.
A pipeline is a set of steps that your code takes to get from a developer’s local machine through to a production environment. This pipeline is managed by a tool that lets you define these steps, what they do, and how and when it proceeds onto the next one.