Monday, September 20, 2004

10 Steps to Successful Outsourcing

1. Train the outsourcing staff. The outsourcing staff needs to know how the product works, both from the internals and from the perspective of knowing the problems the customer wants to solve.

2.Qualify the vendor. Does the vendor have domain knowledge? Is it financially viable? Are there contractual safeguards in place to keep control over the intellectual property you give it?

3.Plan for your in-house staff to shift their work hours. If you don't shift enough people to work earlier or later in the day, then someone across the world who has a problem won't have someone to talk to. Too often, when an engineer at least eight time zones away needs information, no one is in the office and no one can be reached. Instead of round-the-clock work, the work is stopped until the engineer can determine the answer.

4. Document the requirements. If your native technical staff can't read your mind about what you want in the product, how can geographically distant, non-native English speakers understand your requirements?

5.Develop an appropriate change process. Especially if you have development occurring in multiple sites around the world, you need a clear change process to make sure only the changes you want are allowed.

6.Select outsource projects with nonvolatile requirements. If your requirements change frequently and you need to check out the evolving product with the user, development across the world makes it that much harder.

7.Plan for each project to take longer and cost more, especially at the beginning of an outsourcing relationship. My rule of thumb is to increase the estimated time by 30% for the first project. Then monitor the project to see if you need to increase that estimate.

8.Make sure you have the tools, information systems and processes in placeto support the outsourced teams. They'll need access to the source code, defect tracking system, database or other platform applications, builds, etc. -- the same project tools that the internal teams need.
Verify that the people who said they'd be working on the project are the ones actually working on the project. U.S. firms have been using the bait-and-switch approach to contracting for years. Senior staff sell the project and then proceed to the next potential sucker -- er, client -- while new college grads and other underexperienced staff work on your project. Well, guess what? The non-U.S. outsourcing firms have learned the same technique. If you don't verify who's working on your project, your project could be the learning ground for their staff to build their resumes.

9. Assign one of your best project managers as your internal project manager. Just because there's a project manager at the outsourcer doesn't mean you don't need someone in your office making sure all the appropriate handoffs are happening.

10 .Insist that the outsourcing company keep the same team for your project's duration. Otherwise, the time you spent training their people is wasted and you'll have to start the training process again.