L’externalisation d’un projet de développement d’application mobile pour une agence de communication présente les mêmes avantages que dans de multiples domaines d’activité économique : une réduction significative des coûts, un gain de temps et d’énergie qui peuvent alors être mobilisés sur le cœur de métier de l’agence.

Dans le domaine du développement d’applications mobiles, l’externalisation répond de surcroît à un manque chronique de compétences techniques opérationnelles, développeurs iOS et Android, plus encore que sur d’autres technologies numériques.

Quels sont les facteurs d’une externalisation réussie ? Voici nos meilleurs conseils en la matière.

1. Adaptez l’organisation de votre agence

La demande est plus forte en mobile qu’en web

La demande d’applications mobiles professionnelles est en forte progression, surtout depuis 2016. La croissance dans le secteur est de 15% sur l’année 2017, et la tendance est à l’accélération avec un nombre croissant de smartphones et des réseaux de plus en plus performants.

Les applications mobiles deviennent de véritables outils de travail sur le terrain, de précieuses sources de données pour les professionnels mais aussi un nouveau moyen d’interagir, de garder le contact avec les utilisateurs.

En trois ans, le temps passé sur mobile a doublé alors que le temps passé sur ordinateur a baissé de 8%. En moyenne, on passe près de 3h00 par jour sur son smartphone ce qui représente 69% du temps passé sur le digital.

etude-mobile-smartphones

Les agences n’ont pas toujours les ressources en interne

De nombreuses agences de communication ont mis en place des équipes de développement web dès les années 2000, voire auparavant. Le choix de l’externalisation n’était pas toujours évident pour une activité jugée au cœur du métier de l’agence. Il était sans doute moins compliqué qu’aujourd’hui de recruter des développeurs / intégrateurs web.

La demande d’applications mobiles professionnelles est en progression forte et récente. Pour autant, les compétences web ne sont pas adaptées aux projets mobiles, les techniques sont assez différentes.

Les solutions techniques hybrides qui permettraient de “faire du mobile comme on fait du web” ont donné le sentiment qu’un développeur web pourrait facilement et rapidement développer des applications mobiles.

Mais une application hybride délivre souvent de faux espoirs : pour atteindre le même niveau de qualité qu’une application native, conçue spécifiquement pour Apple ou Android, on atteindra le même budget. Et surtout, les outils de développement hybrides ne sont pas ceux des applications natives. Ils posent souvent des problématiques techniques qui peuvent se révéler extrêmement coûteuses, pouvant aller jusqu’à l’abandon du projet ou le re-développement d’applications natives.

Il est recommandé de réserver les outils hybrides aux applications éphémères.

xamarin

En pratique, une application mobile de qualité sera une application native. Son principal avantage est qu’elle est installée sur le smartphone de l’utilisateur et accessible directement.

Elle présente également l’intérêt d’une bonne adaptation à l’ergonomie du smartphone (assez différente entre Apple et Android), une plus grande rapidité d’exécution, un meilleur accès aux ressources du smartphone (micro, caméra, GPS…), la possibilité de délivrer des notifications Push, ou encore une disponibilité sans connexion internet lorsqu’il n’est pas nécessaire d’interagir avec une base de données distante en temps réel.

L’inconvénient principal est qu’il faut développer le plus souvent deux applications, une Apple et une Android. Cet inconvénient est réduit lorsque l’on utilise un outil de développement “cross-platform” comme Xamarin qui permet de mutualiser le code métier tout en produisant de véritables applications natives.

La production d’applications mobiles de qualité nécessite des compétences techniques pointues : objective-C et swift pour iOS Apple, Java pour Android, voire C# pour l’outil cross-platform Xamarin.

Les ressources sont d’autant plus rares qu’elles sont très demandées. Pour une agence de communication, faire évoluer un intégrateur ou un développeur web front-end en développeur mobile natif représente un effort important en terme de coûts, de formation et de délai de montée en compétence.

C’est d’autant plus compliqué que l’agence a également besoin de conserver des ressources disponibles pour ses projets web.

L’externalisation des projets mobiles est une solution pragmatique et économique

L’externalisation est la solution que choisissent de plus en plus souvent les agences de communication.

En termes financiers, l’externalisation présente le grand avantage de coûts variables. Pas besoin d’une équipe fixe payée à l’année, d’un chef d’équipe, de bureaux, matériels, formations… ni du temps à y accorder et des tracas que cela engendre.

Un prestataire sous-traitant spécialisé dans la fabrication d’applications mobiles natives dispose d’équipes opérationnelles et rodées, de processus industrialisés permettant une réalisation beaucoup plus rapide qu’en interne à l’agence.

