How do offshore teams communicate with product managers, CTOs, and other stakeholders across different time zones? Can I practice Agile with offshore teams? How to make cooperation with remote developers successful? This article will provide answers and practical tips based on Onix’s 20+ years of outsourced software development for customers located worldwide.
Cost reduction, access to diverse talent, improved quality and productivity, flexibility, and opportunities to avoid stringent regulations are driving more and more businesses to offshore and onshore outsourcing. However, certain communication difficulties are often mentioned as a drawback.
Simultaneously, software development teams are increasingly adopting the Agile method. This progressive approach focuses on daily tasks, rapid continuous delivery, and instantaneous feedback. Stakeholders and Agile team members need to collaborate daily on improving the product. The pursuit of dynamism and constant acceleration of the processes also bring about communication challenges.
If you contemplate outsourcing your software development needs but are not sure how to manage an offshore team, this post is for you!
First, let’s outline some potential hindrances to your work with offshore software development teams.
Face-to-face conversations are essential to Agile communication, but this precept seems to be immediately violated by remote teams. Luckily, modern communication tools like Zoom are here to help, but the language and cultural differences still pose challenges to offshore team communication. The simplest examples of misunderstandings that can occur due to cultural differences are different word orders or using the DD/MM/YYYY date format instead of MM/DD/YYYY. Some people may not be ready to ask again or argue their point; they may be politely saying ‘yes’ to everything, but it doesn’t necessarily mean they understand or agree with you.
Different time zones may either pose a challenge to coordinating the work of the domestic and offshore development teams or become an advantage. For example, pushes to production and deployments that must occur at night or during the weekend can be done by offshore team members during their normal working hours. Thus, the software can be built and monitored in a harmonious, continuous cycle.
Even modern technologies may not always yield crystal-clear calls across great distances. The more affordable options of low-bandwidth VoIPs can yield low-quality sound and communication disruptions. A connection that adds a delay between speaking and hearing may hinder discussions of intricate technical details. The same tech limitations as VoIP may affect communication via chats and video that rely on the same broadband connection.
These problems seem to have been largely forgotten in developed countries, to the extent that many businesses fail to assess a potential outsourcing partner’s technical communications infrastructure during the negotiation stage.
For instance, Ukraine’s IT outsourcing companies have encountered technical difficulties again after Russia’s attacks on the Ukrainian energy infrastructure facilities. To enable the seamless provision of services to Onix’s clients even during possible outages, our company has taken a number of precautions, such as:
For Agile methods to work best, each member of a self-organizing team needs to have a clear picture of what the team is doing. They should thoroughly understand the project goals, business context, product requirements and updates to them, existing issues, their colleagues’ responsibilities, etc. The dispersed teams also need to consistently synchronize their effort and avoid cases when several people are doing the same job independently. However, the more people an Agile project involves, the more difficult it becomes to coordinate, share information, and talk through issues with all of them. Every new communication channel adds to the complexity.
Agile generally downplays ‘following a plan,’ including full-fledged discovery and design phases. Agile teams that take this approach too far risk missing the project objectives. The lack of clearly defined deliverables, deadlines, metrics, and quickly accessible project specification or another single source of truth makes it difficult to organize the work and track the project team’s progress. Without a common product vision, geographically dispersed teams may end up working chaotically while the product manager, CTO, and project managers (PMs) are talking through things with each other and every team member.
An Agile project should be flexible and dynamic: throughout the implementation, changes may occur, and the requirements may be updated. However, if this happens too often and too fast, it becomes increasingly difficult for the international project team members to stay organized, focused, motivated, and on the same page.
These factors may pose significant challenges to the outsourced software development process, but many companies and agencies have learned to overcome them. Let us share some insights into Agile communication with and within offshore development teams.
When you first negotiate with a potential outsourcing partner, ask them whether they regard communication skills as a core competency, whether they coach and mentor employees to facilitate communication and collaboration, who will fix possible communication roadblocks, and so forth.
Just like when you hire in-house personnel, you can review the CVs and interview in-person or online every offshore developer for your outsourced project or dedicated team.
Among other things, you will be able to evaluate the specialists’ English and communication skills. Accents may take some time to get used to, but high-level customer-facing English language skills are a basic requirement.
Even if your remote workers speak perfect English, remember that you still may be viewing or interpreting things differently. Don’t hesitate to ask direct questions any time you feel like it. A little research into the remote employees’ culture will reduce the chances of misunderstanding or conflict.
Entrepreneurs working with offshore teams should treat their members as ordinary coworkers. It’s reasonable to learn more about each of them and build healthy relationships within the team, albeit virtual.
At the beginning of each project phase, Onix’s PMs have a virtual kick-off meeting with the whole team. The bigger your plans, the more important these kick-offs become.
Personal visits are still the best way to get to know everyone. Several in-personal meetings throughout the project’s lifespan can hugely benefit both parties.
Position yourself as a partner instead of a client. Acknowledge the offshore team’s role in your project and appreciate their hard work and contribution to your business’s success. Minimizing the use of “you” and emphasizing the word “we” will help reinforce the notion of joint development and ownership. Remote employees that feel valued and respected will work harder for you, will be more likely to change their shifts to match your schedule, and more.
Tasking an outsourcing partner with a project without explaining the goal behind it is a grave mistake. You need to tell the offshore team at least:
Consistently communicate your product vision from the moment you contact outsourcing providers until the end of the partnership. Speak to them about the details, assess their understanding thereof, and explain the offshore team’s role and importance in executing your vision. The more your team knows, the more invested they become in your project. A thorough understanding of your goals allows them to work creatively and innovate. It’s also crucial to align your in-house and offshore teams around a common goal.
Your in-house and remote team members must be on the same page regarding the product vision, roadmap, challenges, risks, and other relevant project information. A perfect understanding thereof empowers remote developers to make the right daily decisions, minimize technical debt, maximize code maintainability, and anticipate future steps.
It’s desirable to involve remote developers and other specialists at the initial stages of defining the project scope. For example, they can help create user stories based on their experience or suggest more suitable solutions and technologies. This also promotes an early understanding of product goals, structure, complexity, and challenges.
The people who define the product vision need to be open and consistent in what they communicate to the entire project team. They need to participate in kick-off meetings and be notified of essential changes. To help prevent different stakeholders from giving contradicting information to the developers, set up relevant policies and responsibilities early on. The product manager should ideally be available whenever the team may need their help.
Keep your language simple by avoiding highly specialized terms, slang, metaphors, etc. Never make assumptions. To check the remote team members’ understanding of what you have just explained, don't be afraid to ask them to retell what they have understood.
Regular meetings help inform everyone about the work scope and how they will achieve the goals. Collective decision-making and keeping everyone in the loop allow everyone to feel involved, in charge, and valued. Even online brainstorming builds a sense of partnership among your project team members.
Product requirements should be defined as clearly as possible. An established validation method will promote equal understanding among the team and stakeholders, preventing confusion. For example, Onix’s PMs conduct the requirements review and approval process. If needed, they act as interpreters between the client and their foreign team members both in the direct meaning and when it comes to the engineers’ lingo.
Onix promotes trust through NDAs and agreements with each client that regulate confidentiality and intellectual property matters.
Each team member should be able to access the information required for their job anytime.
Quickly accessible technical documentation or another single source of truth for the product requirements facilitates project knowledge sharing and prevents many communication issues. Authorized team members should be able to access and edit the project knowledge base as needed.
It can include a project specification, a prototype, a Сonfluence page, a project wiki, issue logs, etc., but make sure the resource eliminates any doubt in the developers about any feature’s look and function.
For example, a style guide encompasses the product’s design principles and nuances. When remote developers need to implement a new feature quickly, e.g., a dark mode, they can do it without a designer’s help. This saves the client time and money.
It’s also helpful to create and maintain a project glossary. The names of variables, classes, and APIs may be next to impossible to change later. For example, we start each confluence page with a glossary of important terms related to the new feature.
Your in-house and remote developers must also be on the same page regarding best practices, workflows, and tasks. All distributed team members must understand and follow the same consistent processes. Clear instructions will facilitate this.
The offshore team should ideally adopt your company’s internal processes and culture. You can dramatically improve communication on your outsourced project by providing them with technical and soft skills training.
Try to encourage and support the culture of knowledge sharing in formal and informal ways. Regular Q&A sessions, video seminars, live training, online courses, retrospective meetings, and similar activities will help share the team members’ working experience and insider learning. For example, at Onix, subject matter experts conduct weekly half-hour tech talks.
A high frequency of communication and a level of detail is key: you can’t “overdo it” during long-distance or cross-cultural communication.
The offshore team members should always know what is “up next” so there isn’t any downtime.
Both parties must agree on the optimal format, communication channel, schedule, and rules from the beginning. For example:
The entire team should follow simple rules. For example, determine the types of meetings you need, list team members who must attend them, and set a fixed time for each meeting.
Your communications plan should consider any time zone differences, days-offs, and national holidays on both sides. If your team members are located in different time zones, identify the time that falls into both parties’ workdays and working hours. If there are no overlapping hours, negotiate at least the PM’s extra working hours for critical real-time communication.
For example, the time difference between Ukraine and Onix’s American clients is 7-10 hours. A couple of hours are available for live chat or video calls with PMs every day. It is sufficient for updates, coordination, and discussions about work to be done while the client sleeps.
Communication is a two-way process. You expect your offshore team members to share reports consistently, and they will expect regular constructive feedback from you. All participants should do their best to adhere to the schedule of meetings, calls, reporting, and other communications. Their chat windows should be open as long as possible for quick clarifications and sync-ups. However, it’s unreasonable to expect all remote coworkers to respond to your requests 24/7.
Your communications plan still should not be carved in stone. It’s reasonable to reevaluate your communication methods at least at the end of each iteration, during a process improvement retrospective. Address all communication issues as they arise.
Frequent cross-team communication, even via voice or video calls, builds understanding, enables everyone to express their ideas and concerns, and helps align efforts.
An Agile communication plan typically includes daily and weekly meetings. A daily 15-minute online stand-up is feasible even across different time zones and helps everyone remain synced and maintain a stable information flow.
Daily or semi-weekly check-ins are recommended for any phase of the project, especially with multiple stakeholders and decision-makers. Regular status updates and reports promote accountability and drive better results.
For example, one of Onix’s practices is detail-oriented communication twice a day. In the morning, Scrum masters conduct a brief stand-up with the team over Skype, Google Meet, or Zoom. In the evening, they update the clients on the day’s results and work planned for the next day via email or video calls.
To get the best out of each meeting, it’s recommended to
Still, make sure your distributed product development team is not overdependent on meetings to collaborate and manage tasks.
Holding video calls whenever possible is highly recommended, but real-life conversations are still the best form of communication. Try to visit your remote team or invite them to your headquarters at least once a year.
Empowering remote team members and raising their morale can help minimize the communication gap while managing offshore teams. Instead of micromanaging them, it’s desirable to rely on the self-organizing and self-managing abilities of modern Agile teams. While adhering to the overall business goals, the team must remain flexible, open-minded, honest, and respectful.
PMs should promote a feedback-oriented culture, encourage healthy and productive discussions, and create a respectful and non-threatening environment where all opinions are welcome and valued. Offshore development teams usually have a wealth of diverse experience to share. Regular communication between the in-house and external team members will enrich both teams and facilitate creativity and innovation.
PMs should have a conflict management system in place. In case of a conflict, they need to examine the cause, make the team aware of it, talk it through, help work out a solution that everyone is comfortable with, and make the solution a standard going forward.
Modern project management tools, including collaboration, issue and bug tracking, and automated testing systems, facilitate Agile communication between clients and their offshore developers.
Instruments like Asana, Trello, or JIRA designed explicitly for Agile projects help manage and prioritize tasks, track progress, and generate reports and analytics.
A common Slack chat or a corporate Trello account helps nurture a collaborative spirit within a geographically dispersed project team. Slack offers direct and group messaging and audio- and video-conferencing. Dedicated Slack channels facilitate sharing briefs and important updates. Authorized team members will be notified of a new task or update instantly without sifting through emails. There’s also a handy search for information in the messages and documents.
Shared calendars with deadlines, schedules, and team availability tracking also facilitate communication.
Tools like GitHub allow for easy component sharing between your domestic and offshore development teams, collaboration on changes, and consistent synchronization.
If your in-house and remote developers have different coding practices, miscommunication is more likely to occur.
Clarify the preferred data structure, advise on code reviews and commenting practices, and other code-related aspects from the beginning. For example, at Onix, we use the following procedure: the developer who wrote the code cannot merge it into the develop branch without another developer’s approval and until Jenkins puts together the builds and runs the tests. In each new build, we will also add a changelog.
We keep pull requests as small as possible and push often. It’s best to review smaller pieces of code sooner than later. If a reviewer leaves 50 comments in one go, it may be difficult, tiresome, and discouraging to discuss changes and fix them.
For every programmer’s comment or every time they have a different opinion, it’s desirable to allow room for doubt and give their teammates a chance to express their point of view. Simply put, reviewers can formulate a comment either as a command or as a question. Using the latter style, they can ask for clarifications and offer a solution without dismissing alternative arguments.
Agility in software development helps to cope with the almost inevitable changing requirements. Still, even on Agile projects, good PMs try to keep every change as small and simple as possible. Together with developers, they break down a large feature into manageable chunks with a clearly defined scope and bring them into production as fast as possible. Unfinished changes can be hidden behind feature flags.
Product managers should help the developers understand what parts of the product still need to be fully defined or may change. For example, you could mark uncertain parts in red in the documents.
Prioritize the features so that they can be allocated to different sprints. At the start of a sprint, discuss the feature with your offshore developers and plan its execution in greater detail. Regular meetings also re-sync the team about what changes are needed and why. Developers need to know the answer to questions such as:
Agile teams are a balanced combination of software developers with different qualification levels, team leads, and skillful project management. Ideally, when you hire an offshore team from an outsourcing agency, you get an optimal number of experienced professionals fully equipped and organized to deliver high-quality products on time. Usually, it comes with a PM that will manage offshore team members on your behalf.
It’s recommended to avoid adding new team members unless there is no other option. Even senior members will take some time to become self-sufficient, while the product manager and PM will need to meet them online and offline, define their roles and duties, educate them, give permits, and so forth.
The perks of outsourced software development in terms of cost, scalability, and global talent can be realized only when you are managing remote operations effectively. Successful cooperation is only possible with smooth and productive communication between your domestic and offshore development teams.
Optimized communication between your product team members will ensure you are moving in the same coordinated direction. A healthy cooperative environment fosters high productivity and quality of the product.
Outsourcing companies and startups need to make proactive efforts and provide a communication strategy for an offshore team bridging the geographical, cultural, and other gaps for the best outsourcing outcomes, such as:
At Onix, we follow the best practices for managing offshore resources for our clients and constantly work on perfecting the communication between the development and product teams. Onix’s clients often note constant smooth communication with our software developers and dedicated teams. Establishing regular transparent communication between our clients and Onix’s employees is one of the first tasks of each project or long-term cooperation.
Our clients can order software product development from the ground up, hire a dedicated team of professionals, or augment their Agile project team with a couple of remote developers. You can hire the finest seasoned software developers, designers, and project managers affordably and quickly. Contact us today and let us find the best solution for your business needs!
Effective communication in outsourced software development:
The smoothest communication can be expected when you hire and manage an offshore dev team best positioned in terms of:
If this isn’t the case, at least look for software engineers with a high English proficiency level and agencies that:
Onix’s project managers and teams use various instruments that facilitate communication with clients and manage the work: