By Mihael Yack
I remember when I got my cell first phone. It was a Motorola C113. It could make calls and send messages; there were some games and even an alarm clock. It was a pretty cool device in comparison with the first handheld mobile phone prototype produced by Martin Cooper, an executive at Motorola.
Figure 1: Early cell phones
In 1973, one could barely imagine that the prototype, which weighed more than 1 kg, measured about 20cm long, and took about 10 hours to be recharged, could turn into a solid foundation for building digital business.
Currently, the total number of apps available in the most popular app stores—Google Play and Apple Market—goes beyond 1 million. As you can see from Figure 2, the market leaders have about the same number of items in their app stores. The three others, which are Windows Phone Store, Amazon, and Blackberry, have significantly fewer apps available. This fact can be easily explained: The majority of people use iOS and Android devices.
Figure 2: Sources for apps
Seems like almost everyone strives to build an app and/or move his physical business to the online markets. If you think about developing an app, a dilemma may arise: Should you hire an internal team and build it in-house, or find a remote team and outsource your project to it? This is an important question and I am going to help you find the right answer. In this article, we will weigh the pros and cons of app development outsourcing.
First of all, let's see what the word outsourcing means in business. According to the Merriam-Webster online dictionary, the verb "to outsource" has the following meaning:
"To procure (as some goods or services needed by a business or organization) under contract with an outside supplier <decided to outsource some back-office operations>".
To put it into other words, outsourcing means subcontracting business or services when there is no opportunity to fulfill it in-house. What can you outsource? Basically, whatever business that cannot be done by your own forces. But still there are some popular services, among which are:
- Information technologies
- Technical support and maintenance
- Legal service
Why do companies go into outsourcing? There may be several reasons. For example,
- Lack of expertise
- Lack of experience
- Lack of resources
- Lack of time
- Lack of money or desire to save some money by finding cheap resources
It's interesting to mention that there are some beloved countries to which businesses tend to outsource their projects. Take a look at this chart of the top-rated outsourcing regions.
Figure 3: The top-rated outsourcing regions
According to the stats, the most popular region for outsourcing is Eastern Europe. Now, let's take a closer look at this area and see which countries are the market leaders.
Figure 4: The top-rated outsourcing countries in Eastern Europe
It's easy to see that businesses tend to work with remote developers from Ukraine, Russia, or Poland first of all. This tendency may easily be explained. These countries have a high level of education, a high threshold of requirements for entering the IT field, but their living standards are not so good in comparison with the USA, for instance. Being well-educated and having the necessary background for providing high-quality service, they are treated as foes worthy of their steel. The benefits are obvious.
Now when we've studied the basics of outsourcing, let me tell you about the pros of outsourcing mobile app development.
- In my opinion, the main benefit is the price. Working with an offshore team may be the most cost effective and affordable solution. Normally, it's cheaper to outsource a project to Europe rather than to develop it in-house in the USA. The main reason for this is different living standards.
- No headache about finding or hiring proper professionals. All this has already been done by an HR manager of a company that you are going to work with.
- If you work with a reputable company, you won't need to think about training your employees and their constant qualification improvement.
- Besides, you will get rid of the micromanagement, which is normally one of the most time-consuming things. Good companies have taken care of that and hired skilled Project Managers.
- This will help you focus on your own business or another project of yours. After all, you will be able to spend more time with your family.
- There is a large talent pool available worldwide. You have a wide choice of countries and people to work with. Prefer drinking beer and eating sausages with your team on Friday evenings? Okay, go to Germany. Feel more comfortable with Ukrainians and their well-developed IT community? Great, Google some Ukrainian companies.
- You have access to skilled people. Theoretically, you can work with any expert in the world who knows his business and knows how to build apps.
- Because there are many developers specialized in different technologies, you will be able to get to know the pros and cons of every technology and choose the most appreciated one.
- If you contact the right people, you may expect transparency and full control of the development process. For instance, our company provides access to various tracking tools such as Harvest, Jira, RedMine, and so forth. We do this to ensure transparency and avoid any misunderstandings.
- After all, you may learn something new. Receiving offers and communicating with different companies may tell you a lot about their development processes, mentality, and lifestyle. One company may follow the waterfall principles whereas another one may tell you a lot about Lean Startup, which could be successfully applied to any sphere and any business.
These were the benefits of outsourcing mobile app development. Now let's take a look at the reverse side of the coin: the disadvantages of hiring a developerment team.
- First, you need to protect your idea. Pay attention to the willingness of companies to sign an NDA or an IP agreement.
- Be aware of meeting a team that may cheat.
- Perhaps you will need to spend a lot of time prior to finding a proper team and starting resting on laurels. Get prepared for such a challenge.
- One of the other challenges may be the difference in time. Normally, companies with established reputation solve this situatiion by allowing their managers to have a flowing schedule so that they are available any time you need them. They do everything possible to make you feel comfortable working with them.
- One of our clients' concerns is a language barrier. But again—companies that provide upscale service speak English fluently and constantly work on its improvement. No need to worry about this.
These were, in my opinion, the most important advantages and disadvantages of outsourcing mobile app development. If you are seriously considering hiring an offshore team, I'd like to give you some pieces of advice on how not to burn your fingers.
- Hire an experienced team to work on large and complex projects. Of course, you could try to work with a newly established company. In this case, it's better to start a small project or, let's say, a UX stage with them just to check out their process and the way they work.
- Google the company name and see what is being said about it. Premium companies are constantly working on their reputation, they actively participate in the professional events, publish on relevant blogs, and answer users' questions and comments.
- Search for a team with a good reputation. The last may be easily checked on referral resources such as Clutch.co, for instance, where they publish independent and true feedback about the teams.
- Make sure that the team you are considering to work with is able to conform to the legal terms. They should provide you with a proper contract, in which both your and their interests will be described. They should offer you an NDA to protect your idea.
- Don't hesitate to ask for references. Companies with a good reputation have nothing to hide from you. Ask to speak with one of their current or old clients; ask them for references.
- Carefully study their portfolio. Pay attention to the quality of apps and designs they create. Most likely, you will get the same.
- Ask about their development approach. It should be transparent, clear, and easy for you to understand.
There may be a lot of other criteria you should pay attention to. Once you find the right team, spend some time or let them create specs on your project. They will help you avoid any misunderstandings in the future. So many people, so many minds; thus. it's necessary to have specs. People tend to imagine things differently and may have a different vision of your project than you do. Technical specs will help you make sure that you are on the same wavelength and that there won't be any surprises in the future.
About the Author