In my previous job I worked for a company that have offshore development, mostly for bulk programming purposes to keep the costs down. And not in any of those more common offshore places like India or Russia. No, their offshore development is in Belgrade, Serbia.
All the developers I’ve met/spoken to in the Belgrade office are very nice, but in my opinion it hasn’t really worked out yet for them in their collaboration (due to a number of reasons that I won’t go into here).
And, understandably, there’s a general fear of losing one’s job to outsourcing. For instance, I stumbled across ‘Is Offshore Outsourcing a Real Danger to You?‘.
Of course, there are lot’s of mixed feelings about this, and I think Offshore Development and the American IT sums it up pretty good.
And, as always, people debate whether it is the saviour or not, and people have their prejudices about it.
So what is the general perception about his? Is offshore development the future when it comes to programming, for big companies as well as small?
I think that offshore development is a very short-term thinking. Sure the profits can be mutch greater right now to develope offshore but what about 10 years from now espacially in a country like Serbia. Software development is just one business of many that moved to low budget countries. I think for that reason it is important for us to focuse on education and quality. Make plans here and let someone else bulid/develope it.
We can make more money from inventing new stuff rather then build/develope already invented thing.
As usual, at the end of the day it all comes down to standards. IMHO, outsourcing is a great way to discover how good your production process really is. When you work with someone (at least) 500km away, from different culture (sometimes even different civilisation), speaking another strange language, you cannot walk down to his table and make a few remarks or mend something that you produced a few minutes earlier. When outsourcing, it usualy comes down to Project Manager and System Architect on one side and Developers on the other side, and documents describing problems and requests are main form of communication. If this standardization process is not perfected already, you will soon be able to see that something is going wrong. Figuring out exact cause of "problems in communication" (as they are usually called) is another thing.
By the way, outsourcing is more broader term for any contracted development performed out-of-house. If you try to pull out important characteristics of outsourcing and disregard "payment" and "3rd world issues", it is much easier to see whole picture. Try this perspective – you are sitting at your home office working for a company from Malmo for example…. is it so much different?
This is an important and well-discussed issue. Personally, I don't know if it's the future or not.
What Martin points out is that even if offshore development works for a company right now, what will the prices be in 10 years time, when everyone outsorces to a (former?) low-cost country?
But I totally aggree with Dejan. If outsourcing is to take place, the company doing it really has to have a well thought through strategy and processes for achieving their goals, not just going: "Wow, it's SO cheap!" and then think it doesn't take proper organization to make it work.
I am in the outsourced software industry and I can say with certainty that companies that are simply looking for a quick cost saving panacea through outsourcing are going to realize rather quickly that this is simply not the case. I dont remember the exact number but a very high percentage of outsourced software development projects fail and as you all know, a failed project that was outsourced costs more than a successfull project done in house. My company has an excellent track record for successfully completed projects primarily because we screen our clients very carefully and only work with clients that make a commitment to the rigorous communication process required for outsourced projects to succeed.
Outsourcing is not easy and doesnt always correlate with cost savings. If you have a good outsourcing partner and outsourcing allows you to focus on core competencies, then it is a good thing.
Thanks for your comment!
> we screen our clients very carefully and only work with clients that make a commitment to the rigorous communication process required for outsourced projects to succeed
Kudos to you! I wish more companies would think and act that way.