There are many reasons to move work off-shore such as reducing costs, reducing time-to-market, using specialized services without having to hire full time staff, and adding the ability to handle additional work during your peak times without hiring additional full time employees.
There are also many reasons not to move work off-shore such as security concerns, creative control is harder to achieve, negative impact to your culture, and if not done properly, moving work off-shore can increase costs and negatively impact schedules.
Determining the proper model
When the decision has been made to move work off-shore, the first thing to do is to determine the proper model. There are three basic types of models:
- Staff extension retainer
- Project-based projects
- Team retainer
The staff extension retainer is used to extend your current team by taking a role performed locally and moving the role off-shore, so that the off-shore person is part of your team. As much as possible, you should manage this resource just like any other resource. Give them access to your systems including an email address and access to your file server or source control system. Let them work directly with your team as well. Remember that the intent is that this person is just another member of your team, even though they are physically located on the other side of the world. This staff extension retainer works best for certain roles such as site builder, flash developer, middle-tier developer, back-end developer, QA and IT support. The goal is to make sure that there is a constant flow of work going through these people since you pay for them whether you use them or not. This can be easily achieved by making sure that the resource has a list of lower-priority activities to be done during their down-time, so that if there is any lapse in work going through this resource, that they can remain productive. Typically the contract used is a long-term (six months or longer) retainer.
The project-based team is used to deliver individual projects. These are managed by an off-shore project manager and the contract is typically done on a fixed-price or time-and-materials basis. The advantage of a project-based team is that it limits your exposure only to the individual project and can be useful to test out off-shore teams before committing to a long-term team retainer, or to help you deliver a large project to one of your clients.
The team retainer is used to move entire teams off-shore. This provides the greatest cost benefit compared to the staff extension retainer and project-based teams as the off-shore teams are completely placed off-shore and they are managed by off-shore project managers. The off-shore project manager is responsible for working with your local team to manage and stage the workflow through the off-shore team. Similar to the staff extension model, for this to be cost advantageous, the goal is to make sure that there is a constant flow of work going through this team as you pay for them whether you use them or not. Typically the contract used is a long-term (six months or longer) retainer.
It can be difficult selecting the proper vendor for your needs as most vendors have the same sales pitch and follow the same delivery model. Look for the vendors that truly understand what it takes to deliver quality projects. Ask them to describe how they ensure quality. Look for things such as having a QA resource perform testing (instead of having only developers test their own work), code reviews, and having an Art Director or Creative Director review the work before it is presented to ensure that everything is pixel-perfect.
Other things to consider are:
- Understand what kind of local support you will receive. Will your main contact go away once the contract is executed, or is this person involved in the delivery to some extent?
- Ask how your team will be structured. It is best to have an off-shore project manager overseeing your team, and if the team is large enough, also a technical and creative lead
- Understand their hiring process. Do they have a full-time team, or are they hiring freelancers to fill your needs? What is the average tenure of their team members? It is best if your team is comprised of full time employees who have proven themselves, and that your leads have been there for a few years
- Watch for the bait-and-switch, where they present the “A” team during the pitch but you actually get the “B” team on your projects. Insist that the team who pitches you is the same team that is contracted
- Ask for resumes/CVs of the entire team. Review these to make sure that they have the proper experience. Ensure that the leads all speak English
- Don’t automatically go with the low-priced vendor. Although it may be tempting, it is best to look for a long-term partner who will provide the best value overall
- Consider a site-visit however these are of limited use
- Understand the capabilities and expertise of your vendors. Understand what each vendor specialized in. Be aware of any vendor that says that they do everything exceptionally well
The type of work that can be off-shore varies greatly. As a thought-starter, the following table identifies the types of tasks that can be off-shored.
|Easier to off-shore||Somewhere in-between||More difficult to off-shore|
As with any vendor, you must have a contract and non-disclosure agreement outlining the terms before any work is performed. When negotiating the contract, it is helpful to think about the following terms specialized to off-shoring.
- Ensure that you have an out clause so that you can cancel the contract with very little notice. If the off-shore vendor is not working out, or if your client cancels the contract, you need to protect yourself
- Think about a sequential liability clause
- Make sure that you (or your client) owns all source code and that final payment to the vendor is based on your acceptance of the source code.
- All source code (including comments) must be in English (or whatever the agreed language is)
- Include the holiday schedule for both yourself and the off-shore team in the contract. You don’t want any surprises when you learn that the entire off-shore team is on holiday the week that your client deliverable is due
- It best to ensure that you have at least two hours of your day overlapping with the off-shore team. This allows for quick changes and status calls. This may not always be possible, especially if your team is in China and you are in New York
- For large-scale or long-term projects, it is best to co-locate the teams for the first few weeks to establish a good working relationship. Think about having the off-shore team work from your location during this time. It is a good investment that is frequently overlooked
Once the contract has been executed and work has begun, you need to manage the off-shore vendor to ensure that everything is running smoothly. Below are tips to help you manage your off-shore vendors.
- Setup daily check-points where someone on your team reviews the work planned for each day. This can be via email or a phone call
- Setup weekly status meetings where you review the work performed during the past week, the work planned for the coming week, and any key issues or challenges
- Documentation is essential. For site builds, this means a functional specification (i.e., annotated wireframes) and page designs. For banner projects, this typically means that you develop the animation locally and send the off-shore vendor the final animation for one size and end-frames for the other sizes
- Working with off-shore vendors works best with Waterfall-based projects. Although it can work with true Agile projects, it is much more difficult since Agile projects require close cooperation between the client and the developers and you probably don’t want the off-shore team talking to your client directly
- Work incrementally as much as possible. You don’t want the off-shore vendor to go off-track for very long. Build in frequent check-points
- To avoid miscommunications, make sure that project timelines are understood by everyone. Have the off-shore project manager review and agree to all schedules
- Conduct quarterly executive reviews where the off-shore vendor and yourself can meet to review what has been working and what needs to be improved
There is no single model that works for everyone. The list above is a good starting point for any organization looking to move work off-shore.
If you have additional tips, please share them in the comments section below.