2017-06-09
It’s common to face complex projects, and operate within tight deadlines and budgets in the IT industry. With the advent of globalization, we’re given the opportunity to search for the best IT talent in order to help us meet these challenges, anywhere around the globe. Accordingly, companies across the world are embracing the concept of distributed teams in an effort to find the best talent and reduce cost.
PMI defines “distributed teams” as: teams that operate from remote locations without the benefit of face to face contact. I personally believe that distributed teams can add a lot of value to the company, for example: higher productivity, greater freedom, more cultural diversity, improved efficiency across time zones, and reduced costs.
However, getting it right is hard and adds complexity to an already intricate project management process. In this article, I explore four recommendations that have helped me work effectively with remote teams and deliver my projects on time, on budget and to satisfied clients.
1) Understand the culture of your peers
Working with remote teams means that you can work with people across the globe; they can be absolutely anywhere! The person behind the screen may not be a native speaker of your language and may have a different cultural background.
Before starting the project, it is important to take some time to learn about the team: Where are they from? How comfortable are they working remotely? Find out about their habits and culture, take the time to talk with people and understand what is and isn’t acceptable in their culture.
The more you know about the cultural background of your teams, the more you are prepared to handle and mitigate conflicts, uncertainty, motivational challenges, culture shock, and various situations that may arise within a multi-cultural and geographically distributed team.
Set expectations up front in a clear and objective way. Make sure your team, client and internal stakeholders understand the project goals.
2) Have the right arsenal of tools
For distributed teams, the work place is virtual. So, it is important to have tools to facilitate interaction and collaboration.
- Build a virtual room, a place where the whole team can chat anytime and from any device. It will help the team get to know each other and build a sense of community. I had a really positive experience with Slack, other teams in my company are happy using Discord.
- Skype, Gotomeeting, WebEx, etc. are all great tools for videoconferencing, handling a stand-up meeting, or occasionally substituting chat. In addition, these tools provide screen share abilities—it can be valuable to have whole team collaborating in a call while looking at the same screen.
- In a software development environment, I strongly recommend using continuous integration and version control systems, for example Git, TDS and TeamCity.
- For scope management and project documentation, we have had a good experience with Jira and O365.
- Email is used as well, to communicate with people outside the team or for more formal communication.
3) Strategically over-communicate
Communication itself is challenging in a project environment, but that challenge is made even more difficult among distributed teams. Why? The primary reason is that distributed teams are limited in their communication channels. According to the “THE 7% RULE”, communication is 7% verbal and 93% non-verbal. For example, while co-located teams face each other in a stand-up meeting, distributed teams often face a desktop screen with the sprint board. Given that so much of communication is nonverbal, distributed teams are a disadvantage. To add to the difficulty, sometimes there are no native English speakers, different time zones, and different cultural backgrounds on the same call.
My recommendation is to over-communicate but in a strategic way.
- Schedule regular touchpoints (daily meetings, stand-up meetings, etc.) where you meet with your team to reinforce the goals, check to see if anyone is stuck, and collaborate to find solutions, if so.
- After a meeting, send everyone a quick summary, and ask them if the summary echoes their understanding.
- Send action points by e-mail. Sometimes lots of topics are covered in a meeting or in a call, make sure each person understands what is expected of them.
4) Avoid the “What’s next?” question
Software processes include the activities, methods, practices and transformations that are used to create and maintain software products. In a distributed team, having a process in place is essential as it helps to reduce the stress and anxiety associated with the unknown. Make clear on the first day what approach you are using to manage the project in order to avoid the “What’s next?” question.
Set the ground rules on the first day! In my company, a new team is assembled for each project, and it is always a mix of senior and junior developers, some of whom are new to company practices. Usually I take an hour before the project starts to lay out how we are going to work together. It helps me to identify the new folks and leverage the knowledge we have regarding our development approach.
Independent of what approach you are using to manage the project (Agile, Waterfall, or a combination), make sure people understand what they should be doing once they complete each task.
Be proactive and answer the following questions before your team asks them:
- What communication approach are we adopting as a team? Daily meetings? Weekly follow ups?
- What strategy are we using to communicate with the client?
- Who is responsible for what?
- What is the timeline? How does the timeline impacts on the client’s business?