outsource app development

app development outsourcing

software development

outsourcing developing

outsourcing an app

outsourcing mobile app development

When to Outsource Software Development Means to Fail

Software development outsourcing is how you economize while making your life quite a lot more stressful. And there is no need to be a Jeff Bezos to see how it all works - lower hourly rates through the generally lower cost of labor through the generally lower cost of living combined with precisely what you could expect entrusting a case of cash to that respectfully looking gentleman that you've never seen before.

And it's a trend now. The severe competition in the field of software products commands the increasingly higher quality, which is never cheap - a medium app will cost you hundreds of thousands dollars if you want the thing to be usable, look nice, and operate properly. With that, to outsource app development means to save tens of thousands. Add in few-years support and refinement to end up with the sum that could already be a strong foundation tor another project.

So the game is worth the candle, right?

I wouldn't be so sure.

What Makes it All so Complicated

Let's make clear what is already clear: software is not physical. It's one of the major points making its outsourcing so attractive. The same thing creates an array of risks coming from the fact that intellectual property, especially in the form of an idea, is really hard to protect. Read more on that below.

The second point that you should be concerned about relates Agile and Scrum - a project management pattern and its most spread framework that your app development process will almost certainly be based on.

Why this is important is because Scrum implies a role for yourself and there is quite a lot of what depends on how well you play it. This one is covered in detail in our Ballad of Product Owner and Offshore Development.

If There is a Key, the Trust it is

One crucial message I'd like to deliver in this article is that regardless of how many papers you've signed and how expensive your lawyers are, the development company you hire always, I mean ALWAYS, has an opportunity to circumvent you. And it doesn't matter whether it's offshore or onshore outsourcing - only if the developers and project managers are your employees can you be fully confident.

For example, your contractors may all of a sudden terminate a contract, purposefully start to perform poorly in an attempt to make you give up on them, slow down the development and launch your future app's clone, add bugs while refining their own product and much, much more. Not to mention that they can be simply incompetent, i.e. stop delivering unintentionally.

NDA, copyright, service liability agreement - nothing of a legislative nature can adequately secure you from that. Not that it means that the paperwork makes no sense - it's a fairly effective way to tie the potentially shady company, making any dirty moves too risky. But it's a mistake to think that everything is solved and guaranteed by a mere piece of paper.

Signed and sealed papers are like airbags in your car - nothing is wrong with having them in place. But they don't guarantee you anything and are supposed to come into action only as something really wrong is happening. Something that you, perhaps, could prevent.
Software outsourcing is all about trust and interpersonal relations. Among a huge number of outsourcing app development companies, it's reasonable to choose the one whose management simply feels trustworthy - after all, it's never a coder who may want to take advantage of your intellectual property.

A good idea would be to pay attention to how the opposing management treats your project and you personally; does it feel like they are interested; proactive, professional, attentive, responsive, etc. You will be surprised how many candidates drop out once you start taking this into account.

Once the choice is made and the papers are signed, what you should also keep in mind is that trust and good relations are about both parties. To put it short, if you're a hateful individual and dealing with you is just an awful personal experience, your chances to be deceived are skyrocketing aka Tesla Roadster on top of that Falcon Heavy.

In our business, there is a simple and commonly used term - "a good client". What this typically describes is not the financial solvency, but rather the personal and professional traits of the client's representatives and management.

Your Versatile Outsourcing Keeper

Does that title smell like an awkward, inaptly crafted and poorly concealed ad is about to be thrown right into your face? I bet it does. But relax, that not gonna happen. Not in this blog.

Having established trust with the contractors, it would be a great idea to never really rely on that trust. What or better who can truly secure your dealings with the offshore contractors is your own CTO.

In this context, a CTO means an experienced developer with a solid technical background - a guy that is knowledgeable enough to a)understand the code b)develop a knowledge base on the project c)serve as a 'key keeper' - smartly distribute the project core information so that it would always be incomplete and thus valueless to the contractors.

