Best practices for working with external development teams

10 min read
November 11, 2022

In 2019, the car rental firm Hertz filed a lawsuit against the technology giant Accenture.

Why? The reason was simple.

Hertz outsourced the development of its technology platform to Accenture, which the latter failed to do.

Outsourcing issues like this are commonplace. In fact, 25% of outsourced projects fail within the first two years.

The good news is that you can minimize or avoid it entirely if you manage and collaborate with your outsourced team properly.

Here are some of the best practices to achieve that.

Setting clear collaboration guidelines

It’s important to have clear collaboration guidelines at the start of the project or when you bring external developers in.

Collaboration guidelines define each team member’s roles and responsibilities to ensure they can work together smoothly on a project.

It should cover everything from the tools used to the proper communication protocols everyone must observe.

This might seem trivial at first glance. However, you’ll be surprised at the amount of confusion these issues can cause during development unless they’re addressed properly.

In fact, unclear communication is the number one collaboration challenge for non-managers:

managers vs non managers stats 1

Source: Slack

Guidelines can help you avoid confusion and time-consuming backtracking by forcing your team to collaborate using common protocols.

For instance, let’s say you didn’t have a guideline for sending files. One member might submit them via Slack, while another will upload them to Google Drive.

You’ll end up with files that are all over the place—a collaboration nightmare.

A better approach would’ve been to mandate that files be uploaded to the company server. To send files, use a link to the document instead.

Let’s look at the components that your guidelines should have to be effective:

key components to improve remote collaborations 1

Source: IX Telecom | Medium

Collaboration scheduling is vital, especially for external remote teams.

Chances are, your outsourced developers are in a different timezone than your in-house team.

Thus, you should agree on the times you need to have a real-time meeting every week. This allows teams to fix their schedules around those meetings.

Setting clear roles and responsibilities is also vital.

Not only should everyone else know which team member is handling what task, but it’s also crucial to remember to whom they should report.

To facilitate this, you should give external teams a statement of work.

This document details the outsourced team’s roles and responsibilities, including tasks, scope, and deadlines. It should also state where members must pass their deliverables for approval.

Whats in a statement of work infographic 1

Source: Asana

Lastly, it would be best to list the best practices and guidelines your team should follow for smooth collaboration.

For instance, you might require everyone to log their task status on Slack at the end of each day, so everyone knows what every other team member is doing.

Or you might have steps in place for what to do in case a member is late in their deliverables.

The important thing to remember here is to write down everything in detail—no matter how trivial it might seem.

We think it’s better to go overboard with explaining your guidelines than to be vague.

Using the right collaboration tools

Collaborating with an external development team is virtually impossible without the right tools and platforms.

Collaboration tools are like the virtual bridge that closes the geographical distance between you and your remote team, allowing them to work as if under one roof.

Not only can they help make communication and teamwork easier, but they can also make teams more efficient.

A 2020 study by Forrester reveals that people can save up to 10% of their time when using such tools.

Here’s another statistic that shows the benefits of using collaboration tools like cloud platforms:

collaboration in the workplace file sharing

Source: Instapage

However, this takes thorough planning. You need to foresee all the collaboration roadblocks your team could encounter so that you can counter them with the right tools.

Start by considering both asynchronous and synchronous communication in your team.

Briefly, synchronous communication is done in real time—think of Zoom meetings or phone calls.

They are great for brainstorming or updates because information exchange happens rapidly.

Asynchronous communication is the kind of communication that doesn’t take place in real time.

Email or instant messaging, which don’t have to be replied to immediately but instead when it suits the recipient, are the perfect examples.

They’re convenient and non-intrusive, which makes them great at fostering productivity.

Now, the key to successful collaboration is to know when to use synchronous and asynchronous tools.

Comparison Examples of Asynchronous vs. Synchronous communication

Source: Smartsheet

You can start by listing your team’s daily, weekly, or monthly tasks. These could include regular team meetings, submitting work for feedback or approval, and performance reviews.

Also, always anticipate one-off situations like emergencies.

Once you have a list, research the best communication tools that you can use for each.

Here’s what you might end up with:

Twist screenshot

Source: Twist

To give you an idea of the best collaboration tools, here’s a rundown of what we use at DECODE:

For most synchronous communication, we use quick messaging in Slack. For more urgent 1:1 calls, we hop on Zoom or Google Meet.

Jira is our project management platform of choice. We love it because it allows the team to monitor what everyone else is doing.

That way, we know if the project is on track or not. Finally, we use Bitbucket as our Git repository.

But more important than picking the right tools is figuring out how to use them.

One effective way of doing it is to receive information asynchronously but reply synchronously. This minimizes context switching and distractions, making the person more productive overall.

The ideal maker work day infographic

Source: Pesto

The crucial thing to remember is that there’s no ultimate collaboration tool that will suit everyone.

The best tool is the one that’s the right fit for your requirements, team composition, and working style.

Keeping comprehensive documentation

