Embracing the work-from-anywhere mindset, Peter, a 28 year old Pole, lives on a chicken farm in a small village in southern Poland, and remotely organises and updates software for a large firm in the UK. Twice annually, he travels to headquarters to meet the CIO face-to-face and discuss future plans and objectives. With a minimal time difference, he can do the necessary farm duties before the UK company starts in the morning, then makes himself available for any problems that might occur until the firm closes at the end of the day. Language isn’t a problem as Peter is fluent in English. No commuting, a good salary, and beautiful surroundings. The company is happy, as their costs are considerably lower than having an on-site software maintenance team. It’s a perfect arrangement.
On the other hand, before online banking, when large banks outsourced their Call Centres to India a few years back, there were misunderstandings, communication problems and a general failure of the public to accept it. I recall my mother being shocked and a little unnerved when the call centre person gave her a breakdown of the upcoming weather in her little part of the UK. It wasn’t exactly peaches and cream.
Here, we are talking about the outsourcing of software development, what it means, how to avoid pitfalls, and which option suits different situations. Culture, language, distance, and time differences all pay a part. Here we go.
What is software development outsourcing?
A Law firm’s CEO walks into the IT department, and announces that he would like a mobile app that measures oil temperature, fuel consumption and battery discharge on his beloved 1937 Mercedes Benz 540K, and he wants it yesterday. The team leader nods, gulps and starts to panic, until a junior member of the team pipes up that he has a friend, a vintage car enthusiast, who also writes code. Bingo, outsourcing begins.
While it is great to have an IT team, it can never be presumed that everyone knows everything. Each member may have a speciality, and the team can solve most problems with the software they commonly use, but when there is a need for a unique package, outsourcing becomes the champion. With access to worldwide (or even just down the road) talent and skill sets, quick turnarounds, and shared project risks, the unique package loses its mystery and starts to become a reality.
There are some drawbacks, including a certain loss of control, clear communication and security issues, and perhaps a Non Disclosure Agreement necessary. But overall the pros outweigh the cons.
Onshore software development
Using a team in your home country mitigates a lot of problems. Speaking the same language, there are no cultural differences to worry about, and face-to-face meetings are simplified. If you are paying for a senior developer, you are probably going to get one, not a junior with a senior overseeing. The drawback is cost. A locally based developer is likely to charge the going rate adjusted to the cost of living, and as you are in the same country, the rate will be higher than in another region.
Offshore software development
Defined as ‘distance cooperation’, Offshore software development suggests working with a team in a different time zone, possibly many hours apart. If the required skills to perform a task are not available in the company, you can remove the need to hire a short term developer by using an Offshore team. With this comes experience and skills, without the need for onboarding a new employee. Work can be started as soon as a deal has been made, and continues until the product, service or feature is delivered. Costs can be up to 60% cheaper, in Asia for example, but the problems might include language barriers, cultural and work ethics, and time zones. Work days may vary, as with public holidays. Sometimes, being hours apart can be useful, as properly organised teams can work in tandem on both sides of the globe.
Nearshore software development
Outsourcing to a team on the same continent, for example, UK to Poland, gives benefits such as miniscule time differences, face-to-face visits which are usually less than 2 hours travelling time, and cheaper running costs due to differences in Cost of Living and Currency Exchange. It is the ‘in-between’ version of outsourcing, and seems to be very attractive to most Western companies, especially in Europe. The downside is that it is difficult to find someone suitable at short notice, and a customer may have to settle for a lower class of team.
Comparison of prices, legalities, and taxes
|Price||High||Low||Medium to High|
Depending on a country’s economy, salaries differ all over the world. Labour costs are certainly cheaper in East European countries, and considerably lower in Asia. A rough guideline would be 100% in the home country, 60-80% in a Nearshore country, and 30-50% in an Offshore country.
Each has their own legal system, and it is a mind-boggling area to investigate. However, if a company outsources to either Offshore or Nearshore, the team in that country will be responsible for all necessary paperwork, including salary, payroll tax, insurance and other benefits. The only part that the originator needs to do is get the invoice (which obviously involves prior negotiation) and pay it.
Outsourcing, like everything else in life, has tax implications. Customers need to be well advised and prepared for negotiations with a service provider, taking into account the benefits and detriments. The customer needs to understand the tax variations of outsourcing versus retaining in-house, as certain taxes might not apply. Several countries have introduced tax initiatives for outsourcing, which may be advantageous, but might be restrictive. Finally, it should be decided who will be responsible for any tax after the product is completed, e.g. VAT, Sales Tax, Excise and Customs tax.
Development team augmentation will tune up software development by using tech experts regardless of location. All responsibility for hiring, onboarding, training and managing goes to the service provider. With the rise in Cloud computing (the market size is expected to be $480 billion in 2022), outsourcing will mean reduced maintenance costs, advanced data recovery in case of loss or corruption, and stable, continuous releases. Outsourcing, whichever method is chosen, will streamline operations and optimise business goals. Finding the best match for requirements is paramount. Treating a service provider like part of the team will benefit the arrangement. Cost, although important, should not be the leading factor. A low priced service provider might provide low service (that’s a bit of a mouthful!).
There are numerous service providers globally, but it is important to remember that weekly demonstrations, daily reports and a good level of English are all vital components in making an outsourcing contract work for the customer.