Despite all claims to the contrary, distributed software development projects are riskier than development done by a small, co-located team. When part of this work is outsourced to a third-party the risk increases. When the work is done outside the US, the risk increases yet again. Anybody who has managed even a simple offshore project has learned this the hard way (e.g., look at this case study).
You might be tempted to think that the alternative would be to limit all software development to what can be done by a handful of engineers in a shared office. However, in most cases, this is just not an option. Sophisticated, complex products that require a whole spectrum of skills simply cannot be done in any one location. Once your requirements get past what can be delivered by two or three engineers sitting in an office, the chances that you will end up with another team in another locale goes up exponentially.
If you can’t avoid the inherent risks of outsourcing, the next best thing to do is to recognize and manage them.
Nearsoft leverages the proximity to our clients but we also succeed because we focus on minimizing risk and tightly managing every task.
Software projects have many risks and each of these risks has its own variation. In general, in-house is the safest venue and offshore is the riskiest, with nearshore somewhere in between, although closer to the in-house situation.
This is but a brief review of the major risks, to help you be on the look out for them and identify them, and, ultimately, to help manage your projects to success.
Find somebody who has had experience managing a remote team and understands the cultural differences between your team and the remote team.
You need to have a technical lead for for every five or six offshore engineers. These leads act as the bridge between the offshore and US teams and must, therefore, work a shift that overlaps both teams.
Find out what the turnover is in the particular area where your vendor is located. Also, ask vendors what their turnover has been in the last 12 months, and last 24 months (you want to know if their rate is going up).
Productivity is lost due to experience and skills level of the engineers that outsourcing vendors can attract, and retain. The outsourcing vendor is motivated to put together a team quickly, to start billing sooner.
Training is often forgotten. New team members get a quick orientation and the rest of the training happens in the daily interactions with the rest of the team. When dealing with a remote team, this just won’t work.
Plan to have the Engagement Manager travel to the outsource locale every six months, at least. If you’re having persistent issues, the engagement manager must make a visit as soon as feasible.
Once you have a remote team, you’ll have to have a better defined and more strict process in place, including complete documentation for every step of it.
Software is hard to do and splitting out pieces of it makes it harder. It’s not an impossible tasks by any means, but it’s one that has to be carefully managed and where experience is the best guide.
All your info is kept private. We'll never spam you.
Send us your resume and we’ll guide you trough the process of landing your dream job.