Si la productivité d’une équipe spécialisée est de 50% supérieure à celle d’une équipe interne, le coût horaire d’un développeur maison à 60 € (salaire, charges, frais de structure… etc) revient à un coût horaire de prestation externe de 90 €.

L’externalisation génère également un gain de temps important : il n’est pas nécessaire d’assurer l’encadrement des développeurs, et le travail de contrôle se limite aux livrables. Cela permet de consacrer plus de temps aux activités de cœur de métier de l’agence en se concentrant sur la validation des étapes convenues avec le prestataire en charge de la fabrication de l’application mobile.

Une autre façon de travailler

L’externalisation d’un projet d’application mobile impose un formalisme plus important qu’une réalisation interne à l’agence dans la mesure où une relation employeur / salarié n’est pas la même que donneur d’ordre / prestataire qui devra faire l’objet d’un contrat de sous-traitance.

En pratique, l’externalisation impose une définition précise du travail à réaliser. Au-delà des maquettes haute-fidélité réalisées par l’agence, il est nécessaire de rédiger un cahier des charges précis.

Une méthode efficace et un cahier des charges détaillé réduiront les incompréhensions et les allers-retours chronophages avec votre client et votre prestataire.

Cela n’empêche qu’une communication régulière avec le chef de projet de votre prestataire est indispensable pour faire le point sur l’avancement des travaux, répondre aux questions ou anticiper les demandes de changement de votre client.

Pensez qu’il faudra formaliser chaque étape :

  • cahier des charges et maquettes,
  • validation de la proposition financière de votre client,
  • réunion de lancement,
  • revues de projet ou comités de pilotage,
  • réception d’une version de tests de l’application mobile,
  • procès-verbal de recette,
  • validation pour passage en production,
  • debriefing projet

2. Sélectionnez et testez un prestataire en développement mobile

Vous avez sans doute des relations dans votre réseau professionnel qui pourront vous recommander un ou plusieurs prestataires en développement mobile. Vous pouvez vous fixer comme objectif d’établir une liste de 5 prestataires parmi lesquels vous ferez votre choix final.

Au besoin, les annuaires pages jaunes, French Tech ou recherches web vous permettront d’identifier des prestataires que vous jugerez intéressants.

Les critères de choix d’un prestataire en développement mobile

Établissez une grille de notation selon l’importance que vous accordez à chaque critère:

  • Taille de l’entreprise : choisissez un prestataire dont la taille est adaptée à vos projets. Un prestataire trop petit ne pourra peut-être pas vous fournir toutes les ressources dont vous avez besoin. Un prestataire trop important n’accordera peut-être pas suffisamment d’attention à vos projets si vous n’êtes pas vous-même grand compte.
  • Solidité de l’entreprise : vérifiez son historique juridique et financier, ses résultats et ses bilans.
  • Zone géographique : la proximité géographique n’est plus un critère aussi important que par le passé, même s’il est bon de se rencontrer de temps à autre. Les outils numériques, messageries instantanées, partage de documents, logiciels en ligne, téléconférences par Internet… etc, permettent une grande proximité opérationnelle. Attention à un grand éloignement, en l’occurrence offshore : la tentation de tarifs attractifs risque fort d’être contrariée par des résultats décevants ; les mauvaises expériences sont nombreuses. En pratique, la sous-traitance offshore doit être réservée aux très grands projets qui nécessitent une équipe à temps complet pilotée sur place par un de vos salariés expatrié.
  • Références et témoignages clients : au-delà de ce qui est publié sur le site web du prestataire, cherchez des relations communes avec votre prestataire, via les réseaux sociaux comme LinkedIn par exemple, et interrogez les sur les aspects positifs et négatifs de leur collaboration. Ces références de clients finaux ne correspondront pas forcément à celles d’agences de communication, souvent confidentielles, mais elles vous éclaireront de façon utile sur la façon dont s’est déroulée la fabrication de l’application.
  • Réalisations : le prestataire met-il en avant des réalisations webapp, natives, hybrides ? Téléchargez si possible les applications mobiles déjà réalisées et évaluez par vous-même le travail réalisé. Prenez en compte le fait que le design a pu être réalisé par une autre agence de communication.
  • Modalités opérationnelles : quelle est la méthode de travail du prestataire ? Quels outils collaboratifs utilise-t-il, quels outils de développement, de tests, de déploiement en pré-production et en production ? Aurez-vous un chef de projet dédié comme interlocuteur ?
  • Compétences techniques : combien de développeurs comportent les équipes du prestataire ? Quelle est la taille de chaque équipe ? Les développeurs et les chefs de projets sont-ils certifiés ?
  • Tarifs : quels sont les tarifs pratiqués par le prestataire ? Est-ce qu’il s’engage au forfait ? Prévoit-il une période de garantie, un contrat de maintenance ou de support ?
  • Modalités contractuelles : vérifiez les clauses de limitation de responsabilité, les clauses de confidentialité et assurez-vous que le code source écrit pour la réalisation de l’application deviendra la propriété de votre client.
