If you are a budding startup or an enterprise planning to invest in mobile strategy, an obvious question that comes to mind is whether to work with an in house team of mobile developers or hire an offshore team.
According to industry analysts, the transition to mobile is one of the major issues confronting CxOs in 2014. One of the most significant questions in the current environment, wherein the IT industry struggles to execute mobile projects, is about what should be or can be built internally versus what can or should be outsourced. We believe that in the short term outsourcing can provide value that is difficult, if not impossible, to achieve in-house. Companies doing outsourcing work provide value to clients developing for the mobile web or native apps.
The following are the major areas of concern while deciding whether to build an in-house team or to outsource your project:
1. Availability of in-house expertise which understands all aspects of mobile development
Mobile projects, whether mobile web or native apps, can be quite complex.
Developing a mobile app involves understanding and expertise of issues like user experience design, coding, testing, planning releases and working on the user feedback.
Mobile-focused agencies often have to take over projects which internal client teams have dabbled in and quit while attempting to build a mobile app or website. A mobile agency, where the leading developers have several years of experience, is likely to provide much better output than client teams that decide to take up the task just because it seems exciting and fun.
2. Hiring, training and retention of the best talent
Mobile developers, whether mobile web/JavaScript, Android/Java or iOS/Objective-C are not easy to find at present and leading developers charge a lot of money. A leading developer can be as productive as several mediocre developers, so you have to find top-level developers if you are to hire any. Major challenges include being able to retain such developers as headhunters target them constantly and offer lucrative positions elsewhere. Before that you have to find an effective way to test them and find out whether they are as good as they claim to be.
For every candidate they hire, the best among mobile agencies test and interview at least 10. Following that they let these developers hone their skills through approaches such as pair programming, which are possible only with mobile teams with in-depth knowledge.
Corporate hiring cycles typically take a minimum of six months or even longer to fill a position and to make it ‘operational’. At times they take even longer to do that since these relocation, interview processes and budgets, among other things, have to be taken into account. For mobile, the process may be even longer because of the job market for developers being rather tight. However, this may be more hindrance than help since mobile cycle times are coming down to a few weeks rather than months or years.
Creating a mobile team that is complete is not limited to hiring an Android or iOS developer. Mobile projects not only move quickly but also iterate among strategizing, designing, developing and testing. So a complete mobile team has to be comprised of people with those skill sets. The team requires a fluid workspace to collaborate and maximize output. Cycle times, quality and productivity suffer if the employees with such skill sets are not at the same geographic location. So, you have to have the entire team at one location.
3. Management of the mobile team
If the performance of a mobile agency is not up to the mark, you can disengage with it or put it on notice. However, the processes for terminating employees on account of poor performance are slower in most companies. So, if you hire the wrong agency, you can get rid of it faster than you can get rid of an unproductive employee.
4. Required efficiencies and infrastructure
Underlying processes and systems are required for mobile projects to work best. During the past few years, agencies have developed best practices and libraries around these. Agencies will bring an in-depth comprehension of mobile security, integrated approaches to analytics and quality assurance (QA), well-built libraries and the lessons learned from hundreds of mobile projects to the table.
5. Capabilities for scaling up, as required
To achieve great results in mobile, you require mobile teams with in-depth knowledge to collaborate among themselves. In the case of small teams with little depth, it can be a problem if a team member leaves the company, has an illness in the family or goes for a vacation, etc.
Also, if a substantial amount of work load is to be added within a short period of time, a mobile development agency might be a better choice than hiring your own staff.
6. Time spent on new business acquisition vs time spent on managing developers
If you hire an agency instead of building an in-house mobile development team, you will have more time at hand to focus on core activities such as acquisition of new business. You will not have to be caught up in corporate processes such as meetings to manage the team.
Additionally, the developers employed by agencies can be completely productive whereas those employed as part of in-house development team also tend to be bogged down by various corporate processes. That is the reason why agencies can achieve output similar to in-house development teams that companies employ with far fewer developers.
Even companies that claim to have implemented agile processes are faced with the same problem regarding corporate processes.
So, it is more practicable to hire an agency rather than employ an in-house mobile development team.