Agile With Distributed Teams

Whenever I work with companies, the question of using agile with distributed teams comes up. So much so that I presented on that topic at Mile High Agile in 2016. Part of the reason is that one of the principles in the Agile Manifesto states:

The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

While we tend to interpret that as meaning that physically co-located teams are best, some people take it to mean that you can’t do agile with a distributed team. Mostly those people are the ones who don’t want to do agile at all, so they tend to see this as an “out” of adopting agile. But agile can – and does – work with distributed teams.

Some Thoughts Around Distributed Teams

Distributed Teams
Distributed Teams can be global

There are many different types of distributed teams. And there are many different reasons why those teams can’t be co-located sometimes. Here are some examples:

  • Team members are all in the same building but spread out. Facilities (or other “powers that be”) have determined that it would be too expensive to move the team members together.
  • Team members are on the same campus, but in different buildings.
  • Team members are remote workers and there is no building. WordPress is a great example of this, per Scott Berkun’s book The Year Without Pants.
  • Team members are distributed across the US (or another country)
  • Team members are distributed across the globe (gack!)

In all of these cases, there is a good guideline to follow: if one person is remote, everyone behaves as if everyone is remote. This prevents those remote people from getting caught unawares of things happening on the team or in the company and ensures that everyone is connecting in the same way. It helps level-set the team.

So what do you do if your team has remote members or is totally remote?

The Easy Cases

If everyone is in the same general area, the team has to deal with the communication challenges more so than the scheduling ones. I’ve seen several things that are very effective in helping make remote workers feel like part of the team:

  • Video conferencing. This can be via Skype, Google Hangouts, Lync, whatever, but it’s very helpful if everyone uses a video camera. Imagine you’re holding a meeting and no one is responding. Is it because they’re checked out? Because they’re muted? Without a camera, you can’t tell and face-to-face communication is the most effective form of conveying information. Show those faces!
  • Participate as if you were all together. If you’re in a stand-up/Scrum – stand up! Yeah, it might look a little weird if you’re just standing at your desk, but it does help with the intent (keeping it short and focused) and with creating a sense of team.
  • Open each ceremony with a personal ice breaker. Have everyone share something about themselves every time you get together. This would normally happen in off-hand conversations in the hallway or over lunch. With remote teams, you need to force this a little bit.
  • Staying connected. Be online whenever you’re at your desk. It’s critical that people be able to reach you (when appropriate). Using Slack, HipChat, or some other communication tool that logs conversations can be really useful.
  • Do everything electronically. Store your documents and backlogs in an online tool (Jira, Rally, VersionOne, etc). And use them when you do planning. Don’t have something that only one person or a few people can access. Automatically update your Slack or HipChat channel with build messages or errors. Use technologies to help your teams stay connected.
  • Encourage collaboration. Use screen sharing applications (again – Skype, Google Hangouts, Lync, etc). This helps with knowledge sharing but also helps the team feel like a team.

The Hard(er) Cases

Antique World Map
Antique World Map

The Hard(er) cases are those where your team members are spread across different time zones so there’s little or no overlap. This means people coming in very early or very late. There are also a lot of other concerns that must be considered:

  • Transportation availability for coming in very early or staying very late
  • Holidays for foreign countries
  • Technology/infrastructure
  • Cultural differences

None of these are insurmountable – far from it! – but they do add complexity to the conversation. When I worked with teams off-shore in India for a major health care client, we had to move our planning sessions to very early in the morning and around noon local time the Indian teams had to leave to make the last buses of the night. That really impacted the effectiveness of the planning because they missed some of the conversations that happened after they left (we still had several hours of work) and they had to catch up the next day. Additionally, they missed the final plan review and acceptance.

In General…

In all cases, though, encourage the team to engage with each other as much as possible. Perhaps using some form of “merit money” (although it doesn’t need to be financial) can help the team collaborate. Provide a small reward – a candy bar and a small toy, for instance – to the person who earned the most points in the previous sprint. Or correctly answered the most questions about their coworkers. Be creative!

@ Velocity

Because Velocity Partners has teams that are aligned with the US time zones, our teams tend to fall into the “Easy Cases” category. That’s a major benefit to working with a near-shore partner. Our teams go from Eastern time plus one hour (in Buenos Aires and Montevideo) to being aligned with Central time (in Medellin). That helps create a lot of overlap on schedule with our clients and helps facilitate collaboration.

One other benefit is that with our teams in South America, there is a very similar culture. There is far more overlap than difference – as I can say from personal experience. And the teams are very used to working with US clients, and that familiarity aids collaboration dramatically.

Closing Thoughts

Distributed teams are the way many companies work in the 21st century. As a result, we need to adapt how we adopt agile for those teams. And while it can be a challenge, distributed teams can be just as effective and productive as teams that are co-located. I don’t recommend giving up the fight for co-location – it has many other benefits – but don’t let it be the only reason your teams can’t be agile.

Feliz entrenamiento, mis amigos! (Happy coaching, my friends)

PS – There is a fabulous podcast over at Collaboration Superpowers. Check it out for even more ideas!

Bill DeVoe