Businesses leverage data to make important strategic decisions. In order to stay competitive on data driven markets they need to become data driven themselves. When putting together a big data development team, turning to outsourcing is not uncommon.
During our work at SoftwareMill we’ve discovered a few important ingredients that make outsourced projects successful. Based on this experience, here is a list of the do's and don’ts of managing an outsourced Big Data development team. In reality, technical competences are often not enough to efficiently work together, effective communication and common understanding are typically the crucial ingredients for stress-free cooperation.
Things to Do When Managing an Outsourced Big Data Development Team
Establish a Trustful Relationship from Day One
The world of outsourcing demands both sides of the contract cooperate and establish a good partner relationship. To achieve this, it’s important to think about how you present the new team inside your company and how you kickstart the project.
Each developer has slightly different technical background, preferences, habits and rituals. However, a team of good engineers must have common standards regarding quality of code and software engineering process, ensuring they can work well together. At the beginning of any big data project, provide a space to meet in person (or at least on a video call) to have a chat and set the rules for the project.
By holding such a meeting, it’s possible to make roles and responsibilities easy to understand, while also agreeing project milestones and goals so the entire team is on the same page and knows how to work together. If you invest enough time to properly onboard your outsourced team, both sides will start to see the partnership grow and make the relationship beneficial for all involved.
Create a Space for Good Communication
To really make the most out of your work with the outsourced team, you need to leverage synchronous and asynchronous communication. This will allow you to juggle different tasks while effectively managing internationally outsourced projects.
Holding regular meetings will help you coordinate the software development process. You need to verify that you are going in the right direction on a regular basis. The sooner you discover misconceptions during project delivery, the easier it will be to fix them. Normally such meetings happen more frequently at the initial phase of the development process. Later on, especially when the project is going well, their frequency drops. Nevertheless, even when everything goes as planned, the role of such meetings cannot be underestimated when it comes to team building and keeping track of the project milestones.
For both real-time and asynchronous communication use channels conversation can be in live video form or in text. Slack is super helpful if you’re dealing with a time zone difference and keeps the communication smooth so everyone shares the responsibility for the end result.
Check out 5 ideas that shaped our communication in a 100% remote, software development company.
Set the Responsibilities and Be Agile
When putting together a Big Data team, it’s important that you create an operational structure allowing all members to take advantage of each other’s work. When everyone knows their responsibilities it’s easier to react and communicate on a daily basis.
During the cooperation with the outsourced team you also sometimes want to request incremental changes without entering into a negotiation. It’s the agile methodology that enables outsourced teams to produce working software fitted for a given business’s needs. The Agile framework consists of quite a few meeting formats with Sprint reviews being the one event you should not miss, as a client or product owner. This is the time when your big data team can double check on the project’s milestones, your vision and the overall feedback.
Things to Avoid When Managing an Outsourced Big Data Development Team
Relying Just on Written Communication
Do not leave everything in between the chat lines. You’d be surprised how often video communication comes in handy. It sparks small talk, allows remote teams to emulate regular meetings, and is also a nice reminder that on the other end of the line there are real people made of flesh and blood. Taking time to get to know other teammates during video meetings has a strong impact on the team’s performance.
This is the same for meetings in person. Sometimes it can be a lot of struggle and costs to organize such meetings for your distributed team, nevertheless coming together can boost the quality of the cooperation within the team tremendously. Consider an occasional on-site visit for deep planning and team building at least once during the project lifespan.
Being Disrespectful of Everyone’s Time Zones
Not scheduling meetings that suit both parties can be really annoying and lead to the feeling that one of the parties has to make unnecessary sacrifices. Don’t let the different time zones turn into a blocker when it comes to communication between teams. What works in our projects, especially when we’re in time zones that are separated by a few hours, is adjusting our working hours every two weeks. One week we work later hours and one week our client’s team work earlier hours. That way we have more hours during a day for synchronous work and communication. It also makes video status updates possible.
Blocking Access to the Important Information
Your team needs the necessary background information and materials that help them in further managing the project. This key data needs to be stored in a place that is accessible to everyone, as it’s being, discussed, amended and developed. It’s essential project documentation, backlog of goals and any possible changes are easy to find, understand and use by the right people in order to build accuracy and promote overall effectiveness.
All of the above do’s and don'ts can help you effectively manage internationally outsourced projects. All of the above also mean nothing if the outsourced team has no understanding of the business context of the project. It’s on the managers shoulders to come forward and explain the business background to the developers. However, during the project kick-off, the same developers are also the ones who should be actively asking questions about their clients business like future plans, software features, and company goals. When working with our clients we came to the conclusion that such a proactive attitude is important and helps merging diverse organizations into a cohesive unit that can effectively work together toward a common goal.
Editor's Note: This following is a guest post by Maria Wachal, the Marketing and Growth Manager at Digital Knights partner SoftwareMill.