Feeds

The outsourcing commandments

Development outsourcing: tips, tricks and pitfalls

Combat fraud and increase customer satisfaction

Comment Sure it’s all the rage, but is the outsourcing of web and software application development all that it’s cracked up to be?

Outsourcing is a subject of wonder, disdain, and even ignorance. I have a fairly unique position in that I have been a promoter of technology/development outsourcing for more than eight years. Back during the rising internet bubble, I felt it was highway robbery that a developer or designer could charge $100, $200, or even $500 an hour for something that used to be done for an average wage. At the time I was living in the Czech Republic, and you could have had a Cisco CCNA engineer for a laughable rate.

While enterprise-sized companies were not eager to jump on the bandwagon on a one-on-one basis, they did start turning to companies for unique projects, and eventually whole development streams. A company, even one on the other side of the world, has SLAs to be accounted for, people to phone and fax, and crucially, can be sued.

Outsourcing, though, is not the panacea for cutting costs that people would have you believe. Thanks to overzealous CTOs and CIOs, development teams around the globe are being shuttered at a rapid rate. Entire divisions of development and support staff are being handed their pink slips AND being told to train their replacements. Are people paying too much attention to the bottom line?

Back during the bubble, consultants and salesmen used to use the old FUD technique to sell their software and kit. And it worked, just look at Sun and Cisco, and to a certain degree the vast amount of unused or dark fiber in the US.

Now is no different. Outsourcing has a very clear business proposition: dramatically lower your production costs and ramp up whole teams (and vice versa) at the drop of a hat. For the amount of money you pay, hell, do three projects/versions in one fell swoop.

It almost sounds too good to be true. Which, of course, means it is.

Yes, it is very nice that you are now paying $14 an hour for a Java developer. But what other costs are you incurring that you may not be able to quantify?

Here are my tips and tricks for ensuring your offshore project goes smoothly.

  1. Outsourcing doesn’t mean your projects magically get delivered on time. Any pitfalls that come with your particular territory will only increase with outsourcing. An example of this is cutting-edge Java development. Remember all that testing time you needed last time? Well, double it.
  2. Always, always, always factor in the time zone of your offshore partner. Not only must they communicate with you 20 time zones ahead of them, but also any third-party hardware or software vendor as well. Before you realise it, minor problems could take days to resolve simply because of the time differences.
  3. K.I.S.S. (keep it simple, stupid) - still the best way. This is by no means an insult to offshore vendors, but people often forget that English is not the world’s first language. Forget the flowery language and hyperbole, just stick to the facts. And do not let anyone from marketing in on the email chain.
  4. Skype Me! Personally, phone lines in India and Russia still have a long way to go. VOIP can really improve meeting interaction simply from the line quality.
  5. Remember, there are very, very clear cultural differences between you and your offshore vendor. And no, it does not make you or anyone racist to bring that sort of thing up. I once managed a project team in Beijing, and I had no idea, for weeks, that things were going terribly. Why? Because the Chinese find it rude to say no and don’t like disappointing you.
  6. Do you have a shit-hot project manager on your side? Do they? If not, forget it. Like in every other facet of business, solid communication is the key to success. Project transparency is key to this. You must have a partner that is willing to include you, warts and all, in all the project’s gory details. If you don’t want to be involved, then you should just quit now. Remember, to err is human, but to be ignorant is fatal.
  7. The quality of developers is improving all the time. But remember the old Dennis Miller quote: “All-you-can-eat shit is still shit.” Do not be afraid to request CVs from the developers who work on your projects. It's your money, after all.
  8. Do NOT be surprised if testing takes longer, and the actual days to deliver a project are more than it would have been had you delivered the project locally. Some people have the mistaken impression that a 100-day project onshore, translates into a 100-day project offshore. Your local teams understand you, your business, and your requirements. A team half the world away will take longer to get the same level of cohesion (if at all).
  9. Document like you are being the most anally retentive writer you’ve ever known. And once you're done, then document some more. Use screen shots, use cases and succinct and clear steps for everything.
  10. Connect early and often. Why not fly out for the kick-off meeting? Explain your business, your project, the pain points that drives this project. Demand demos, lots of them (or at least screenshots). In short, get involved.

Don’t get me wrong, I'm a personal and professional proponent of outsourcing/offshoring. But running technology projects is hard enough without separating yourself from your team by 1,000s of miles. The pain comes from incorrect or unrealistic expectations from the customers, which can be compounded by an uncommunicative vendor.

At the end of the day, offshoring works and works well when both parties strive to work like they are part of the same team.®

Geoffrey McCaleb writes content management systems for a living. His blog lives here.

High performance access to file storage

More from The Register

next story
Android engineer: We DIDN'T copy Apple OR follow Samsung's orders
Veep testifies for Samsung during Apple patent trial
This time it's 'Personal': new Office 365 sub covers just two devices
Redmond also brings Office into Google's back yard
Batten down the hatches, Ubuntu 14.04 LTS due in TWO DAYS
Admins dab straining server brows in advance of Trusty Tahr's long-term support landing
Microsoft lobs pre-release Windows Phone 8.1 at devs who dare
App makers can load it before anyone else, but if they do they're stuck with it
Half of Twitter's 'active users' are SILENT STALKERS
Nearly 50% have NEVER tweeted a word
Internet-of-stuff startup dumps NoSQL for ... SQL?
NoSQL taste great at first but lacks proper nutrients, says startup cloud whiz
Windows 8.1, which you probably haven't upgraded to yet, ALREADY OBSOLETE
Pre-Update versions of new Windows version will no longer support patches
Microsoft TIER SMEAR changes app prices whether devs ask or not
Some go up, some go down, Redmond goes silent
Red Hat to ship RHEL 7 release candidate with a taste of container tech
Grab 'near-final' version of next Enterprise Linux next week
Ditch the sync, paddle in the Streem: Upstart offers syncless sharing
Upload, delete and carry on sharing afterwards?
prev story

Whitepapers

Designing a defence for mobile apps
In this whitepaper learn the various considerations for defending mobile applications; from the mobile application architecture itself to the myriad testing technologies needed to properly assess mobile applications risk.
3 Big data security analytics techniques
Applying these Big Data security analytics techniques can help you make your business safer by detecting attacks early, before significant damage is done.
Five 3D headsets to be won!
We were so impressed by the Durovis Dive headset we’ve asked the company to give some away to Reg readers.
The benefits of software based PBX
Why you should break free from your proprietary PBX and how to leverage your existing server hardware.
Securing web applications made simple and scalable
In this whitepaper learn how automated security testing can provide a simple and scalable way to protect your web applications.