Collaboration for Remote Development Teams

Evermore is a remote team with no physical office. This means every team member is working from their home, a coworking space or any place with a proper Internet connection. With all of its challenges, we love this setup and wouldn’t change it for something else.

This year we made a big leap forward with the collaboration of our development team. I decided to list some of the things that work for us.

1. Git. Git is an open-source distributed version control system and probably the most important tool we use. Actually it is a tool every development team should use. For those who are not familiar, Git allows multiple people to coordinate work and keep track of changes on one file.

2. GitLab. GitLab is a Git repository hosting service we use for revision control. You can implement great things in your workflow with their free plan, such as merge requests, issues tracking or time tracking. Despite a recent meltdown, we still love them.

3. Continuous Integrations (CI). We practice CI, so members of the development team merge their code into the shared repository at least once a day. This allows us to recognise issues with the code early, solve problems quickly and know that whatever we deployed is working.

4. Code Reviews. We do code reviews of every merge request for two reasons. On one hand to improve the overall quality of code, by making sure a pair of fresh eyes is looking for mistakes. On the other hand this is a good way to keep members of the development team in synch and let them see the big picture. You should know that regular code reviews take a lot of time, but they really do pay off on the long run.

5. Trello. We recently started to use a lightweight process to manage projects. We learned about this layout from the Thoughtbot Playbook, so big up for them. We know it’s difficult to get rid of a robust task management systems with complex reporting and all the bells and whistles, but any developer will love the simplicity of a Trello board.

+1 Daily Calls. Any team has to have at least one daily meeting. In an agile software development environment they usually call this standup, but we like to remain seated. With different time zones and sleeping habits, we just couldn’t make a morning call work. Also for developers it’s often problematic to ‘get in the zone’ and stay there. That’s why we decided that mornings are strictly for lone work. After everybody’s done with lunch and half a day’s work is behind their back, we all join a call to discuss problems we faced, ask questions and decide on how to spend the rest of the day. It’s not a usual arrangement, but hey, it works for us.

Got any tips of your own to make a remote development team more effective? Please share it with us in the comments section!