This post will cover some of the challenges we’ve faced and things we’ve learned at Digital Shadows (now ReliaQuest) from having a development team distributed across the UK and the world.

Here at Digital Shadows (now ReliaQuest) we’ve worked hard to assemble the most dedicated and talented development team possible and that has resulted in our team being concentrated here in London, but including members both further afield in the UK and internationally. This means that we’ve had to learn how to work with a distributed team and this post will cover our experiences and some of the utilities we’re making use of to work as efficiently as possible.

Tools

Hipchat

Instant messaging is a great technology for collaboration, much more ‘real-time’ and conversational than having the same discussion over email. We like Hipchat because it’s able to handle 1 to 1 conversations, as well as public and private group chat which has allowed us to organise ourselves into a number of rooms e.g. for developers and analysts to broadcast our messages to just the right number of recipients. The ability to search your chat backlog is really handy for making sure you don’t have to ask the same question twice. Opinion about the use of the animated emoticons is split!

hipchat ds

Google Hangouts

Hangouts is a very widely used tool for video conferencing, we’ve found it to be excellent in terms of ease-of-use and being supported on a variety of operating systems and devices. So far, the limit of 10 users with video hasn’t affected us, most of our users are in the same office so for meetings where everyone attends (for example our weekly company update) we use a big-screen TV and a camera and microphone which can capture everyone in the room at once. We also make use of the screen sharing functionality for presentations, code problem solving etc.

hangouts ds

Git & Gitlab

Whilst not strictly specific tools for remote working, the advantages of using Git as your SCM for a distributed team are significant. In particular the ability to commit, branch locally, revert etc without being online is great for people who aren’t in the office and may not always be connected to the VPN. Having the vast majority of operations done on your local disk has benefits in terms of speed even if you do have connectivity to the remote repository. We have recently started using Gitlab for doing code reviews, whilst we encourage everyone to collaborate throughout their development process, having a lightweight gating process serves two purposes: it firstly ensures that at least one person other than the developer has considered that the code solution is the best fit for the problem and secondly naturally shares knowledge about changes and code areas around the team.

gitlab ds

Trello

Much of the use of Trello at Digital Shadows (now ReliaQuest) happens outside of the development team, it’s used to keep track of things as diverse as IT tasks, recruitment and sales. Some of the boards get action from the whole company however, such as one we used for tracking ideas for our new office resulting in both high-voted (and implemented) ideas such as etched logos on our meeting room glass-wall and slightly more dangerous ideas such as office swingball.

trello ds


Tactics

Share everything!

There is a big change of mindset involved once you start encompassing remote working, particularly in a start-up which is used to everyone in the office being able to (over)hear all of the conversations that they’re interested in. It’s really important to remember that part of the team isn’t physically present, this is pretty easy to do for daily/weekly meetings etc but takes a little more mental care to remember to bring in a remote worker over hangouts for an architectural discussion which you believe they can contribute to.

Don’t share everything!

The counterpoint to this is that even though we use a number of tools to make communication outside of the office as easy as possible, there is an overhead involved which you had might as well avoid where there’s no downside to doing so. One of the recent organisational changes we have made is to split the development team into two smaller groups, only one of which has our remote workers in. This means that one set of developers can still have a traditional stand-up in the office and the other set do theirs using hangouts. To ensure that everyone still has a feel for what’s going on across the whole team, once a week we do our standup with everyone on video.

You are not alone

It’s worth noting here that remote-working at Digital Shadows (now ReliaQuest) is by no means exclusively limited to working from home. Indeed the majority of remote working time done by our development team is done from coworking spaces. As a company this is something we’ve keenly embraced, before moving to Canary Wharf all of our work was done out of a coworking space in East London. Our remote developers enjoy the elimination of the isolation and distractions which can sometimes come with working from home whilst maintaining that flexibility in location that remote working provides.

Meet up (when you can)

Even with all of the tools at our disposal it’s great to make & renew relationships face to face as often as possible. All of our UK based developers get together for the end of one sprint (including our hack day and the all-important pizza lunch) to celebrate the completion of the current phase of our software and to plan for the next release. Those coming from further afield are able to visit less frequently, but that just means that we make an even bigger deal of it, often with an after work company get together to maximise the time for building and strengthening our bonds.

We’re all remote

As Digital Shadows (now ReliaQuest) transitions from having nearly all of its employees based in the UK to having a number of international offices the lessons which we have learnt in our distributed development team will be applied across the company. We’re really proud of the culture we’ve built here and to maintain that is going to take all of our experience and making full use of the tools we have at our disposal. It’s also an ongoing learning process, it’s not necessarily the case that everything that has worked for us up to now will keep being the best way to go about doing things as we keep growing. But we’re used to being agile and we will adapt to succeed!