Deadlines, lack of software development team’s skills, scalability of the company can lead to outsourcing IT staff from abroad. The other common reason is tight budgets. For the same work, software developers from Eastern Europe, India, or China often charge less than their colleagues from the USA. According to our research, the average rate of a senior software developer from the U.S. is $75 - $125 per hour. In Ukraine, the rate is $35 - $40.

Still, desperate attempts to fit the budget can sometimes harm the quality of the work. Among the common IT outsourcing challenges are:

  • communication breakdowns;
  • lack of trust and understanding of the project;
  • irresponsibility of outsourced staff.

According to  “Barometer of Global Outsourcing”, 20% to 25% of outsourcing relationships don’t last longer than 2 years and 50% of them – no longer than 5 years.

Does it mean that IT outsourcing is not an option? It works when you realize its risks and know some ways to prevent or mitigate them.

That’s exactly what we are going to do here.

We are going to share Fulcrum’s most painful lessons (and not only Fulcrum’s) and ways of how to avoid them. As Otto von Bismark said:

A wise man learns from the mistakes of others

On the Air: Outsourcing's Biggest Horror Show

Even the coolest guys make outsourcing failures. Let’s have a look at three prominent examples!

Example No.1

The companies: IBM-Queensland

What happened: Back in 2017 the Queensland health department contracted IBM to develop an app to administer payroll. The initial cost of the app was $6 million. The development turned up to be more complex than expected. So, by the end of 2018, the price increased by $27 million. A drawn-out project ended up costing $1.2 billion! By the way, it never worked properly.

The reason for failure: More likely the Queensland health department was attracted by the too competitive price. But it snowballed by 16,000 percent. If something seems too good to be true, it might be so.

You might be interested in our post on how to make sure the project is going well - even if you are not a PM (project manager).

Example No.2

The companies: Virgin Airlines-Navitaire

What happened: Virgin Airlines hired Navitaire, an eCommerce service “for growing airlines”. But their software broke down two times in three months. It took 24 hours to fix the bugs and led to thousands of canceled flights and grounded passengers.

The reason for failure: the inability of the outsourced partner to react quickly to challenges.

Example No.3

The company: MarketingHelpNet

What happened: To save 50% of the project’s cost, MarketingHelpNet hired an offshore website designer from the Philippines. At the time, in his young startup team, there was no one with the required web design skills for a project for a major client. After a few fine-tunings, Hills still wasn’t satisfied with the result. Neither design nor functionality of the website met the requirements and expectations. In addition, the offshore provider missed the deadlines. So, Hills didn’t make the final payment and found out the client’s website shut down the next day.

The reason for failure: superficial check of references & relying on detailed technical instructions. The lack of communication because of the time difference also played its role. Hills and his team could communicate through IM only.

Fulcrum Experience: 4 Biggest Outsourcing Failures

As we said, outsourcing flops happen to the coolest guys and Fulcrum is no exception. Since we are all for 100% transparency, we can talk about our failures and hopefully prevent someone from them! At the end of the day, we learned those painful lessons :)

Almost all outsourcing failures happen due to missing the Discovery phase at the beginning of development. During this phase, we estimate the concept of the project – its viability and usability. Usually, the clients don’t realize the importance of proper research and a detailed plan of the project. They try to dive into development as soon as possible.

The quality Discovery phase at the beginning of collaboration is key for success.

the importance of discovery stage of software development

Let’s have a look at 4 striking examples from Fulcrum’s experience.

Example No.1: Bad assessment of risks

Software development goes with management, tech, release, and product risks. The problems appear when the project manager doesn’t identify the possible risks (or has no free time to do it) and doesn’t stock up on solutions. We learned it among other things after developing a mobile application that combines music providers.

Founders without entrepreneurial background shouldn't skip discovery stage with detailed deliverables like:

  • thought-through monetization method;
  • go-to-market strategy or finalized product vision;
  • tech stack identification.

At the Discovery phase for this mobile app, we didn’t assess the tech risks of the app’s integration with Spotify. The app stopped working after the SDK upgrade.

Yes, the lengthy discovery process can be exhausting for an impatient entrepreneur. Yes, we can start the development process faster without detailed research. But the result will be deplorable.

That is why as a product-oriented company we don't play in "no discovery" games anymore. Even if the client is very insistent.

By the way, we have a detailed guide on how to indicate and mitigate product development risks.

mitigate product development risks.

Example No.2: Lack of marketing research at the start

Marketing research gives an understanding of the demand for the project. Thus, as a product-oriented company, we offer this option to the clients but not all of them agree on thorough research at the start. This way, we collected a few failed cases.

Subbxi is a cool and complex tool for creating subtitles but after the first iteration, it wasn’t published on AppStore. The client didn’t research the market and an app didn’t find its auditory. The fine-tunings took forever but the world didn’t see the result.

