Lessons learned: working with an outsourcing partner
A few random thoughts have occurred to me, having worked with several offshore / near-shore outsourcing partner companies.
- Don't think of - or treat them - like slave labor. Just because they are cheap (by comparison) doesn't mean the individual coworker's motivations are any different from your own. People want to work and do a good job, and to be recognized for it. Nobody likes to be mistreated. I've seen this attitude from some people - and it just doesn't work.
- Don't ever let an outsourcing company 'give you people'. You wouldn't hire a local resource without interviewing them, reading their resume, and making sure they are qualified. Why should it be any different when working with an offsite person? It's doubly important that they be qualified for the job. If you get a resource who isn't - you will waste far more of your time training them then you ever get productivity out of them. So get a resume and conduct an interview (that's subject for another post). Depending on what you want their role to be, their language skills may or may not be at all important. One of the best UI people I have offshore speaks very poor English, but her work is top notch and I don't expect her to interact with the business clients.
- Don't assume the company, no matter how big it is, has its act together. I've seen companies as small as 100 people (E5 consulting) and as large as 60,000 people (Cognizant) produce some terrible, terrible work. The responsibility falls on you to set up a quality software development process - whether it be code reviews, testing, documentation - anything.
- Recognize and acknowledge good work, initiative and good thinking. People appreciate that - and it makes them want to do more. Just as importantly, recognize bad / slow work and under-performance. Here I don't have any patience - I will give direct feedback, but you don't get many chances.
- Don't assume you can just email work request in the evening and expect that work will be completed by morning. It's often a collaborative process - so expect to talk constantly, even daily, about work specifics. Find a way to make your schedules overlap. I can shift my day and come in at 7:30 and I expect my team to shift their day too - to still be there and be able to work with me for at least several hours.
- Pick an outsource partner in a timezone that's conducive to collaboration, if you have the luxury to do that. If your team is in India or China and you're on Eastern time, you have a 12 or 13 hour time difference - that makes it extra hard.
- If you found a company you trust, hold on to them. Don't let senior IT management get rid of them because 'it's easier to deal with just one big company' - or corporate compliance raise a stink because they 'don't have a privacy statement on their website' - or corporate security to block their access un-necessarily - defend your working relationship. Switching providers is really, really disruptive. Learn and expect to deal with incompetence of middle or senior management - if you don't have that in your organization then consider yourself very fortunate and enjoy the experience. That's probably subject for another post.
- Expect that senior developers cost more than junior developers. It the same way here - so why would it be any different offshore? Good people are worth the extra money, so resist the temptation to compare providers on the basis of costs.
I'm sure there's more to it that will come to me...
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home