Remote tools09 June 2014
Since the peerTransfer dev team is distributed through three different cities, countries and time zones we treat good communication channels as the first priority.
The dev team comprises the product and tech team; the product team is hosted in Boston, the majority of the tech team is in Valencia and Miguel Angel is working from Dublin. Besides, people living in Valencia and Boston are likely to work from home at least one day a week.
A truly distributed team needs fine tuned communication tools in order to move forward as smooth as possible. Actually, not everything is about tools but about processes that keep us synchronised.
As a team we have a single moment to synchronize all together. Everyday, in a meeting of no more than 10 minutes, we try to explain our ongoing tasks. This meeting is important to detect stoppers and dependencies across the team. We use Google Hangouts in a very cool Chromebox for Meetings.
The rest of the communication is in asynchronous channels, that means, we no longer need to be all together at the same time. We use a wide range of tools, including
We use Campfire quite heavily, and not only to talk about work stuff. We have a room called informatics playground where we talk about non-work stuff exclusively. The machines heaven room is used to send infrastructure commands i.e. continuous integration build, to trigger the test suites in the different environments, to deploy branches in the tests environments and so forth. And the fire room, where we can see the notifications of unusual activity coming from the production environment.
Google Hangouts. Apart from the daily meetings, we use Hangouts video for almost every meeting, sometimes even for pair programming. The chat feature for peer to peer communication, not very often as we also use Campfire for that.
tmux. We use vim for coding, that means the console. tmux is the best tool to share the terminal in terms of speed and bandwidth.
Screenhero. For pair programming we use Hangouts + tmux but from time to time the vpn does not work properly, this is our backup tool for those sad days.
Peerboard. Forked from HuBoard, we track our progress in this kanban style board.
GitHub. Everybody knows GitHub and how awesome it is, the features that we use most (apart from the CVS) are
- Issues: product and tech teams work together writing and refining the user stories, created as issues.
- Code comments: one of our lanes in the board is code review; we use the comments feature to place all our anger.
- Notifications: they are essential to be updated on the new issues, code reviews or live features. It is the tool that provides us the feeling that we are moving forward.
Sqwiggle: a tool that we are trying out to remove the feeling of loneliness at home. We only use the telepresence feature.
Google Calendar: meetings, holidays, trips, conferences… availability in general.
And Gmail, of course. For those conversations that don’t fit into this large list of tools. How about dropping out of a pair programming session? Well, some notes by email must be useful for the person who dropped.
We not only use these tools, we are always watching for new ones to give them a chance. A fluid communication is the most important thing, over all the agile techniques we can adopt, to keep the team together and move the business forward with more awesome features.
Miguel Angel Fernández. Developer at peerTransfer.