In the perfect world, you can find local resources for your project. But in the USA selecting programming as a profession is not as appealing as it used to be 10 years ago, and you may have to hire an offshore team. Below is a list of tips for a rookie development manager that has to work with the offshore software developers.
1. If your outsourcing partner offers you a pre-staffed offshore team, most likely you are screwed. A typical team in any country (USA included) operates under 80/20 rule ndash; only 20% are delivering. Do not accept a team just because it “s ready. Build the team yourself.
2. Put every candidate through at least the same vigorous interview process as you practice with your local candidates. You “ll be surprised, but some US firms would go easy on the offshore team members just because the team was given to them from the above.
3. Do not leave your office until you know what the offshore team will be working on tomorrow.
4. Do not let the local geek manage an offshore team ndash; geeks are interested in cool techniques and coding only. They do not really care that spending a week on finding the most efficient solution jeopardizes the project deadlines.
5. Cut the losses quickly ndash; if you hired a new offshore member and he did not deliver within the first two weeks, let him go. Cutting the umbilical cord sooner saves money (actually a lot of money).
6. Try to use offshore teams for fixed-price projects only. This will allow you to better predict the final cost of the project, and if the project will not be delivered to your specification, you do not have to pay for the poor job. Time and material projects is a good option if you just want to keep a particular individual around, because you know that s/he has good skills (for example, production support, multiple small projects). Fixed-price projects require more work from your side during the initiation of the project ndash; you “ll have to actually take the time and think what you are planning to develop, create a functional specification that reflects the final product. Now, if you made a mistake and want to change your spec down the road, the offshore team can hold you liable and ask for the budget increase or the scope reduction.
7. Do not use the same team on the new project just because you “ve worked with these people. Their technical skills may not match your new requirements. Remember, the offshore team is a consulting firm, they are not your employees and you do not have to use them for all new projects.
8. When you give an assignment, make sure that the other side understood exactly what had to be done and by when. You may get the “Yes, Sir rdquo; answer, but when the delivery time comes, you “ll realize the other party did not even understand what had to be done. Another scenario is when you give an assignment, the other party decide to do more than you asked, which leads to increased scope and missed deadlines.
9. Before agreeing to pay the requested hourly rate to an offshore person, consider hiring a senior year CS student from a local college ndash; the rate will be lower and the quality can be better if you find the right student.
10. If your outsourced project failed, and you are trying to find who to blame for it, look in the mirror. Do not blame the offshore team.