Documentation is an underrated yet critical component of good collaborative teams.

The primary reason for this is that people work in different ways. For instance, one developer might have a unique approach to solving a problem.

It would be a mistake to assume that everyone else thinks that way, too.

Thus, developers should get in the habit of logging everything they do for the benefit of other team members.

Here’s a simple example of how to do it:

logging everything example 1

Source: Medium

Having a log is also critical when debugging your app. It’s easier to backtrack through all the actions taken or discoveries encountered, so you can find the moment when the error occurred.

Another good documentation practice is to have a knowledge base.

A knowledge base is an online repository of all your project’s resources. These can include coding conventions, help articles, product roadmaps, and other important information.

The value of a knowledge base is that it enables everyone—including your remote team—to always have relevant information at their fingertips.

Internal knowledge base software GitBook

Source: Nuclino

It’s also a good idea to put your process guidelines and best practices in your knowledge base. That way, your external team can easily review and comply with them better.

A simple example is to have a knowledge base article on proper naming conventions.

Following this can help make file names and source code variables uniform, thus making them easier to organize.

Ultimately, collaboration is all about working harmoniously towards one goal. Documentation can help you get there by ensuring everyone is on the same page.

Having the leadership promote collaboration

Changes in any organization always start from the top. So, if you want a more collaborative team environment, ensure that team leaders and managers actively promote it.

But here’s the problem—managers and staff don’t always agree on what constitutes effective collaboration.

Just take a look at this survey by Slack:

Slack suvery 1

Source: Slack

Thus, the first step is to discuss this with your team members openly. Ask them about their communication roadblocks.

Discover what’s hindering effective collaboration in your team. That way, you can devise solutions moving forward.

To give you an idea, here are some of the common barriers you’ll likely encounter:

most common communication barriers in the workplace 1

Source: Flexisource IT

One good practice that can tackle many obstacles is holding regular team-building sessions with your remote and in-house teams.

It’s a fantastic way to encourage collaboration and foster trust among teammates.

Training programs infographic

Source: National Event Pros

Many teams make the mistake of excluding their outsourced teams from team-building activities because they’re remote.

But there are actually plenty of ways to hold them virtually. Here are ten ideas you can try right away:

Top 10 remote team building activities 1

Source: Margaret Meloni on Pinterest

Most of all, leadership should set a good example for members. Managers should follow collaboration guidelines and comply with communication rules.

Also, make sure you’re giving remote teams equal support and attention.

Leading by example promotes trust and camaraderie in your team.

Encouraging open communication

Ultimately, good collaboration requires open communication.

Open communication means there’s a free exchange of information and ideas between team members, leaders, and management. Everyone’s opinion is respected and evaluated equally.

When this happens, morale and productivity tend to shoot up. The team can rely on their collective genius to solve problems and innovate.

Here are some other ways open communication can help:

How can open collaboration help your firm

Source: Atlassian / Forrester Research

There are plenty of ways you can promote open communication in your team.

One easy way is to make it a team habit to solicit feedback from direct reports. For instance, you can encourage developers to ask their supervisors how well they did on a task.

You can also send out regular pulse check surveys to quickly gauge the sentiments of team members.

puls check survey question

Source: Easy Feedback

You should also schedule regular 1:1 meetings with team members to check on them.

But make sure to make it a two-way conversation—encourage them to air their sentiments and frustrations to you, too, without fear of judgment.

Another way is to hold your brainstorming sessions in such a way that everyone gets to contribute.

For instance, there’s a sprint design process developed at Google Ventures called Crazy Eights.

The idea is that all participants draw eight sketches of an app in under five minutes or 40 seconds per sketch.

sketch of an app

Source: Medium

You’d expect the drawings to be very rough at that speed—and that’s okay! What’s important is that participants generate ideas rapidly without worrying about what others think.

It’s a nice icebreaker that eases everyone into becoming more open.

Open communication can be difficult or even uncomfortable if you’re not used to it. But with a little effort, you’ll eventually get the hang of it—and reap the benefits.

Our best tip for working with external teams

We hope you’ve learned the best approach to collaborate with your external development team.

However, these tips would be useless if you don’t have the right team in the first place!

Our best advice is to take your time sourcing a development team that fits your project’s requirements and standards.

If you need help figuring out where to start, why not consider the DECODE team?

Get in touch with us today, and learn how our extensive skills and experience can help your project succeed!

long white bg
Categories
Written by

Mario Zderic

Chief Technology Officer

Mario makes every project run smoothly. A firm believer that people are DECODE’s most vital resource, he naturally grew into his former role as People Operations Manager. Now, his encyclopaedic knowledge of every DECODEr’s role, and his expertise in all things tech, enables him to guide DECODE's technical vision as CTO to make sure we're always ahead of the curve. Part engineer, and seemingly part therapist, Mario is always calm under pressure, which helps to maintain the office’s stress-free vibe. In fact, sitting and thinking is his main hobby. What’s more Zen than that?

Related articles