Outsourcing a mobile application development project for an agency has the same advantages as in multiple areas of economic activity: a significant reduction in costs, saving time and energy which can then be mobilized on the agency's core business.
What are the factors for successful outsourcing? Here is our best advice on the subject.
1. Adapt the organization of your agency
The demand is higher in mobile than in web.
The demand for professional mobile applications is increasing rapidly, especially since 2016. Growth in the sector is 25% in 2019, and the trend is accelerating with an increasing number of smartphones and more networks more efficient.
Mobile applications are becoming real working tools in the field, precious sources of data for professionals but also a new way to interact, to keep in touch with users.
In three years, the time spent on mobile has doubled while the time spent on computer has decreased by 8%. On average, we spend almost 3 hours a day on our smartphone, which represents 69% of the time spent on internet.
Many communication agencies have set up web development teams since the 2000s, or even before. The choice of outsourcing was not always obvious for an activity considered to be at the heart of the agency's profession. It was probably less complicated than today to recruit web developers / integrators.
The demand for on-demand mobile applications is growing strongly and recently. However, web skills are not suitable for mobile projects, the techniques are quite different.
Hybrid technical solutions that would make it possible to “make mobile as we make the web” gave the feeling that a web developer could easily and quickly develop mobile applications.
But a hybrid application often delivers false hopes, to reach the same level of quality as a native application, designed specifically for Apple or Android, we will reach the same budget. Above all, the hybrid development tools are not those of native applications. They often pose technical problems which can turn out to be extremely costly, possibly going as far as abandoning the project or re-developing native applications.
It is recommended to reserve hybrid tools for ephemeral applications.
In practice, a quality mobile application will be a native application. Its main advantage is that it is installed on the user's smartphone and directly accessible.
It also has the advantage of a good adaptation to the designs of the smartphone (quite different between Apple and Android), greater speed of execution, better access to the resources of the smartphone (microphone, camera, GPS, etc.), the possibility of delivering push notifications, or even availability without an internet connection when there is no need to interact with a remote database in real time.
The main drawback is that most often you have to develop two applications, an iOS and an Android. This drawback is reduced when using a “cross-platform” development tool like Xamarin which allows you to pool application code while developing real native applications.
The production of quality mobile applications requires specialized technical skills: objective-C and swift for iOS, Java for Android, or even C # for the Xamarin cross-platform tool.
The resources are even rarer that they are in demand. For a communications agency, upgrading an integrator or front-end web developer into a native mobile developer represents a significant effort in terms of costs, training and skills development time.
It is all the more complicated since the agency also needs to keep resources available for its web projects.
The outsourcing is the solution you choose increasingly communication agencies.
In financial terms, outsourcing has the great advantage of variable costs. No need for a fixed team paid year-round, a team leader, offices, materials, training... nor the time to allocate and the hassle that this generates.
A subcontractor specialized in the development of native mobile applications has operational and experienced teams, industrialized processes allowing much faster development than in-house.
If the productivity of a specialized team is 50% higher than that of an internal team, the hourly cost of an in-house developer at $60 (salary, charges, structure costs, etc.) comes down to an hourly cost of service $20-$40 on outsourcing.
Outsourcing also generates significant time savings: there is no need to supervise developers, and control work is limited to deliverables. This allows more time to be devoted to the agency's core business activities by focusing on validating the steps agreed with the service provider in charge of developing the mobile application.
Also, Read: Benefits of Outsourcing Web Development Projects
The outsourcing of a mobile application project requires a more important formalism than an internal agency implementation insofar as an employer / employee relationship is not the same as the client / provider who will have to do subject to a subcontract.
In practice, outsourcing requires a precise definition of the work to be carried out. In addition to the high-fidelity models produced by the agency, it is necessary to write precise specifications.
An efficient method and detailed specifications will reduce misunderstandings and time-consuming back and forth with your customer and your service provider.
This does not prevent that regular communication with the project manager of your service provider is essential to take stock of the progress of the work, answer questions or anticipate change requests from your client.
You probably have relationships in your professional network who can recommend one or more providers in mobile development. You can set yourself the objective of establishing a list of 5 providers from which you will make your final choice.
If necessary, yellow pages, or web search directories will allow you to identify providers that you consider interesting.
Establish a scoring grid according to the importance you attach to each criterion:
• Company size: choose a service provider whose size is suitable for your projects. A provider that is too small may not be able to provide you with all of the resources you need. Too large a service provider may not pay enough attention to your plans if you are not a large account yourself.
• Solidity of the company: check its legal and financial history, its results and its balance sheets.
• Geographic area: geographic proximity is no longer as important a criterion as in the past, although it is good to meet from time to time. Digital tools, instant messaging, document sharing, online software, Internet teleconferencing, etc. allow close operational proximity. Beware of a great distance, in this case offshore: the temptation of attractive prices is likely to be thwarted by disappointing results; there are many bad experiences. In practice, offshore subcontracting must be reserved for very large projects which require a full-time team managed on site by one of your expatriate employees.
• References and customer testimonials: beyond what is published on the provider's website, look for common relationships with your provider, via social networks like LinkedIn for example, and ask them about the positive and negative aspects of their collaboration. These references from end customers will not necessarily correspond to those of communication agencies, which are often confidential, but they will give you useful information on how the application was made.
• Achievements: does the service provider highlight webapp, native, hybrid creations? If possible, download the mobile applications already produced and assess the work carried out for yourself. Take into account that the design could have been done by another digital agency.
• Operational methods: what is the service provider's working method? What collaborative tools does it use, which development, testing and deployment tools in pre-production and in production? Will you have a dedicated project manager as an interlocutor?
• Technical skills: how many developers comprise the service provider's teams? How big is each team? Are developers and project managers certified?
• Prices: what are the prices charged by the service provider? Does he commit to the package? Does it include a warranty period, maintenance or support contract?
• Contractual terms: check the limitation of liability clauses, the confidentiality clauses and make sure that the source code written for the development of the application will become the property of your client.
Obviously the perfect provider does not exist. By rating providers on each criterion, you will get a rational evaluation to which you will have to add the confidence that each of them inspires you. It is also a way to identify and discuss with the provider the improvement points that you consider important.
Example of elements to report in an Excel table in order to establish a first search list:
Entrust a first project to the service provider you have chosen
Meet the service provider you have chosen to offer him the opportunity to work together on a first mobile application project. Discuss the practical, organizational, financial and contractual terms of this first collaboration.
Establish the conditions for effective communication by ensuring each other's availability for each other, through your respective project managers on a daily basis.
At the end of this first experience, you will be able to measure the benefits of your collaboration.
Except important problems which would break the relation, take stock with your service provider on the axes of improvement on which he and you should work:
3. Fine-tune your specifications
The specifications constitute the contractual basis of the relationship with the service provider, starting with the assessment of the workload, the cost of development and delivery times. The specifications include the models that your agency will have produced, but not only.
In terms of method, a UML modeling for example makes it possible to identify the users who will interact with the mobile application.
The identification of the different use cases is very useful to describe in a structured and detailed way the expected operation, to verify that each actor has the necessary functionalities, including via a web back-office for example.
The specifications must also define the test plan for the mobile application. Based on the inventory of use cases and models of the mobile application, the test plan allows you to anticipate and prepare the test phase as it can be carried out by the service provider, yourself and your client.
Ideally, you should carry out this work on the specifications iteratively in close relation with your client and supply it to your provider at the end. Do not hesitate to discuss with your service provider to ensure that they understand it correctly before a final iteration with your client.
Take advantage of his expertise by asking him for his comments. In the end, he will have perfectly understood the project and he will be able to provide you with a precise workload, which you will be able to take into account with a minimum risk of error in the commercial proposal intended for your client.
4. Clearly define the role of each
Your agency is required to offer mobile applications to its customers, most often as part of a strategy, campaigns or communication operations that involve other means than mobile.
Your agency defines the concept and the functionalities of the application. It establishes the specifications, it designs the models and prototypes in accordance with the client's graphic charter.
With respect to the client, your agency provides project management until the delivery of the mobile application. Even if your service provider is not in direct contact with your customer, the partnership can be transparent: the customer knows that technical development is handled by a mobile specialist. This implies that your service provider undertakes not to solicit or work directly with your customers.
Your agency also supports the publication and preparation of application presentation sheets on the Google and Apple mobile stores.
This work is essential, especially in terms of mobile SEO. It requires preparation prior to the publication itself.
This preparation should not be underestimated. It requires coordination with your service provider, in particular to obtain good visuals of the mobile application.
If the project involves other digital resources, for example website or back-office, it is likely that an API will be developed to share the data access resources. You will need to ensure that this API is properly documented, versioned, and accessible on pre-production and production environments.
Do not hesitate to put the various stakeholders in direct contact: designers, API developers, mobile app developers.
For the sake of efficiency, it is preferable that they can communicate directly with each other rather than through their hierarchy. This connection, for example during the launch meeting of the project, is an opportunity to clarify the role of each and encourage them to help each other for the benefit of the project.
For its part, your provider supports the development of the application according to the specifications, by integrating the models that you have provided and using the API to which you have given him access.
He will carry out the first functional test campaign of the application before delivering a pre-production version on which you can carry out your own tests, as well as your client if you have planned so.
5. Organize effective communication
The communication between the various stakeholders in charge of the project is mainly by email. Make sure the right people are receiving or copying the messages.
When you need quick interactions, use discussion groups like Skype, which allow you to chat, voice or videoconference.
The main difficulty of an agency is to act as an intermediary between its client and its provider. When the provider is a subcontractor and does not communicate directly with the client, you must forward the client's requests and comments to your provider, as well as you must ask your client the questions from your provider.
This is quite logical upstream of the implementation of the application, but becomes heavier in the project implementation phase when requests for change arise, and even heavier in the testing and validation phase.
It is more efficient to present your service provider to your client as a specialist in charge of implementing your mobile application and to organize communication as you would with an internal team at the agency. Your provider should not be your own competitor.
6. Don't forget maintenance and upgrades
As a general rule, the application is delivered in pre-production for the “verification of features for proper functioning”.
At the end it went into production with a period of “regular service verification” which may be confused or continue with a warranty period during which the service provider must correct any anomalies without additional cost.
Subsequently, it is possible to provide for a maintenance contract, either flat-rate or with invoicing on a past time basis, which will make it possible to resolve problems that may arise, for example in the event of a change of a software component, an update API, etc. The maintenance contract may also provide for the handling of minor changes.
Plan to categorize bugs according to their criticality, which will imply a resolution time accordingly.
At the operational level, plan to use a collaborative tool, both for the execution of test campaigns and the reporting of bugs and requests for changes.
7. Watch over your contractual security
Define the terms of collaboration with your service provider in a framework contract to which the orders you will place will refer. You can also plan maintenance procedures there.
Among the points to check:
Do you want to find a trusted partner who will help you develop your mobile applications? Contact us now to discuss a possible partnership.