New Relic Now Start training on Intelligent Observability February 25th.
Save your seat.
No momento, esta página está disponível apenas em inglês.

The ability to work well as a distributed team has become “table stakes” for many software engineering organizations. The benefits are many: Remote teams offer access to a larger talent pool, increase diversity and inclusiveness, support valuable workers who are not comfortable working in an office, and give everyone the flexibility to work where and how they’re most productive.

That doesn’t mean it’s easy to manage a remote engineering team. At New Relic, almost half of our engineering teams now include at least one remote member, and we’ve learned that building distributed teams requires focus on three key areas:

  1. Communication
  2. Tooling
  3. Culture

Remote work communication

The first step to building effective remote teams is ensuring that every team member has the same experience, no matter where they’re located. The best approach? Assume that if one person on your team is remote, everyone is remote.

Sure, that sounds good, but what does it mean in the real world? Here are a few best practices:

Ask your team members to join meetings from their own workstations, rather than crowding the on-site team around a conference room table with the remote team members on the room screen—trying, and often failing, to get a word in edgewise.

Avoid relying on “hallway conversations” that may exclude remote team members from informal, but often critical, communication. Instead, use Slack or other remote-friendly tools for these types of conversations.

Urge remote workers to stay visible. Encourage remote team members to turn on their video cameras for meetings, and to let everyone know when they’re coming or going. In the office, it’s easy to tell when someone is away from their desk. But it's not as obvious when a remote colleague steps away. Remote workers should take a moment to reach out and let folks know: "Hey, I'll be back in a couple of minutes. I've got to walk my dog."

Capture everything in writing. This is one way to ensure that everybody has access to the same information, at the same time, in the same way.

Relay information to remote workers. Sharing key information—including office scuttlebutt—helps remote colleagues feel connected: “Hey, I overheard another team talking about how their service is using more CPU than expected on the new hardware we gave them. We should reach out to them!”

Remote work tools

Tools designed to support a distributed workplace have improved dramatically in the last few years. Today, these tools don’t just make distributed teams possible—they make them powerful. Here are some tips for choosing and using tools that set up your distributed team for success:

Look for low-overhead tools. For meetings—and especially last-minute conference calls—a fast, easy to use calling system like Slack may be more appropriate than a fancy video conferencing system. Ideally, the system will make it easy to for people to come and go as needed without the risk of accidentally joining the wrong meeting. Having an open Slack channel where people can chat and bond during the day can also be useful: Remote workers need to make friends, too!

Build what you need. Of course, we’re talking about remote engineering teams, so sometimes it makes sense to build your own tools. Our own distributed team uses a Mob Programming approach, so we built a bot to record each individual’s contributions, to keep track of mob updates and handoffs, and to make sure folks get the recognition they deserve. We also set up shared development environments using tools like tmux or VS Code, so that everyone can see and edit code at the same time, which saves time and friction when changing drivers during a mob.

Always-connected team rooms can also play a role in winning with remote teams. While not originally designed to help remote workers and distributed teams, they can help remote people stay connected and involved by letting them share the same experiences as everyone else.

We also like FunRetro, a nice virtual whiteboard with virtual sticky notes. We use it for dot-voting on topics that we want to talk about.

Finally, don’t forget humble Google Docs. Collaborating via Google Docs and Google Sheets is much better than emailing standalone word processing docs and spreadsheets.

Remote work culture

We said this before, but it’s critical: If one person is remote, assume that everybody is remote. If you want remote teams to thrive, you really need to internalize this mindset. Here are some keys to making that happen:

Get everybody on board. What it comes down to is that everyone—whether they work in the office or remotely—must be willing to try something different. Sure, there will be challenges, but they don’t have to be deal-breakers. Is the idea of everybody joining meetings from their laptops instead of using a room system getting a cool reception? Just give it a shot!  You might be surprised at how different kinds of face-to-face communication become more natural. Pro tip: If a few folks happen to get to a meeting early, feel free to get started, say hello, and build rapport with the team.

Be respectful of time zones and start/stop times. When teams are spread across different continents, their standard working hours may never quite overlap. But if collaboration is important, try arranging once or twice a week for one group to stay a little late, while the other group arrives a little early. Find a way for everyone to compromise, and make it work.

Mob-rotations and other turn-based work may also require cultural accommodations. If everyone is sitting around a table working, for example, it can be really easy to use a clockwise rotation. Distributed teams can apply the same idea with a twist: Pull out a map, figure out where everybody is sitting geographically, and use an east-to-west virtual

“rotation.”

Be sensitive to technical glitches. There’s no shame in getting bounced off a conference call or experiencing occasional connectivity issues. If a remote team member has an ongoing problem, devote some resources to getting it fixed. In the same vein, remember to pause occasionally for remote participants. Remote systems often suffer from latency that makes it difficult for remote participants to toss in their two cents. Taking a moment to pause, and then asking remote colleagues for their contributions, will help to promote a smoother, and more inclusive, conversation.

Trust your teammates. A big part of what makes everything work is trust. The more we feel safe enough to be our authentic selves, and the more that we both give and expect that from our teammates, the better a distributed team can work. One way to foster that trust is share kudos in a remote-friendly fashion: “That thing your dog just did? It was hilarious!”

Of course, managers have an important role to play in remote-team success. Beyond being open to hiring remote employees and having a more distributed team, people running meetings have to be especially aware of remote-working issues. Always, always include a remote option in meeting invitations—don’t make folks ask you for it at the last minute. Schedule meetings appropriately and keep different times zones in mind for all attendees. Pro tip: Use the Google Calendar setting for secondary time zones.

Overcoming remote-work misconceptions

There are lots of misconceptions about remote working, especially in engineering organizations. For example, workers and managers often worry about productivity issues, maintaining team cohesion, and sustaining work-life balance.

But with the proper communications, the right tools, and a supportive corporate culture, distributed workforces can avoid those issues and bring significant benefits to both employers and workers—and create more-effective software teams. That’s totally worth the effort!