Jeremy's Blog

Five Rules of Outsourcing

by Jeremy on May.08, 2008, under Omega Vortex

A recent client of Omega Vortex has been hit by the pains of outsourcing. Now, I’m sure there are a ton of really good developers out in India … somewhere. Sadly, a lot of the people I have talked to have had nothing but negative things to say about consulting companies based out in India. It’s certainly a lot cheaper than development shops here in the states, but it’s also a lot riskier. So, here’s my five rules of outsourcing to make sure that you don’t get burned the next time you’re looking for someone to help you complete a project.

1. Hire at least one professional

This point is crucial and will save you a lot of time and money. If you have at least one person on your in-house staff who can walk the walk and talk the talk, you’ve got someone within your organization who can look over the work that’s being done. This is very important for a number of different reasons. First, you’ve hired this guy. You know what he can do, you’ve seen his work, you’ve talked to his references. He must have done something right in order to stand out from the pile of resumes you received for the position. Make sure this person knows everything there is to know about the project that’s being worked on. He needs to be the point of contact for the consultants, because he’ll immediately be able to tell you when something isn’t right. This person’s salary will pay for itself on numerous occasions, especially if you do a lot of outsourcing.

2. Ask Questions, Get Technical

This is another place where your professional is going to help out a lot, if you don’t know enough about the technology. If the company you’re working with shows any signs that they don’t know what they’re taking about, run. Fast. If you don’t, they’ll suck you in under the premise that they know exactly what they’re doing and waste your time and money while they get little to nothing actually accomplished. Which brings me to my next point …

3. Transparency

Transparency is a huge issue. At Omega Vortex, when our clients’ don’t come with their own infrastructure, we bring them into ours so that everybody’s productivity is increased. If our clients don’t have their own concept of source control, we’ll place their code in our repository. This is complimented by our build system which will produce nightlies of the work we’ve done and post it directly to a specified location on our development server. Once the project gets farther along, we’ll enable continuous integration so that each check-in gets reflected in our development copy. This way, the client can always be sure they’re looking at the most up-to-date code.

4. Look for value

Unlike some places, we’re not interested in taking your money, doing the work, and sending you on your way. We like to form lasting relationships so that you’ll consider doing business with us again or referring people you know who need work done. A way that we add value to our services is to help them in ways that we believe they need to be helped. Bad code is bad code, there’s no two ways about that. When we can, we don’t throw away everything and start over, though. To some degree, the code works, and that’s more progress than what we would have if we just started all over. What we don’t like is when our clients get burned and come to us with code that is littered with security vulnerabilities. I mean brain-dead obvious security vulnerabilities. Like, say … Taking data directly out of $_REQUEST and feeding it directly into a SQL Query. In cases like this, we like to do a very light security audit. This isn’t anything extensive, just something we use to identify the extremely obvious stuff, and bring it to the client’s attention.

5. References – Recommendations – Required

This is a huge one. This is hard for me to say, because we were new once too (we still kinda are), but taking a chance on a company with no references or recommendations from other people is dangerous. For Omega Vortex, I can provide you with professional references of people I’ve worked with in the past and know me and how I do things. We also have a few clients that have spoken highly of us. Just make sure you get references and recommendations from real people. Testimonials on websites can be faked. While they’re a decent way to tell what a company’s done at a glance, when you can you should talk to people who have worked with the company in the past. Ask the company to provide formal references. Remember, you’re about to spend what could be a good chunk of time and money with this company. Would you hire a random person for your company without references?

Hopefully, this list will help you make a more informed decision about the next company you decide to do a project with. Even if we’re not right for you, we certainly don’t want you picking someone else who’s even more wrong for you. While this is obviously tailored toward programming, I’m sure you could adapt this list some for other industries, too.

:, ,

Comments are closed.

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!