Very straight-forward article that lays out the basic issues to consider. Well done Mary!
I manage offshore developers in projects I oversee in the US. The need for a local English speaker who connects & communicates frequently with all team members is critical. The need to understand the client and their needs is primary to any project. Maybe not as good as an insider, but much better then relying on a foreigner who has cultural, language and perception challenges that often leave clients feeling misunderstood, bypassed and frustrated. While I am often tempted to go back to perm or even onsite work for financial stability, I love managing multiple projects and working with US clients and offshore developers.
The points made about reasons to in-source are also spot-on. The project and company needs determine which is the better methodology for each project. There are valid reasons for both in & out sourcing work, depending on the company, project and current needs. When off-shoring is selected, I believe a good local project manager enhances the likelihood of success though sometimes cost and simplicity might negate the need for such oversight.
I just wish more companies could make the commitment to telecommuting. This world would be a better place if more companies moved some of their workforce to part time telecommuting. We all know the advantages - less traffic, happier & stronger families, more efficient workers, lower costs, stronger neighborhoods, etc. Pie in the sky? Perhaps, but the advantages cannot be denied for many organizations.
Rob
Discussion on:
View:
Show:
That's a great read especially for anyone who'd be having any doubts as to what factors should come into play whenever making IT outsourcing decisions. I work in an IT outsourcing firm based in Romania(dotnear.com) and we also have a new trend that makes outsourcing better, we also speedily fly developers to any corporate premises whenever there's a fire that needs to be put out promptly by experienced and ingenious professionals.
Assuming 'Outsourcing' = Offshore, Will your business be perceived as Un-American. (Are you now, or have you ever contemplated, at any level, Outsourcing jobs to any other country?)
It is pure economics. Would the manufacture of Honda or Toyota cars in USA be considered un-Japanese? It is all Multi nationals, they have business everywhere and they pick the best solution from all the places to maximize productivity and profits. They find cheaper labor in India, and E.Europe to develop software.
What will outsourcing REALLY cost? Outsourcing the entire IT department of a medium/large business to a single vendor such as IBM or Accenture will almost always end badly. The upfront cost may sound low, but once they have you locked in the fees will only escalate. The first time the contract comes up for renewal, the fees will practically double. The business will concede and pay more, as the cost of switching to another vendor or bringing it all back in house would be prohibitive.
I have found that outsourcing (hiring those from another country) can create many issues, especially in programming. The never-ending mentality of "I'm always right" and "The men are dominant" by those outsourced can be a constant headaches for those who are actually employed by the company. Not to mention the differences in programming standards. For instance, 0 = True and 1 = False, not placing necessary comments to help others that may take over the project, placing multiple (20+) stored procedures on one page, and multiple functions in one script. It's encountered on a frequent basis. A company may think that they're getting a great deal by hiring the lowest bidder, but the headaches it can cause to those who maintain the applications can be enough to cause your valuable developers to find work elsewhere.
I'd differ from what you mentioned. The 'I am always right' and 'dominant' attitudes are mostly personality, and individual differences rather than 'Programming' (of course) - and that can happen anywhere and everywhere, not necessarily in an outsourcing scenario, but also in case of a new (FTE) hire.
Now to mention about the coding / programming standard differences it is exactly that! A lack of established coding standards, and that again differs from programmer to programmer, and firm to firm. Practically no one, who has basic education into computer science / programming, would ever use 0 = true and 1 = false. Programmers learn those basics with Binary codes (and practically while learning their basic Mathematics
). Not commenting properly, unstructured code, naming conventions is all about following best practices, and laid out coding standards; and if youre a programmer youd almost certainly find those different in the code written by your peer sitting in the next cube (we dont need to search for peers across oceans and lands to find those examples and differences).
The instances you mentioned are all about a decent individual, matured programmer, and established processes or rather lack thereof; and none to do with leveraging the potential of outsourcing which = Smartsourcing!
Now to mention about the coding / programming standard differences it is exactly that! A lack of established coding standards, and that again differs from programmer to programmer, and firm to firm. Practically no one, who has basic education into computer science / programming, would ever use 0 = true and 1 = false. Programmers learn those basics with Binary codes (and practically while learning their basic Mathematics
The instances you mentioned are all about a decent individual, matured programmer, and established processes or rather lack thereof; and none to do with leveraging the potential of outsourcing which = Smartsourcing!
Outsourcing any IT function (whether down the block or overseas) can make good business sense. However, most analyses ignore a major risk issue -- what do you do if the outsourcing deal doesn't work out. If the scope is one project, you can cancel the deal and regroup (though that may be quite damaging). If the scope is a major chunk of IT infrastructure, you may not be able to just cancel. You "sold off" the hardware and support staff and at best it may take many months to replace those critical resources. More importantly, you no longer have the accumulated experience with the technology and the organization that your original staff had accumulated.
the outsourced organisation. I know of one company that came up with what was then a radical application of some of its existing IT technology and hardware. However, the company involved had been bought out by a major corporation just over a year earlier and had outsourced all the coding and software development done within the corporation as they didn't see it as a core function.
Well, the project was placed with an outsourced software development mob with all the appropriate contracted safety clauses. Once the completed project was done, tested, and paid for it had the promise of putting the company two years ahead of their competitors. Within a few weeks of the software being made available a competitor's product that worked exactly the same was on the market for only two thirds of the price. Lengthy investigations resulted in the outsourced company having to pay hefty penalties, but the penalties were only about ten percent of the lost profits caused by the rival product. What had happened was the company the work was outsourced to had hired extra local staff to work on just that project, but never had them sign confidentiality agreements with penalties as that wasn't common in that country. So after completing the project for the first company they made another version with slightly changed code and sold that to a competitor for a huge profit.
Lesson learned, when you outsource work you have no idea or control over who the service supplier hires or how they go about the work.
Well, the project was placed with an outsourced software development mob with all the appropriate contracted safety clauses. Once the completed project was done, tested, and paid for it had the promise of putting the company two years ahead of their competitors. Within a few weeks of the software being made available a competitor's product that worked exactly the same was on the market for only two thirds of the price. Lengthy investigations resulted in the outsourced company having to pay hefty penalties, but the penalties were only about ten percent of the lost profits caused by the rival product. What had happened was the company the work was outsourced to had hired extra local staff to work on just that project, but never had them sign confidentiality agreements with penalties as that wasn't common in that country. So after completing the project for the first company they made another version with slightly changed code and sold that to a competitor for a huge profit.
Lesson learned, when you outsource work you have no idea or control over who the service supplier hires or how they go about the work.
- Keyboard Shortcuts:
- Prev
- Next
- Toggle

































