10 Tips for Managing Offshore Development Projects

Offshore development projects are not a new trend, actually, they’ve been around for some time now. When you think of where most projects are shipped to, you think of India. Perhaps that’s true but just about every corner of the globe has large development centers that would be happy to take on your project.

Every culture has its own nuances that make it unique, with its own difficulties and challenges as well. The following tips are general guidelines regardless of the region or country you choose to offshore your development to.

1 Find the right team

There are many factors that define ‘The Right Team’. I will do a deeper dive into that subject in a later blog but for now it is enough to say that not having the right team can easily kill your project.

On the surface I will touch a few points. Make sure they have enough resources for your project. If they start to juggle people or doubling up on clients, your project will fail. Check their technical abilities within the stack your project requires. They might be real good at JavaScript but if your project calls for Ruby and it’s not their forte, you’re screwed. To the best of your ability, ensure they will be around to the end. Nothing kills a project like having the developers disappear in the middle of working.

2 Make sure they’re involved

This might be hard for some of you but the more you keep them in the loop the greater the chance of success. This means involving them in Scrum, planning and design meetings. If your offshore team is larger then 5 people you don’t need the entire team. One or two representatives such as their PM and Lead Dev is enough.

Treat them as any other team member. Give them the ability to input and ask questions as anyone else. If they’re not clear on the main direction of the project, I promise you they’re not clear on their tasks.

3 Don’t take their word for it

Now I’m not telling you to call them a lier but I am telling you to check and double check everything. Don’t just assume work got done just because they said it will get done. Not everyone likes to micromanage but you have to keep your finger on the pulse at all times.

You need to think of them as a child who would rather play than do work. To most offshore teams, play means racking up clients and projects. If you don’t stay on top of your project, they can sneak in other projects into your hours and on your resources.

4 Keep the same hours

This is probably the hardest thing to do for most people. Typical offshore teams will have anywhere from 4 to 14 hour time difference from you. You must have at least one person overlapping at least 4+ hours with the offshore team but keeping the same hours is even better. There are offshore vendors that have teams working US hours. Harder to find but doable.

It is not uncommon that developers or even QA get stuck and need answers or direction. Without overlap you can find yourself loosing an entire day’s worth of work over something that could have solved in minutes had someone been available.

5 Anticipate language barriers

You will find that most IT professionals overseas speak a decent amount of English. That said, it doesn’t mean they understand our slang or references. The best way to ensure they grasp your concept/intention is to use pictures, screenshots, and links to examples. Jumping on a video confernce with whiteboard or screensharing capability helps too.

One good practice is not to assume they understood you or your instructions. Early on in the project when working with a new team it is easy to make mistakes it will take more time to learn their strengths and weakness. Until such time, assume they didn’t understand and always ask if they got it and find a non-offensive way of validating that.

6 Give them a roadmap

All too often we get ahead of ourselves and jump into a project too early. When working with offshore teams it’s better to have everything documented ahead of time. All project specs and architecture should be completed at least to 90% completion before engaging your offshore team.

Give them the time to read and absorb the documentation. Go through at least 3 rounds of Q&A and make sure they ask the right questions. If you sense they grasped it without asking too many questions, stop and triple check they really understood it.

7 Make use of technology

There are many tools available today not only for communication but for bug tracking and code repository. We recommend Zoom for all meetings. enforce the video conference capability for everyone in the meeting. This will set a professional tone for the meeting as if everyone is in the same conference room.

Use Slack for day to day chats and conversations. Create team rooms, project rooms, and release rooms. Refrain from using multiple applications for doing the same thing. Slack can audio/video call too if needed.

We recommend you use your own code repository for all code developed by your offshore team. Don’t complicate things by segregating your code and the offshore team’s code. Keep everything in one repo.

Our fallback for bug tracking is JIRA since we use it for sprint management as well. Regardless of what package you end up using, integrate your teams in one place with once platform.

8 Enforce a daily repository check-ins

This is very important. It not only ensures code will not get lost but it shows the offshore team that you are always on top of things and will not let them slack. There is nothing wrong with keeping your team on their toes. People do perform better when they know they are being monitored. That doesn’t mean micromanaging every line of code nor does it mean you should put a camera on them 24/7.

Enforce pull requests on your code. Along with daily check-ins, this helps your lead dev and architect validate that development is moving forward in the right direction, not only in terms of technology but approach and implementation as well.

9 Keep them busy

Nature abhors a vacuum. Just like onshore teams, if they don’t have enough to do, they will slack. Offshore teams can get concerned when their work queue dwindles. Being as far as they are, the ‘unknown’ fear factor sets in. They fear they might lose this project due to any number of reasons, so they start to look for other projects to fill the time and keep their resources busy.

Always assign them twice as much work as time permits. It’s not from the standpoint of trying to overwhelm them or getting more bang for your buck. It is purely to give them the confidence that there is plenty of work for them now and in the future.

10 Get to know your team

Try getting to know each resource on your offshore team. It is not uncommon for offshore vendors to swap resources from one project to another. There are obvious benefits in this practice for them but will damage the productivity of your project.

When you know and communicate with each resource via Slack or Zoom, not only are you aware of the changes but they will be very reluctant to make any. At least not without discussing the matter with you first.

Conclusion

With over 15 years of experience managing offshore teams in India, Ukraine, Belarus, Thailand, Argentina and more I can tell you it’s never the same and never easy. If you stay focus on documenting everything ahead of time, finding the right team, overlap hours and stay on top of things, you will greatly increase your chances of having a successful project implemented offshore.

Good luck and feel free to reach out for any help and/or tips.