In the current market where innovation occurs everywhere and every day, all technological companies need to adapt to change quickly and continuously and it seems inconceivable to use rigid and non-Agile methods to develop a competitive product or software.
However, working in a colocation is core to all agile methodologies as a maximum interaction between the technical team, the product owner/manager and the project manager is needed. Communication is handled by words of course, but mainly by facial expressions, body language and intonations… So despite all the communication tools we can use nowadays (mails, project management boards, video calls…) it’s not always easy to replace a face-to-face meeting.
Before discussing how can we be Agile in a distributed team, let’s first see why it is interesting for companies to have more and more distributed organizations.
Why distributed team?
Big companies usually already have all the resources needed for a Project. However, they are not all in the same location. For an obvious cost-saving reason, instead of relocating a big part of the team or hiring new people in the Project country/city, many companies will have, as example, a sales team and a project manager in the customer’s country, a development team in China/India/Morocco, a support team in Romania… and so on. To be honest, we will not focus on these cases here: Big companies are dealing with these kinds of organizations for decades now and they already have strong processes to conduct the projects efficiently (PMO, ERP…).
Startups in the other hand don’t always have the budget to establish offices and pay for all the extra costs (Rent, energy, furniture…) everywhere. Hiring talented workers and allowing them to work remotely might be a good option if they manage to optimize the way everyone collaborates on the project.
In a highly competitive economic world, companies tend to look for talents all around the world. And sometimes it’s easier and/or more interesting to hire them with a remote working contract instead of relocating them. It’s even more applicable for innovative small startups lacking the budget for offices around the world.
Diversity drives innovation in a global market
We at Scrypt.Media strongly believe that diversity in a team or a company improves innovation and productivity. A 2015 report published by McKinsey is also confirming our beliefs
Our latest research finds that companies in the top quartile for gender or racial and ethnic diversity are more likely to have financial returns above their national industry medians. Companies in the bottom quartile in these dimensions are statistically less likely to achieve above-average returns. And diversity is probably a competitive differentiator that shifts market share toward more diverse companies over time
“Why diversity matters” by McKinsey & Company
Happy workers are more productive workers
TINYPulse, an employee engagement company, conducted a comprehensive study about remote workers. The main conclusion was that they were (statistically) happier, more productive and more loyal.
How to be Agile in a distributed team?
As said in the introduction, Agile methodologies require constant communication between the different players. In a distributed team this communication can be altered by several factors:
- Time zones: if the team is distributed across the globe, this might reduce the time slots where everyone is online at the same time.
- Different cultures and languages: even if everyone would probably speak a common language (usually English but can be French, Spanish…), the culture and the native language difference can make the communication chaotic sometimes.
- Social relationships: Our co-workers are more than just a voice or some words in mails. They are humans like us. However, in the absence of close contact we sometimes tend to forget this fact and the communication and rapport get colder and more difficult.
For a successful Agile distributed organization, we need then to first address the issues above.
Time zones and Distance
In most of the cases, co-workers in different time zones will still have few common hours. It’s then a matter of maximizing these common hours and use them to schedule regular meetings or workgroups.
This might require some additional efforts from the team. For example, if a European architect works with a team of developers in Asia, it might help if he starts earlier so he can maximize the common hours in the morning.
Cultures and languages
Our background is simply not the same everywhere. We don’t think all the same. Let’s be honest, you can’t be a good remote worker if you’re not flexible and open to meet and know new cultures.
In practice, remote workers shouldn’t get mad because a remote co-worker doesn’t understand their mindset. Instead, they need to learn about other cultures and adapt.
Companies and organizations should also organize cultural workshops. It helps to point out the culture differences and how to address them.
I am sure even non-remote workers will relate to this: You have a co-worker or a customer with who you collaborate only by mail or on the phone. After few exchanges and, probably, misunderstanding, you feel some tensions and start almost hating them (chances are that he or she hates you too). Then you have a big event and you finally meet the person in real-life. After few minutes (and drinks) you realise your co-worker or customer is much nicer than you would have expected and your work relationship gets better again.
I am not saying you should absolutely meet all your co-wokers face-to-face. However, everyone in the team should be aware of the importance of social relationships and how they can affect the way we work together.
R(emote)Agile in practice
Organization and Structure
Some suggest that even in a distributed team, some type of work should be centralized in the same location (developers for example). While I agree that it’s easier to manage, I think it’s a limitation that goes against the spirit of distribution and remote working. It’s also difficult to implement for startups with tight budgets and few team members around the world.
Team organization and structure should be customized depending on the team members, their skills and their flexibility. The roles and processes should be well defined and, more importantly, well communicated.
Responsibility and accountability
In traditional organizations, managers tend to micro-manage their employees. Some of them think they are the only ones accountable, and that the success or the failure of the project depends on their ability to control all the communications and the details of the project.
In a distributed team, no one should be infantilized. All the team members should be aware of their responsibility and accountability toward their own tasks/domains but also toward their communication with their colleagues.
With big Freedom comes great Responsibilities
– Uncle Ben, Spiderman (In another dimension)
While it’s obvious that no daily standup meetings are possible (famous in Scrum for example), this should be replaced by regular team conference calls to answer the 3 questions:
- What have I done yesterday?
- What will I (try to) do today?
- Do I need any help to do it?
However, organizing daily scrums is not always obvious when the team members are all around the world. To begin with, it makes sense to answer the 3 questions above only in the morning. If you have team members in different time zones with more than 4-hours difference, it makes immediately much less sense.
Also, many members don’t see the point of daily standups and think it’s a waste of time. They prefer reporting their work by mail and conducting weekly meetings instead.
What I usually suggest is to replace the daily scrum by daily “breaks”. A non-formal daily video-call where everyone discusses about either the blocking topics or just the last Starwars movie. The aim is to strenghten the social relationships while still discussing and fixing the main issues. The rest of the information usually shared in a daily standup can easily be communicated in collaborative tools.
While having a distributed team is adding more complexity in term of communication, collaboration and human relationship, the benefit it brings economically (more talent, less costs…) and socially (remote workers are usually happier…) is considered by many worth the additional organization and adaptation efforts a company needs to do.
The main focus, in my opinion, should be to keep and strengthen our human and social relationships despite the distances. To do so, formal and (especially) unformal calls should be frequent and automated.
While each case might be different depending on the team members and the project, I would recommend the following basics :
- Use boards (Kanban for example) to keep track of the product backlog, the sprints and the progress of each team member
- Simulate the daily scrum in collaborative tools (Slack, Asana, Google or Office docs…).
- Schedule daily (or bi-weekly) “breaks” with all the team
- Encourage individual meetings whenever something is not clear
- Everyone should be transparent about their location and time zone (It helps to schedule spontaneous meetings)
- Put in place a clear and complete “Welcome” process to avoid newcomers who feel lost and unwelcomed in the team
- Organize team activities whenever the budget allows it (workshops, team buildings, trips…)
Do you want to know more?
Reach out to our team to discuss your specific project and product management challenges, and get some in-depth advice from our experts!