Needless to say, this individual has to be the one you trust implicitly.

Such a figure, if professional and loyal enough, can secure your project from a bulk of what could potentially harm it. Even from incompetent developers - a knowledge base makes the transition of the project from one team to another a relatively easy and quick operation.

Outsourcing Still Might be the Wrong Move

Even with the issues exposed and the ways to address them outlined, there are contraindications. And yes, these are going to be really, really subjective paragraphs.

Cheap vodka and a $1000-per-bottle whiskey readily take you to the same immediate result - excessively intelligent talks, immense attractiveness to the opposite sex, amazingly dexterous gesticulation, etc. What differs is the path to that result and the long-term consequences that you encounter when the morning arrives.

You may argue, but it's pretty much the same when it comes to the choice between an outsourcing company and your own in-house development team. The former is just a more cost-effective option giving you the same for less. The latter, on the other hand, will likely ensure a smoother road to the spectacular results while saving one from some possibly sore consequences. It's crucial to understand that software outsourcing is not always the best option. It's cheap vodka, not an exquisite beverage.

Accepting the risks associated with offshore development sometimes does and sometimes doesn't make sense - that's how, ideally, the pros and cons of software development outsourcing should be estimated.

From where I stand, software outsourcing is a mistake if:
  • It's onshore
  • The core of the business is in the question
  • You're already an established company
  • Attraction of investments is a concern

Let me explain a bit.

Onshore outsourcing

It's just pointless because you're risking as much as you do with an offshore (unless you evaluate anyone's trustworthiness based on the national affiliation, like, you know, a Nazi would do), whereas the cost and other constraints that made you go think about outsourcing in the first place are still there.

In this case, you have a gamble that just saves you nothing. Yes, you may win something in terms of time zones differences or language barriers, but, honestly, you already don't care about that dealing with any professional offshore team, so why pay more?

Your whole of business hangs on that outsource

This one is slightly more complicated. Imagine all of Facebook's offices and R&D centers, including those responsible for the development of the new, better ways of stealing and selling your personal data, being located somewhere in Sudan or Russia and only Mr. Zuckerberg and the trademark remaining American. Assess the risks and the degree of the real power that the man would have over his business, assuming that all of the overseas workers are contractors, not employees.

Now, relocate the key people and the facilities that produce the major value back to the USA and make those the employees and the property of Mr. Zuckerberg. Does it look like something reliable and, actually, fairly common these days?

There is only one big misfit in this example - your business is likely to be smaller and yourself is unlikely to have that much funds. In other words, you may have no choice - just not enough resources to set up anything on the expensive homeland to backup the main offshore workforce.

In this scenario, the most complicated thing is to simply remember that the backup is needed and nothing is secure unless you've taken actions to make it so. Set milestones and gradually pump the most important information back in your own reservoirs as your business expands and resources amount.

You're already a big guy

Why pay overhead when you can not to? If you're not a freshly baked startup, it makes much more sense to simply open a new office at whatever location you have in mind. Just hire a guy, the local one, that would organize everything and save a ton of cash in a long-term perspective while, yet, again securing you from surprises.

It's hard to enter the unknown ground if you're a standalone entrepreneur, but it's more than reasonable when you have experience, personnel, and financial backup.

Your future depends largely on the external funding

Another common blunder is to imagine that an outsource-based project is as much attractive to the investors as is the one you run with your own team. Let's face it: investors don't like outsource. And you either already know it or will learn this fact very soon. Mostly, that's because of those annoying and yet understandable risks - how much of your own money would you invest in that Data Stealing Research Facility in Sudan?

If venture funding or angel investors is a part of your plan, outsource gains one more serious con. And this one must be taken into consideration.

The Takeaways

App development outsourcing is not about brands, logos or countries - it's all about humans and their thoughts. Go through each of the project stages with that in mind.

To outsource app development means to play a game, in which you don't really choose between gains and losses. It always ends with both, you only choose whether you play or not.
Pavel Suprunov
April 15, 2019

Read more: