If you’re worried that conference calls and online reporting tools like Jira might not be enough to achieve the desired effectivity level, you’re not alone. Efficient cooperation and management over long-distance seem for many as something overwhelming and rather inefficient. Long story short – it’s not? You only need to abide by some golden rules. That’s why we’re here to give you a hand and share ten basic, yet crucial battle-tested practices that allow building robust foundations for cooperation with outsourced developers.
To achieve seamless communication and cooperation, you need to start the groundwork even before the development train pulls out, and the work begins. So firstly, we will focus on what should be done before the first lines of code are written and then move into the stage where the real fun begins. As communication models and schemes depend on the specific conditions that differ between projects, this time, we would provide you with general rules that always suit the remote cooperation with outsourced developers. So, without further ado, let’s begin.
1/ Before managing the work, manage the logistics of cooperation…
First and foremost – you need to prepare a virtual space where your inhouse team and outsourced developers would be able to share files, access documents, repositories, and so on. Often that requires setting up a VPN, so if your structure requires it, you need to keep that in mind. Remember also to select an instant messaging client that saves the history of conversations. Skype for business and similar are irreplaceable when hosting a call, but developers need some space where they can share their thoughts and come back to them later.
2/ …and communication.
The technical aspect of communication seems so obvious that it’s often overlooked. However, it is a crucial factor to make cooperation and communication flawless. Especially when your in-house team is working with external developers for the first time – discussing work and schedules over the call would be something new for them, so it should be as effortless as possible. You need to make sure that all your inhouse employees have working headsets and cameras since seeing the other person during the call makes a huge difference. If your developers would have to struggle with the equipment every time, they would finally quit trying and make less and less calls – that should never happen. When it comes to the outsourced team, if you managed to select a professional company in the first place, you don’t need to worry – they would have all the equipment necessary provided by their employer.
3/ Tools are useless without the operators.
This one is especially important if your in-house team is not used to work hand in hand with remote developers. But even if they already endured this kind of cooperation, it’s still important to hear them out and work out communication models with them. Even better let them meet with outsourced developers in real life – they would probably find a common language without any further difficulties – and that leads us to the next point…
4/ Visit your external team and invite them to your office.
Although the first face to face meeting should happen before or at the very beginning of the cooperation, these should not be abandoned later. That’s why we place them in the first part of this article but keep in mind that as the collaboration moves forward, it’s always helpful to organize face to face meetings with the possibility to grab a pint because that helps the distributed team to bond. It’s also a great chance to learn a few phrases in the opposite team language which would highly boost the effectiveness of the cooperation. At the present impactful and unstable time, it’s not a good idea to travel and meet face to face so instead replace these with informal online hangouts focused on social aspects – you can even drink the already mentioned beer online. Maybe due to timezone difference someone would have to start early in the morning but is it really a problem? 😉 Let’s go back on track though – seeing each other office, surroundings, and so on makes the future online communication more comfortable and effective.
5/ Treat your outsourced developers as a part of your company
Whether the external team would be responsible for the whole project development or became your internal team extension, they should feel as a part of your company. That’s why it is best to onboard them like your regular new employees, share with them the big picture, roadmap, and company values. You don’t have to nor should share sensible information, but knowledge of the direction into which the business is heading boost the engagement and effectiveness.
6/ Trust the outsourced Project Manager/Scrum Master…
It’s not a secret that one of the outsourcing values is the time you save and use it to focus on the core business. That’s why you should leave the day-by-day micromanagement to the outsourced PM/SM. If the outsourced developers are responsible for the whole project, which by the way is the most effective setup, this is obvious. However, if the external team is going to be an extension of your development units, you should focus on significant decisions only. Outsourced PM/SM not only is on-site with the developers but also knows his/hers team and proven ways of managing them. Entrusting him/her with the management of daily work would take a lot from your back and boost the effectiveness of the work, but…
7/ be available, and…
… please don’t leave the outsourced team entirely on their own 😉 Even smaller tasks might raise some questions that would be directed to you. It’s obvious that you can’t be in front of the communicator 24/7, especially since we mention the time saving ;), but if the outsourced specialist would have to wait for a simple answer for a few days that would not only slow down their work but also lower the team morale. We’re confident that you know what we mean as the same applies to your in-house developers and their doubts.
8/ stay in regular touch with the outsourced manager.
Some things should be discussed on a higher level before being introduced to the teams. That’s why apart from participating in general meetings that are run accordingly to the project methodology you agreed on (like daily, planning, retrospective, etc.), you should talk with the outsourced manager one to one. Depending on the matter, your partner in the discussion might be outsourced PM or Delivery Manager. That allows to address critical points, make significant decisions regarding the projects, and prepare the best ways of spreading those across the teams.
9/ When “black swans” appear, don’t be afraid to combine forces in one location.
The business environment might unexpectedly change, and it may force significant adjustments to the project. When that happens, you shouldn’t be afraid to “mix” teams and adequately to the situation, send your specialists to your partner premises, or flew some of them into your location. Hence this might seem little confusing let’s illustrate it with a real-life example. A few years ago, as the GDPR was about to be signed, we were working on a big project for our partner. To make it compliant with the notorious regulations, some modifications had to be made. Our partner decided to delegate his Product Owner to us, so he could work directly with the developers that were responsible for the project. Sitting in one room and brainstorming allowed to come up with solutions quickly, and at the end of the day, introducing GDPR didn’t affect the workflow as much as is could.
10/ Autonomous team would provide you with the highest value.
Task-outsourcing route will produce lots of benefits for your business; however, it requires much more work from you. All the pieces of advice we gave you can make this process effective, but if you want to make the utmost of software development outsourcing, then the autonomous team is the right choice. In this scenario, the outsourced partner would be responsible for the complete project development. Although that doesn’t mean you should not be involved in the cooperation. Based on our experience, the more both parties are engaged, the higher quality of the final product and longer cooperation lifespan. It’s just about relocating the emphasis from daily work management and mixed teams coordination to making business-wise decisions.
This is just a beginning…
As we said at the opening, there are no two identical companies, two identical teams, and two identical projects, and it’s not possible to fit a complete guide about communication and management of the outsourced team in one blog article. That’s why these tips should be treated like a solid core on which the rest of the cooperation should be built. How the finished collaboration and communication model would look depends on your needs and preferences.
If you have any doubts, it would be best to choose a seasoned outsourcing company that has the knowledge necessary and would willingly share their experience with you. As much as we look forward to new challenges and cooperations, we’re also happy to share out know-how – use that orange button below, and let’s talk about the best ways to coordinate outsourced work. Having worked with multiple partners from all over the world, we had a chance to try almost every possible configuration and simply know what works when ?
About the authorSoftware Mind
Software Mind provides companies with autonomous development teams who manage software life cycles from ideation to release and beyond. For over 20 years we’ve been enriching organizations with the talent they need to boost scalability, drive dynamic growth and bring disruptive ideas to life. Our top-notch engineering teams combine ownership with leading technologies, including cloud, AI, data science and embedded software to accelerate digital transformations and boost software delivery. A culture that embraces openness, craves more and acts with respect enables our bold and passionate people to create evolutive solutions that support scale-ups, unicorns and enterprise-level companies around the world.