For decades, cost reduction has been the primary force behind software outsourcing projects. Today 35% of US and EU companies measure innovation in their outsourcing partnerships and hire remote employees due to local talent pool shortage. The outsourcing paradigm has shifted towards mutually beneficial cooperation, increased value and experience in crafting specific software solutions – simply because Western companies (through trial and error!) have discovered the hidden costs of outsourcing and now put quality above cost optimization.
Software outsourcing: hidden costs & where they come from
Note: this article covers the extra costs of outsourcing software development to a company (as opposed to freelance software engineers, designers and QA specialists)
There are three ways to outsource IT projects: you can hire a software development team based in your city or country, partner with a software vendor from a neighboring country or recruit IT professionals overseas.
That’s right, I’m talking about onshore, nearshore and offshore outsourcing.
- In the first case, you get the opportunity to eliminate office space, employee training and insurance costs – and work with people who have exactly the same mindset, follow software development best practices approved by your local IT community and abide by the same laws as you;
- By going nearshore, you can also save on office space and employee benefits. What’s more, you can reduce software development costs by 20-30% and conduct frequent face-to-face meetings with your remote employees;
- Finally, there’s offshore outsourcing – and that’s where the real cost savings are rooted in. While the medium hourly rates of US Android/iOS developers reach $150, mobile developers from Eastern Europe charge anything between $30 and $40 per hour.
However, you need an experienced Project Manager (PM) who is either employed by your vendor or by you directly to ensure smooth project delivery, manage change requests and streamline communication between you and the members of your offshore team (who do not necessarily speak English fluently).
A PM will also help you overcome possible cultural differences: studies have found that employees from certain countries have a higher Power Distance Index and reluctantly deliver bad news to authorities. It typically leads to miscommunication, poor task prioritization and time/cost overruns.
Before one of our US customers came across our portfolio on r-stylelab.com, he’d been outsourcing software development for years. When our company received his quote, he felt rather skeptical about offshore outsourcing and said that getting an hourly rate of 1/3 the cost of others “is really great – except if it takes 4 times as long to get to the final version of quality project that is needed”, citing ineffective communication, time differences and language barriers as the key factors behind IT outsourcing failures.
It turns out the only way to make outsourcing work is to monitor remote employees’ performance yourself (which requires considerable efforts and at least basic IT knowledge) or to hire a skilled PM. Otherwise, your project might take twice as much time to complete – and that’s not to mention bug fixing and the diminished value of a software product.
It is true, but only partially. Here’s how to guide an outsourcing project in the right direction and stick to your software dev budget.
IT outsourcing: how to avoid hidden costs?
Make sure you need a software solution in the first place. As more companies embark on Digital Transformation projects, outsourcing IT services has become common practice for both tech and non-tech industries.
Suppose you run a real estate agency and consider developing a mobile app to facilitate communication between agents and home buyers. Before you study developer ratings and contract a reliable mobile app development company, conduct proper business analysis to determine whether the app in question will improve your company’s efficiency. Sometimes it makes sense to migrate to microservices first, adopt new Enterprise Resource Planning software or create VR apps to provide virtual property viewing tours to your customers.
Although most onshore, nearshore and offshore vendors usually employ Business Analysts, it will take an “outsider” a lot more time to dive into your domain, identify your pain points and come up with the right solution. That’s why it is preferable to have a clear vision of a software project and a detailed software requirements specification beforehand (although you can outsource business analysis, too – and trust the software development part to the same vendor if the company meets your standards);
Choose the right pricing model. As a rule, software vendors implement three pricing models (Fixed Price, Time & Material and Dedicated Team) to charge customers for their services. In case you know what type of a software product you need and what functions it is supposed to perform (and similar solutions exist on the market already), you can sign a Fixed Price contract and save time on project management. Your project will be broken down into several stages, and you will only have to review the work at the end of each iteration.
Although the Fixed Price approach enables companies to plan software development costs in advance, it is only suitable for small- and medium-sized projects that do not deal with cutting-edge technologies and have crystal-clear requirements. In case you want to outsource innovative software development (the term is generally applied to emerging technologies like IoT, AI, VR and AR), consider making multiple changes to the project scope during the dev process or need to allocate time to research, T&M is just what the doctor ordered.
Also, the model allows you to pay only for the actual time and efforts spent on your project. Finally, there’s the Dedicated Team approach enabling companies to extend their in-house teams, coordinate project management activities and build long-lasting partnerships with an outsourcing provider.
The model, however, obliges a customer to provide his team with a certain amount of workload on a monthly basis (which might prove to be cost-ineffective in the long run);
Find the right outsourcing partner. Once you’ve identified your business pain points, determined what type of software will help you eliminate inefficiencies in the workplace, prepared a requirements spec and chosen a suitable pricing model, it’s finally time to look for a reliable vendor.
There are several independent platforms like Clutch.co and AppFutura which provide software developer ratings based on a company’s size, location, expertise and medium hourly rates. In order to get a high-quality product within the expected timeframe and budget, you should make up a list of 10-20 companies that offer relevant services and contact their sales representatives.
Although small companies (up to 50 employees) usually charge less, they might fail to complete large-scale projects due to organizational and staffing issues. Large companies’ rates are also up to 30% below the regional average; however, outsourcing behemoths have a threshold for software dev projects ($ 100 thousand) and are sometimes slow at preparing estimates.
Working with a medium-sized company is the middle ground – but your search is not over yet. Get in touch with up to 10 companies. Evaluate their response time. Pay close attention to such factors as communication skills, customer reviews, website design and social media presence. Hold a video conference with your future PM, account manager and tech lead to make sure they fully understand your needs. In case you take the T&M/DDT approach, you can also screen your vendor’s employees to assign the right specialists to your project.
Finally, you should never underestimate the power of project management: communication issues and poor planning account for 57% and 39% of IT outsourcing failures, respectively. Having said that, the cost of selecting an outsourcing provider and negotiating a software dev contract typically account for 2-10% of your projected dev budget.
Weigh all the pros and cons. Make sure you understand which types of software dev services should be outsourced and which should be handled in-house. Hire developers from a “mentally-compatible” country. Be hands-on with the project. Focus on quality, not the illusory savings – and real savings will follow!