Example No.3: Wrong contract model

Out of three contract models –  time & material, fixed price, dedicated team – our client chose the first one. The project turned out to be challenging and lasted for more than 2 months. It cost the client more than expected. What we learned: for complex projects and long-term collaborations, choosing a dedicated model is more cost-effective.

Another prominent example is the development of one cyber app. We started without proper technical instruction, the client chose a fixed price contract. The real amount of work turned out to be bigger and almost for half a year we did charity work.

Example No.4: No global vision of the product at the beginning

Our team started the development of the product for NewProImage without reconciling the global vision. As a result, we didn’t lay down the basic architecture of the project correctly and now every iteration hurts us like the first love.

How to Avoid IT Outsourcing Failures?

Understanding what can go wrong before you dive into outsourcing can save you time, money, and nerves. Here is our checklist on how to protect yourself from wrong decisions in IT outsourcing. Disclaimer: as much as possible.

Start developing a product as MVP

It usually takes a lot of time and resources from an idea to the final version of the project. One of the sure ways not to waste priceless time and money is to build an MVP and test it. MVP with the basic features will still demonstrate the value of your product. Feedback, in turn, will give an understanding of what has to be re-made, adjusted, improved.

Understanding the value of MVP, we created an MVP Assembly service. With it, you can release an MVP product in 90 days. We highly recommend starting the development of the new product in a form of MVP to protect yourself from time and financial losses.

we created an MVP Assembly service.

Take time to compare different vendors and choose the most suitable

A vendor is your best buddy with whom you will overcome the good and bad times of the project’s life cycle. The right choice of vendor is another thing that will save you time and money. With the right team, you will minimize constant fine-tunings and amendments.

What can help you to find the best buddy is obviously thorough research and comparison of teams. We created a vendor checklist that will help you to understand where to swipe – left or right.

Another thing that we recommend is dividing the project into several milestones and assigning the first milestone to several teams to find the perfect match. Yes, it can be more costly now but it will save you time and money in the long run.

Give a clear understanding of the product from top to bottom

When you finally found a promising team, it’s very tempting to dive into developing as soon as possible. Still, don’t forget that you more likely hire people from a different place and culture. Not to mention that they are absolute newbies in the project.

Therefore, it’s crucial to explain the idea of the project from the ground up. Explain every feature of the app, its peculiarities, functions, and importance. What problems do they solve? Send the summary to the outsourced team.

We realized the importance of proper communication with the client and now start every new project with a Discovery phase.  Its main deliverables are:

Take into account the cultural and logistics peculiarities of the outsourced team

The chances that an outsourced team will be from a very different place and culture are high. This affects the working process – from approach to work to logistics.

The relations between the boss and the hired staff in different cultures differ. For example, there is a different attitude to constructive criticism in Ukraine and China. Thus, it’s important to understand the features of business communication in another culture.

Find in the guide:

  • Offshore development rates by country
  • Time zone difference
  • Development rates by role

Another important thing is logistics. The time difference can create time lags and inconvenience for both teams. Therefore, give priorities to teams from the same time zone (+/- several hours). For example, if you are based in Europe, why not outsource specialists from Ukraine? It’s a fast-growing IT hub with close culture, affordable rates, and quality of work recognized overseas.

Take into account public holidays and days off.

Don’t go for time & material if possible

Think twice before choosing the Time & Material model. First, the final cost of the project can go far beyond than expected. Second, it requires full involvement from you to make sure that the team delivers the required scope in the correct number of hours.

Yes, we got burned several times and now urge you to weigh all pros and cons of the model thoroughly.

Create a detailed written contract

Written contracts regulate relations between the vendor and the buyer and uphold both parties. They include requirements regarding quality, features of the product, deadlines, pricing, legal issues related to intellectual property, and more.

You can read more about the types of outsourcing contracts and their features here.

Specify realistic deadlines

When you outsource software developers you entrust a big part of work to unfamiliar hands. Quite often it means missed deadlines. To meet the expectations of your client, you need to buffer the timelines.

First, create a realistic plan of the project and an attainable timeline. Then, redouble it :)

Believe us, it’s way better to get the project completed earlier than expected than trying to get it done for yesterday.

Focus on value over cost

Desperate attempts to fit the tight budgets often lead to fatal decisions. Though, our experience shows that thorough research at the beginning and paying more for services of the higher quality will, in fact, save money in the long run.

Bottom Line

The bad news is that outsourcing is for tough guys. The good news is that 70% of success depends on the vendor that you choose. Where to find one? Apply to Fulcrum and you will never go wrong!

And if you already failed, good for you! Because as Theodore Roosevelt said, the only man, who never makes mistakes, is the one, who never does anything :)