Article similaire :  No-Code, Logiciel ou Application Sur-Mesure, comment choisir ?

Bien évidemment le prestataire parfait n’existe pas. En notant les prestataires sur chaque critère, vous obtiendrez une évaluation rationnelle à laquelle il faudra ajouter la confiance que chacun d’eux vous inspire. C’est également un moyen d’identifier et de discuter avec le prestataire des points améliorations que vous jugez importants.

Exemple d’éléments à reporter dans un tableau Excel afin d’établir une première liste de recherche :

critere-choix-sous-traitance-prestataire-mobile

Confiez un premier projet au prestataire que vous avez choisi

Rencontrez le prestataire que vous avez retenu pour lui proposer de travailler ensemble sur un premier projet d’application mobile. Discutez des modalités pratiques, organisationnelles, financières et contractuelles de cette première collaboration.

Établissez les conditions d’une communication efficace en vous assurant mutuellement d’être disponible l’un pour l’autre, par l’intermédiaire de vos chefs de projet respectifs au quotidien.

A l’issue de cette première expérience, vous pourrez mesurer les bénéfices de votre collaboration.

Sauf problèmes importants qui rompraient la relation, faites le point avec votre prestataire sur les axes d’amélioration sur lesquels lui et vous devriez travailler :

  • Pouvez-vous lui fournir un cahier des charges plus précis ? Anticiper les demandes de changement de vos clients ?
  • Peut-il réduire ses délais de fabrication ? Aménager son planning en plus grande coordination avec celui de vos projets ?

3. Peaufinez vos cahiers des charges

Le cahier des charges constitue la base contractuelle de la relation avec le prestataire, à commencer par l’évaluation de la charge de travail, du coût de réalisation et des délais de livraison. Le cahier des charges comporte les maquettes que votre agence aura réalisées, mais pas seulement.

En termes de méthode, une modélisation UML par exemple permet d’identifier les acteurs qui vont interagir avec l’application mobile.

L’identification des différents cas d’utilisation est très utile pour décrire de façon structurée et en détail le fonctionnement attendu, de vérifier que chaque acteur dispose des fonctionnalités nécessaires, y compris via un back-office web par exemple.

Le cahier des charges doit également définir le plan de test de l’application mobile. Basé sur l’inventaire des cas d’utilisation et les maquettes de l’application mobile, le plan de tests permet d’anticiper et de préparer la phase de tests telle qu’elle pourra être conduite par le prestataire, vous même et votre client.

Idéalement, vous devriez réaliser ce travail sur le cahier des charges de façon itérative en étroite relation avec votre client et le fournir à l’issue à votre prestataire. N’hésitez pas à échanger avec votre prestataire pour vous assurer de sa bonne compréhension avant une dernière itération avec votre client.

Tirez profit de son expertise en lui demandant ses remarques. Au final, il aura parfaitement compris le projet et il sera en mesure de vous fournir une charge de travail précise, que vous pourrez prendre en compte avec un minimum de risques d’erreur dans la proposition commerciale destinée à votre client.

4. Définissez clairement le rôle de chacun

Votre agence est amenée à proposer des applications mobiles à ses clients, le plus souvent dans le cadre d’une stratégie, de campagnes ou d’opérations de communication qui mettent en jeu d’autres moyens que le mobile.

Votre agence définit le concept et les fonctionnalités de l’application. Elle établit le cahier des charges, elle conçoit les maquettes et les prototypes en accord avec la charte graphique du client.

Vis à vis du client, votre agence assure la gestion de projet jusqu’à la livraison de l’application mobile. Même si votre prestataire n’est pas en contact direct avec votre client, le partenariat peut être transparent : le client sait que le développement technique est traité par un spécialiste du mobile. Cela implique que votre prestataire s’engage à ne pas démarcher ni travailler en direct avec vos clients.

Votre agence prend également en charge la publication et la préparation des fiches de présentation des applications sur les stores mobiles Google et Apple.

Ce travail est essentiel, notamment en termes de référencement mobile. Il nécessite une préparation en amont de la publication elle-même.

Cette préparation ne doit pas être sous-estimée. Elle nécessite une coordination avec votre prestataire, en particulier pour obtenir de bons visuels de l’application mobile.

Si le projet implique d’autres ressources numériques, par exemple site web ou back-office, il est probable qu’une API soit développée pour partager les ressources d’accès aux données. Il vous faudra veiller à ce que cette API soit correctement documentée, versionnée et accessible sur des environnements de pré-production et de production.

