Monday, November 14, 2005

The non-obvious benefits of outsourcing

All names changed to confuse the hell out of readers.

Outsourcing, the bugbear of modern IT. Companies all over the world are outsourcing software development jobs to cheaper locales, resulting in redundancies. This makes it a very, very emotional topic for some people.

I'm working for a company that is currently outsourcing it's support infrastructure. They aren't doing it for cost - the outsourcing company isn't any cheaper than their current cost structure (within 10%). They are doing it because the outsourcer is able to hire substantially more software developers than are available in the markets that my employer operates in.

I think that my employer will see substantially more benefits than just in scalability. They are actually starting to see some of them already.

Since they're outsourcing support and maintenance, the majority of work done by the outsourcee is self-inflicted: fixing bugs. All of a sudden, there's a new push to add quality to the software. Bugs have a definite bottom line effect. More customer discovered faults result in more charges from the outsourcing company.

This also shows the company what happens when they let projects slide. If a project delivers quickly, but with poor quality, it's visible. If they fail to meet customer requirements, it's visible. If they develop a system that can't be maintained, yep, it's visible. All these things were visible before, but now they're visible at the executive and board levels. It will be interesting to see if they start to track this.

It forces the company to also firm up their processes, procedures and communications. Since the outsourcing company is trying to do the least amount of work for the most money, if there is any reason to avoid doing work, they probably will. So, if they don't have ready access to an answer, or run into even the smallest problem, they will stop and ask a question. Since each question taking 24 hours to answer because of timezones, there is a lot of wasted time. The outsourcing company isn't a partner. They aren't going to say if the processes are bad or wrong, they are just going to charge you more.

It isn't yet apparent if the project will succeed. Depending on political power levels at the time, people could try and blame the outsourcing company for the increased costs, calling the outsourcing project a failure. This is, in fact, already starting to happen. We've even got people subtly changing development procedures to make it harder for the outsourcing company to do their work.

However, with a little effort, the project should help force the original company to grow and change. It's hard to ignore substantial amounts of money going out the door. Hopefully it's easier to find the root cause than blaming the person charging the money.

Time will tell.


Unknown said...

"We've even got people subtly changing development procedures to make it harder for the outsourcing company to do their work."

We do? Do spill.
(names still changed to protect the guilty...)

Jason Pollock said...

No way to spill without revealing too much. :)

Anonymous said...

You forgot to mention that some of them are called Ninga.

Ningas are cool; and by cool, I mean totally sweet.

BTodger said...

The big questions is whether Romainian gypsies are more code perfect than Indian Hindus. Kind of like cavemen versus astronauts but with a racial twist.

Jason Pollock said...

I like this better:

You need 1km of plywood. Your internal team can only produce 500m of plywood. So, you go out to the market. It doesn't matter if the external team produces 1km of plywood with a lot of wastage, or that the plywood that it produces is of a lower quality than the internal team. All that matters is that your internal team could not produce it at all.

So, the choice is 1km of lower quality plywood or not getting the job.

Determinist said...

Sorry to leave this until so late - I only read it once I subscribed to your RSS feed! :-)

The biggest problem with the outsourcing was that all the fixes had to be reviewed by competent developers for a long time before we felt that they were doing an ok job. In fact, we never reached that level and by then, the attempt was dropped.

Plus - it was a thinly veiled attempt at closing down the development operation anyway.

And, Ninga's are really, really cool. Not necessarily good developers though.

Jason Pollock said...

Amazingly, that post is over a year old! So much changes in a year, eh?

So they needed to be reviewed? I don't see that as a problem.

You need fewer developers to do the reviews than you do to track down and find the problem in the first place. Much the same way that most teams have fewer testers than developers.

You are correct about the goals being completely messed up. However, I could have seen it working. See my March 2006 post. :)