Although, hiring a dedicated team of experienced developers is already a challenge, managing them remotely adds up more issues. To write this article we questioned app development managers and team leads from Qulix Systems, who have significant experience in managing international teams.
Hiring
At this stage, there are two options: either your business already has necessary documents (for example, Product/Business Requirement Document (PRD / BRD), Functional Specification Document (FSD) and other) or there are no documents and specifications yet.
Scenario 1: the documents are prepared
When the detailed functionality of the product and the technology stack are clear, it’s time to find a software vendor.
- Along with pricing, customers discuss the project scope, the number of team members and the workflow with the outsourced software development provider.
- The development company searches for the necessary number of technical specialists (hold a pre-screening) and provides their resumes.
- The customer schedules online interviews with the candidates. Also, they may give test tasks or discuss code samples to find out, if they match the requirements and can join the in-house team.
Scenario 2: no ready documents and no product development details
It happens quite often as well. Clients may have some specifications, but they know little about the development process, as well as about the required expertise and the estimated number of technical specialists.
Anyway, it’s no big deal. Before the price negotiation, holding interviews and signing the contract, software vendors can provide IT consulting services, for example, help with the documentation and the technology stack.
Onboarding
To start working with the remote team of developers, some kind of onboarding is necessary. It has a lot in common with the onboarding of new in-house team members. The goal is the same: learning more about the company, the project, the role in the team and the responsibilities. At the same time, there are a couple of things related to managing a remote technical team:
- Increased attention to secure and sensitive project data: revise the NDA, inform the team about security measures, personal customer data and tools for information storage.
- Making sure you are on the same page: you may need to conduct workshops and meetings more often in order to keep your remote team more aware of the project progress.
Management
To work with a remote software development team successfully, your in-house team leads, project managers and product owners must have a combination of management skills with a solid technical background.
A perfect candidate should be experienced in cross-cultural management in order to build a team from in-house and remote developers and testers. It means, managers should be aware of regional cultures and business ethics in different countries and deliver this information to the team.
Key points: share the importance of cultural parameters with the team members, provide communication tips in a positive manner, and try to avoid stereotypes and jokes. We are going to provide more in-depth info about cross-cultural communication towards the end of this article.
Workflow
In addition to issues that are common for both in-house and remote team management, there is a number of specific issues to consider as you outsource a software development project and hire remote developers.
Here are the key aspects to consider:
- Tracking the performance of the virtual team
- Communication
- Scheduling
- Cultural and language misunderstandings
- Corporate culture integration
Tracking the performance of your remote developers
Most company managers agree that in case of software development outsourcing it is harder to keep all team members updated and highly concentrated on their work.
Agile methodologies help to solve a lot of issues, and tracking performance of employees is no exception. For teams, which consist of 5-8 people, Scrum or Kanban frameworks can substantially facilitate communication, team coordination and performance tracking.
According to these frameworks, the project is divided up to small chunks for frequent releases, maximum effectiveness and complete control over the scope of work.
Here is a simple comparison table:
Perhaps, Kanban provides slightly more control over the work in progress (WIP) and the overall team performance. Managers can track time per each task and clearly outline the workload. At the same time, Kanban is focused on impeccable quality, not on speed. If the release time is crucial, try Scrum or Scrumban – a combination of both.
When it comes to metrics, there are a couple of them, which can be applied to both frameworks. For example, control charts or release burndowns. But most of team KPIs in Scrum and Kanban are different.
Here are a couple of tips to facilitate tracking the performance of a virtual team:
- Explicit and detailed expectations: focus either on thoroughly logged work or on the delivered result.
- Back up your interests by using quantitative metrics to estimate the performance of each remote team member.
- Avoid micromanagement as long as it goes well – there is hardly anything as demotivating and annoying as overcontrol.
Communication
Smooth communication is a must when hiring and navigating dedicated software development teams. However, communication channels are not equal: according to a video conferencing case study, meeting participants can learn twice as much with face-to-face communication in comparison to audio alone.
Qulix managers suggest using high-quality video conferencing tools to synchronize teams at Agile meetings: daily stand-ups, plannings, groomings, retrospectives. Flawless communication is what makes meetings more valuable.
Atlassian research revealed that employees attend 62 meetings every month. Just imagine how much resources teams waste if they lose focus during the discussion because of poor conference quality or ineffective organization of the meeting.
We suggest a couple of tips to make every meeting count:
- Stick to the agenda: some managers keep it in front of their eyes;
- Send the meeting agenda with mentioning the key issues to be discussed. It helps the team prepare questions and materials for the meeting in advance.
- If the agenda looks too immense, there is no need to hold a longer meeting. Don’t hesitate to divide agenda into smaller chunks, schedule separate short meetings for each and invite only those, who need to be there and can actively participate;
- Keep in mind and let everyone know that they can feel free leave and get back to work when they feel the discussion is no longer relevant and valuable to them;
Important: for international teams the language should be plain and crystal-clear. Remind in-house team members about avoiding difficult or ambiguous phrases, idioms or jokes, even if they seem to fit in.
In order to create a feeling of a shared open space, some customers choose an unusual solution and install large screens showing real-time office life of in-house and remote teams. If that doesn’t sound like a good idea, here is a basic set of tools to build a nicely working information system and improve the development-to-release workflow:
- Communication app;
- Information storage app or a type of internal Wiki portal to keep ideas, solutions and and how-to’s in one place;
- Project management system (issue tracker);
- Source Code management (SCM) app.
Scheduling
Scheduling can be challenging, when the remote team is in a different time zone. In this case it is almost impossible to plan meetings within everyone’s working hours. Stay creative:
- Compromise: schedule 50% of the meetings to be convenient to your in-house employees and the other 50% – vice versa.
- Look for useful tools: TimeBuddy, Spacetime (by the way, it integrates with Slack) and similar services can do the job for you.
- Record meetings: if there are team members, who can’t attend real-time, save the conference for them. Or on the contrary – ask them in advance to make a presentation to share it at the meeting.
- Never ignore meeting notes: documenting minutes on shared space and emailing them to all of the participants is probably the best idea, especially when there is a language barrier.
Cultural and Language Misconceptions
As far as language barrier is concerned, cultural and language differences is something that is often neglected. And that’s a shame, because it affects the communication, understanding of priorities, sharing initiatives, and the level of critical thinking.
There are Six Dimensions of Culture, according to the concept a popular scientist Geert Hofstede: he studied the behavior of hundreds of IBM employees working in different parts of the world.
It’s time to ask “so what?”
If your remote software developers and testers have a different cultural or regional background, it makes sense to learn more about Culture Dimensions, for example:
- Power Distance Index (PDI)
If this index is high, the communication is quite formal. The culture representatives would appreciate direct guides, clear tasks and strict deadlines. They are less likely to express their point of view or openly disagree with the leader. If you expect initiatives or a creative approach – share these expectations with the team. For example, PDI is high in Mexico, most of Asian countries (Malaysia, Philippines, and other) and Eastern European countries as well (Russia, and other).
Higher PDI usually goes along with higher collectivism index. Collectivistic cultures are process-oriented, more involved in the corporate culture and easier motivated by intrinsic rather than extrinsic rewards. Examples are Japan, China, Indonesia, India and Brazil.
- Other cultural dimensions include Masculinity VS Femininity, Long-term VS Short-term Orientation, Uncertainty Avoidance Index, and Indulgence.
This concept explains why negotiating with high-context Asians is can be tricky. You are not likely to face a refusal, as it is considered impolite. Instead, they prefect indistinct answers. Along with increased focus on client’s interests it may lead to a cultural misunderstanding. For example, clients from the Western part of the world assume that Asian developers agree on their terms and deadlines. While Asians just tried to be polite, when they discuss tasks that are too complicated or deadlines that are too unrealistic.
The easiest and the most obvious way to avoid cultural misunderstanding is to ask questions and support the dialog. The team members are playing on your side: they also want to make your cooperation effective and comfortable. It doesn’t matter where your employees are from, they are likely to appreciate authentic interest in their cultural characteristics.
Corporate Culture
Last but not least, it is important to engage remote developers into your corporate culture to create this natural feeling of belonging to a group working on the same project and sharing the same goals. Despite the lack of face-to-face time, there are still things you can do as a manager:
- Inspire team-building communication. Managers of remote teams can use communication tools, start chats and create spaces to support celebration of events, achievements and project milestones (like, successful releases and deployments)
- Promote the discussion of business- and tech-related topics in separate chats
- Offer support when your remote dev teams have difficulties.
Remote communication is not easy: managers need to track performance, ensure smooth workflow and keep everyone motivated and engaged. However, with the help of a proper toolset and a proper approach, companies can feel the benefits of easy scaling their teams with the help of dedicated specialists from all over the world.
If you are looking for a dedicated app development team contact Qulix Systems – a software vendor with 19 years of experience.