N’hésitez pas à mettre en relation directe les différents intervenants : designers, développeurs API, développeurs mobile.

Dans un souci d’efficacité, il est préférable qu’ils puissent communiquer directement entre eux plutôt qu’en passant par leur hiérarchie. Cette mise en relation, par exemple lors de la réunion de lancement du projet, est l’occasion de préciser le rôle de chacun et de les inciter à l’entraide au bénéfice du projet.

De son côté, votre prestataire prend en charge le développement de l’application selon les spécifications du cahier des charges, en intégrant les maquettes que vous lui avez fournies et en utilisant l’API à laquelle vous lui avez donné accès.

Il réalisera la première campagne de tests fonctionnels de l’application avant de vous livrer une version de pré-production sur laquelle vous pourrez réaliser vos propres tests, de même que votre client si vous l’avez prévu ainsi.

5. Organisez une communication efficace

La communication entre les différents intervenants en charge de la réalisation du projet se fait pour l’essentiel par mail. Veillez à ce que les bonnes personnes soient destinataires ou en copie des messages.

Lorsque vous avez besoin d’interactions rapides, utilisez les groupes de discussion comme Skype qui permettent d’échanger par écrit, voix ou visioconférence.

La principale difficulté d’une agence consiste à faire l’intermédiaire entre son client et son prestataire. Lorsque le prestataire est sous-traitant et qu’il ne communique pas en direct avec le client, vous devez transmettre les demandes et les remarques du client à votre prestataire, de même que vous devez poser à votre client les questions de votre prestataire.

Ceci est assez logique en amont de la réalisation de l’application, mais devient plus lourd en phase de réalisation du projet lorsque surgissent des demandes de changement, et plus lourd encore en phase de tests et de validation.

Il est plus efficace de présenter votre prestataire à votre client comme un spécialiste en charge de la réalisation de votre application mobile et d’organiser la communication comme vous le feriez avec une équipe interne à l’agence. Votre prestataire ne doit pas être votre propre concurrent.

6. N’oubliez pas la maintenance et les évolutions

En règle générale, l’application est délivrée en pré-production pour la “vérification d’aptitude au bon fonctionnement”.

A l’issue elle est passée en production avec une période de “vérification de service régulier” qui peut se confondre ou se poursuivre avec une période de garantie pendant laquelle le prestataire doit corriger les anomalies éventuelles sans supplément de prix.

Par la suite, il est possible de prévoir un contrat de maintenance, forfaitaire ou avec facturation au temps passé, qui permettra de résoudre les problèmes qui pourraient survenir, par exemple en cas de changement d’un composant logiciel, d’une mise à jour d’API… etc. Le contrat de maintenance peut également prévoir la prise en charge d’évolutions mineures.

Prévoyez de catégoriser les bugs selon leur criticité, qui impliquera un délai de résolution en conséquence.

Au niveau opérationnel, prévoyez l’utilisation d’un outil collaboratif, tant pour l’exécution des campagnes de tests que la remontée des bugs et des demandes d’évolution.

7. Veillez à votre sécurité contractuelle

Définissez les modalités de collaboration avec votre prestataire dans un contrat cadre auquel se réfèreront les commandes que vous lui passerez. Vous pouvez aussi y prévoir les modalités de maintenance.

sous-traitance-clauses-securite-contrat

Parmi les points à vérifier :

  • Assurez-vous que les clauses de limitation de responsabilité de votre prestataire ne sont pas excessives, avec au minimum une obligation de moyens renforcée. Cela signifie que votre prestataire ne peut être exonéré de sa responsabilité qu’en apportant la preuve positive de son absence de faute (force majeure, fait d’un tiers, problème lié à l’infrastructure matérielle ou logicielle du client… etc).
  • Vérifiez les clauses de confidentialité.
  • Vérifiez que le code source de l’application mobile sera la propriété de votre client, au moins dès lors que votre prestataire aura été payé.
  • Prévoyez les modalités de réversibilité en cas de changement de prestataire.
  • Vérifiez que votre prestataire s’engage au forfait et prévoyez les modalités de paiement à la commande, en cours de réalisation, à la livraison en pré-production et/ou en production.
  • Prévoyez une clause de non-concurrence qui empêche votre prestataire de démarcher vos clients et de travailler pour eux sur une juste période.
  • Définissez l’étendue de la garantie, les modalités de support, de maintenance corrective et évolutive des applications développées.

 

Vous souhaitez trouver un partenaire de confiance qui vous aidera à développer vos applications mobiles ? Contactez-nous dès maintenant pour discuter d’un éventuel partenariat.

Vous avez un projet ? Parlons-en !