How we’re improving our development processes in 2016

By Onespacemedia’s Lead Developer, Daniel Samuels

2015 was a fantastic year for the development team at Onespacemedia (read more here). We innovated, iterated and improved every aspect of our day-to-day work. We pushed the boundaries of web animations, innovated in new ways to deliver structured content, and continued to create accessible, user-friendly web experiences regardless of platform.

In 2016 we are going to build on this foundation. We’ve come a long way so far, but we’ve got a strong vision of where would would like to be by the end of this year.

The first thing we want to change is our deployment process. We started a continuous integration flow at the end of 2015 and we’re keen to extend the functionality to include automatic deployments upon successful builds. A large part of this change will be to use Docker to containerize our applications and allow for fast, zero-to-low downtime deployments. We were very careful in choosing our continuous integration provider, as we knew this was going to be a key feature for us in the years to come. That’s why we went with with CircleCI, who have Docker deployments as a primary feature of their product offering. We want to have developers just writing, committing and pushing code without worrying about the intricacies of managing servers and running shell scripts to get things working; it will all be taken care of automatically.

The second change we’re going to be making is to break out commonly requested features into reusable models for our CMS. While each of our sites is customised for every client, there are often similar features between sites, so creating a collection of reusable abstract code will allow us to improve our startup time and reduce the amount of code we have to re-write for every project. In addition to this, making use of the same base code allows us to have confidence in the code, knowing that it has been production tested, with improvements flowing back into the base module. At the same time as improving the workflow of developers building the site’s code, we want to improve the user experience for the administrators of the website, so we’ll be looking into ways we can improve user journeys within the administration system and optimise their time when managing site content.

Our third priority for this year is providing developers with a well structured guide to development at Onespacemedia. This guide will include topics such as code style and quality, recommended configurations for software, and anything a developer would need in their day-to-day work life. We will make this a publically-viewable document in the hope that it might help others improve their internal documentation too.

Another item on the list for this year is to hold regular developer catch-ups, where developers can have a 1-to-1 with the lead developer (that’s me!), as well as have a group chat to see how things are going. Hopefully this will highlight any problems as they arise, provide regular updates on progress, and generally help keep things running smoothly.