Working together, apart: best practices for working with external development teams
2020 changed the way the world perceives and does remote work. When most office employees had to start working from home, many teams discovered a new freedom! They found new ways to simplify processes and innovate — as well as to communicate better with each other while working apart. Not surprisingly, some companies even improved their productivity.
In the software industry, the revolution that remote collaboration brings is not something new. In fact, dispersed teams were a fact long before the pandemic. Remote in-house collaboration, as well as remote work with external development teams and providing external professional services to other businesses, have all been possible for some time.
Yet the changes brought by the COVID-19 pandemic that started in 2020 are reshaping the world of remote work across industries. Software development in particular is a field that requires an utmost degree of precision and truly effective collaboration.
Here are our tried-and-tested best practices for remote collaboration with external software engineering teams — especially when they’re more than one. These insights are based on our extensive experience working for a multitude of businesses across industries and continents — all having different types of internal organization and processes.
This compilation will help you get started with or improve your remote cooperation culture.
1. Plan and outline responsibilities
When you’re in the same physical space, it’s often easier to plan and communicate in a quick meeting. In remote collaboration, effective communication is essential, especially when it comes to planning and responsibilities.
To make the most of your remote work with external dev teams, it’s important to outline the responsibilities that each of your partners will take — and that you yourself will need to handle. This initial planning will help you strike the right balance between control and flexibility in the long run. It will also prevent you from micromanaging the different external teams.
Make sure to include all of the above in your pre-project planning:
- Remind everyone about the project’s goals and objectives
- Go through the project’s requirements
- Set the roles of people from each team
- Identify clearly the responsibilities of each team and its members
- Touch base on the project expectations
- Agree on deadlines that all teams can respect
By communicating clearly on everyone’s responsibilities, you can avoid misinterpretations and vagueness that may lead to ineffectiveness and disputes among engineering teams and with you as their client.
2. Ensure adequate project management
A key part of the initial planning before you start working with your external development partner is to decide on the project manager (PM). This can be either a person from your company or from one of the other software development teams that are onboard the project, but in either case, they should be handpicked. If you decide to opt for an internal staff member, you should be extra careful because this person needs to have knowledge and skills of working with external partners.
A good PM should have a solid understanding of the business problem that you seek to solve with the solution that the dev team is building for you. This will save time and effort for all parties, as the PM would be able to direct the process skillfully. They would be able to give architectural advice, base their decisions on best practices in the industry, and provide guidance and training for all of the teams.
Using the right project management tool is an important collaboration enabler for the remote working process, especially when you have more than one external dev partner. It’s also the key to decluttering the mailboxes of both teams. The top choices we can recommend include GitHub, Jira, and Visual Studio Online, among others.
3. Strive for full visibility of the processes
In collaborating with external dev teams, visibility of processes is central. All sides — your business and your software partners — have to be committed to transparency and consistent alignment because this ensures smooth work and reaching of your goals.
A significant element of achieving full visibility is the precise logging of tasks and responsibilities. As we noted in the first section, you need to start with a crystal clear distribution of responsibilities — and then you have to follow up with an exact recording of what is agreed on with each of your dev partners and between themselves too. Decisions you take together have to be documented the moment they’re made to avoid confusion later on.
Visibility is also our best advice in terms of code sharing. This enhances the project velocity and optimizes the work process.
“The best results are achieved when your external partners get access to your live environments, rather than simply getting a preview because of security concerns. It’s also a good idea to share code developed internally with your external dev teams.”
Striving for transparency in your collaboration — both in terms of communication and in terms of code sharing — is the key to avoiding unnecessary and costly reworks. That’s how you can also achieve the much-needed accountability in the collaboration process with multiple software providers.
4. Make the most of project meetings
We all know that meetings are essential to a project’s success. Yet you need to handle them with care and strike a balance in the number of meetings, depending on the different types of partnerships you may enter into.
For example, if you just need staff augmentation — and you get an external person or a team to work on your behalf — the best tip is to go for weekly sprints with daily meetings.
If you wish to leverage the external expertise of an independent contractor and thus hire a dev team for a specific project, then your best approach is to have a weekly meeting.
“A meeting once a week is enough to outline the priorities and tasks for the following week, and then let your external dev partner work on their own.”
In case you have an internal project which requires that a dedicated external team develops your software project from A to Z, then usually you’ll need to bet on constant updates and communication, so that you’re always in the loop.
In some cases, you may have to limit the number of meetings because they can eat up your productivity — and reduce the productivity of your dev partners too. Asynchronous communication, such as through chats, can often do the job instead of a call.
As with project management, you can boost your collaboration by choosing the right communication method and platform. We can recommend GoToMeetings and Zoom for online video meetings, while email remains the preferred channel for official communication.
Choose wisely your trusted external dev team
From solid planning and project management to good visibility and effective meetings, these tips will assist you in setting up and boosting your remote collaboration with external dev teams.
But transforming your business is easier when you work with the right software development partner.