In a perfect world, outsourcing is just another business practice. In real life, hiring an offshore team feels like swimming across a river full of crocodiles. Intellectual property theft, poor quality, and pricing shenanigans give the practice a bad name.
We are going to build a bridge over this river.
4 Places You Can Uncover Hidden Outsourcing Costs
In this article, we will show you how to avoid dishonest business practices used by some vendors and how to optimize your outsourcing investment.
Outsourcing is mostly about saving money. However, some of the following hidden outsourcing practices might actually cost you more than you planned.
Fixed price markup
Fixed price cooperation model is a customer favorite. Having a set scope of work to be delivered for a set amount of money is definitely convenient. But this convenience has its price.
Namely, the 20-30% markup for risk mitigation.
You see, it is all about the estimation. No two projects are exactly the same. For example, even if two different customers want to clone one of our popular apps like Duolingo, there would be enough minor changes to alter each project in significantly different ways.
Which means that in the vast majority of cases the development team can’t give a 100% accurate quote. At the same time, going over time and budget agreed with the customer hurts their reputation and their bottom line.
But as the client wants to see clear numbers, the company needs to show them. So, to mitigate their risks they add about 20-30% (possibly more if the project is complicated) to make sure they deliver on budget and turn a profit.
That is if the contractor is an honest business. Some use questionable measures, like replacing experienced (and expensive) developers with newbies or not testing the work properly.
Imagine the surprise when such a project crashes because, say, the server time differs from the user’s local time. Also, imagine how much will it cost to have the project rewritten from the ground up because it is full of bugs like this.
What to do about risk mitigation
- Use a Time and Material model and weekly progress reports. This way you will be able to monitor the project state and the budget expenditure. In addition, when (not “if”) you decide to ask for additional features you won’t have to file a change request.
- Alternatively, anticipate the extra costs. We had a client who told us to add another 30% to the quote we’ve given them. They worked for a large company. And getting a single large allocation of resources was easier for them than repeatedly asking for smaller sums to pay for changes.
This is a tricky one and requires an understanding of your business goals and how they correlate with developers’ professional pride.
You see, the programmers truly want to write clean, readable, functional and optimized code that would make Bjarne Stroustrup cry tears of joy. But doing so takes a lot of time. The time that the client (you) pays for. Moreover, the clean code does not necessarily make your software work better.
At the same time, developers often ask their clients to allocate funds towards something called “refactoring” - improving code readability. And the business value of refactoring is less than obvious.
So how do you not overpay for developers’ perfectionism and get quality work at the same time?
What to do about perfectionism
The devil, of course, is in the detail.
There are cases when refactoring and codebase improvements are an absolute necessity. They are a must if you want to scale your product, add more features, and increase the size of the team. Otherwise, you risk having new developers spending the first six months just trying to understand what is going on.
“Refactoring is similar to brushing teeth. It is a prophylactic work that should be ongoing if you want to avoid the exorbitant costs when the emergency happens,” Dmitry Garbar (PM and partner at an IT company) wrote in his article for Hackernoon.
But if your software will not change or scale or if it is an MVP for a startup, you don’t need refactoring.
Discuss this issue with the team beforehand and monitor the reports that they send you just to be sure.
Outsourcing is all about having your work done by someone else and saving money in the process.
While it can be tempting to just have your virtual contractor handle everything, such a scenario is unlikely:
- Unless you are willing to spend lots of time and money on writing a detailed requirements document, your input will be needed in the process;
- Giving up control is a great way to get something totally different from what you wanted;
- You might (and probably will) have ideas for improving your original project.
In any case, you should be aware that you will spend some valuable time managing the contractor (whether it is your time or your employee’s).
Another part of it is having an outsourced developer as a point of contact. Every minute they spend answering your questions or informing you about the progress is a minute they don’t actually work on your project.
What to do about management costs
- Agree on the communications process and meeting schedule. While the urgent questions need to be addressed quickly, in most cases you will be fine discussing the problems at meetings (or video conferences). It will allow you to effectively use your time.
- Secondly, hire a project manager (at least part-time) as part of your development team. Being on location, they can manage the developers’ needs better than you can. They are also better at communications than the developers. They are trained for it. PMs can explain everything to you faster and make sure your needs are taken care of. And communicating with them won’t interrupt the developers’ work.
In our experience, having a product owner on the client’s side and a project manager in our office gives the best results, especially for long-term projects.
Crouching commission, hidden tax
Another forbidden quote-fu technique from the arsenal of dishonest vendors.
You get a quote from them and it is wonderful - a whole 20% lower than what the competition offers. So you set the kickoff date and open the contract to sign it.
“The Client agrees to cover the Value Added Tax (20%) and bank transfer fees (2%)”.
Some people will immediately storm away to find a new developer. Others will sigh and sign.
Worst case scenario - this extra price doesn’t show up until the first invoice.
What to do about the "crouching" commission and hidden tax
- Ask about the taxes and fees way before there is any talk about signing the contract. While they might withhold the information from you, very few salespeople will lie.
- Read the contracts carefully. Even if the company doesn’t have to pay VAT (as an incentive from the government, for example) it is still wise of them to include this information in the contract. Just so everyone knows where the money goes.
- Don’t trust the super-low prices. If it looks too good to be true, it probably is.
Of course, if a contractor is dishonest with you, you can switch to a better one (or even take legal action against them).
But why waste time and money on this, when you can avoid the trouble?
Study your prospective vendor, their references, and reviews. Check their pricing and contracts. And enjoy seeing your project come to life in competent hands.
Our guest author Vadim Dyvlyash is a Senior Business Development Manager at Belitsoft. He has been working in IT sales for 4 years, both in product and service companies. His specialties are information security and mobile development projects.