According to Global Workplace Analytics, 80 to 90 percent of the US workforce says they would like to telework at least part time. As we see more remote teams created, we start to see some common issues arise around things like communication, culture, and, for tech teams, consistent development practices. Let's talk about some tools and techniques that can help remote teams stay on the same page.
“The single biggest problem in communication is the illusion that it has taken place.” - George Bernard Shaw
As teams transition to work remotely or add remote team members, they can struggle to communicate as a whole group. To keep remote team members engaged, have tools in place that enable frequent check-ins throughout the day. A few months ago, I heard a speaker talk about how we need to learn our co-worker's preferred methods of communication. For some, that may be email, online chat, or something with video, like Skype. Whatever the preference, get tools in place to streamline communication no matter where your employees work.
Slack, the ubiquitous team-messaging application, integrates with other tools such as Dropbox, GitHub, bug trackers, and Trello. As a result, it's gained popularity especially in the developer arena.
The team at Usersnap uses Slack to keep everyone up to date on any customer changes and incoming bug reports. They can organize the bugs to route them to the right project so they don’t clutter inboxes. It's integration like this that streamlines communication, enabling teams to discuss issues in Slack without having to jump from email to bug tracker to a separate chat service.
When it comes to sharing your screen for meetings and working with people in different offices, Join.me is my favorite. I've used a few different screen share and video applications, but I really appreciate how easy Join.me makes it to swap the presenter role and add new people to your meeting. I have had issues with connectivity problems occasionally, but the Skype interface just looks outdated after using Join.me.
Along with a landline replacement feature, RingCentral also provides video conferencing software to help remote teams collaborate. It's pretty easy to start a video conference and add new participants. It also allows you to schedule meetings, similar to how GoToMeeting works.
If you're doing some training, RingCentral lets your record your meeting for playback later, which has come in handy for some of the training demonstrations I've done. Overall, I would say RingCentral is good, but Join.me is a better application for video conferences.
Creating a healthy culture is hard enough for companies where everyone is co-located. For remote teams, it can be even more challenging. Obviously, one key ingredient to a good culture is making communication as easy as possible. But in addition to keeping communication channels open, we must be transparent with our team. Transparency builds trust, which in turn fosters the freedom to explore new ideas and accept failure as team members figure out new solutions.
To share and document things like your organization's values, history, and conduct guidelines, you could probably use some wiki software. Quip is a knowledge organizer that aids in collaboration, similar to a wiki with more features. For example, it makes it easy to organize training documents and get new employees up to speed fast, no matter where they're at.
Development and Collaboration
Remote teams live in an online world. Make sure your development team has tools that integrate well with your organization's communication system, and you'll lead them to optimal productivity. For example, if they need to jump between an IDE and then look at defect tracking software to clarify something, you'll have a lot of time wasted. They key is to streamline tools for a consistent process, no matter where an employee happens to be.
Like many of the other tools we've discussed, Assembla integrates projects, code, and teams to increase productivity across distributed teams. It offers flexible workflow creation to fit your team’s development style, and as a scrum controller, I've seen firsthand how each team needs its own workflow. Even within the same company, teams need autonomy to develop their way.
With Assembla, you track tasks with tickets and move them between projects. Each person can view their work in different fashions. If you prefer a Kanban, you can use the card wall or you could view the list.
As your team works on their code, they can check code into SVN, Git, or whatever repository you use, and update their tasks while staying in the Assembla application. Assembla makes it easy to create and share documentation across the team, and it supports code reviews to give feedback and build in review cycles. With integrations into most systems, it also aids with continuous deployment.
When it comes to debugging errors and determining what exactly is broken, a developer's work is never done. Rollbar is an application that gathers a variety of data, including stack traces, URLs, and user data, and gives you the ability to review errors, browser types and versions, deployment, and host information. It can be frustrating to dig through numerous log files trying to find this information. Rollbar can help pull it together.
As developers, we need to collaborate with others to create really great products. Remote developers in particular need to avoid working on an island in isolation; it's important to remember to still pair program and work together.
Screenhero is collaborative software that helps developers work together wherever they may be located. It provides the ability to switch between the driver role and the navigator role. Each mouse pointer has the username next to it so there's no confusion. You can also voice chat, enabling easier communication as you work through code together. Screenhero is cross-platform so it can run on Windows and Macs.
Currently, this application is being integrated with Slack, so it's closed to new users. It will be reopened with new pricing information.
If you are more of a Vim or Emacs person, you can use tmux. According to Wikipedia, “tmux is a software application that can be used to multiplex several virtual consoles, allowing a user to access multiple separate terminal sessions inside a single terminal window or remote terminal session.” So you can pair up using tmux as it supports sharing terminals.
It's relatively fast and requires little software; essentially, SSH and tmux are all you need. With these tools, you can start pair programming with a team member who could be in the next town or on the other side of the world. As you work through the session, your screens are synchronized so you can see what each developer has. Hermann Vocke, a software developer at ThoughtWorks, said, "You can use it for pair programming, to troubleshoot issues on your servers together and much more. However, you need to be aware that this is a solution with a lot of restrictions. You’re completely bound to the command line and its tools, there’s no way around it."
As you aim to get your remote team members working together smoothly, you have a lot of tools you can choose from. Keeping the whole team in communication takes effort but will yield better results as team members feel more engaged with each other and with the vision of the company. Investing in tools that promote good communication, healthy culture, and smooth collaboration is essential to realizing such a goal.