Faut-il externaliser le développement de son application ? (Partie 2/2)

Vous le savez. FOLLOW SURG propose des outils connecté pour améliorer le suivi des patients opérés pour troubles de l’obésité. FOLLOW COACH en est un service complémentaire.

Nous avons d’abord choisi de faciliter l’organisation du parcours de soin (lourd et complexe) via le carnet de santé mobile. Ensuite, nous avons décidé de lever les freins au suivi, diététique et psychologique, en développant notre propre plateforme de consultation à distance.

S’est finalement présentée la question de la sédentarité, ou comment guider des patients fâchés avec l’activité physique vers un mode de vie plus actif. Pour diverses raisons, nous avons choisi d’externaliser le développement de ce projet. Capitalisant sur le succès de FOLLOW SURG, notre choix se portait naturellement sur le format « application mobile de santé ».

Voici l’histoire de FOLLOW COACH, ou comment réussir l’externalisation du développement de son application de santé mobile.

Quelles étapes et méthodologie pour concevoir son application ?

Les acteurs du projet 

Nous avons travaillé avec l’agence Sirup Lab pour le design et le développement, Benoît Drigny pour la direction artistique et Pixel de Lune pour la création des vidéos 3D d’exercices physiques

Après une phase de prototypage et de tests auprès d’un petit groupe de patient, à l’aide de maquettes (cf article 1/2), nous avons pu formaliser des spécifications fonctionnelles dans un cahier des charges avant de contacter Sirup Lab.

Etape 1 – Spécificités fonctionnelles et Workshop de design

Workshop est un terme anglais, traduisible par « Atelier collaboratif ». Ses objectifs:

  • Définir le workflow (« enchainement ; suite d’information ; processus … « ) d’utilisation de l’application 
  • Identifier les étapes clés et besoins qui en découlent :
    • Sur l’UX inApp : On-boarding, création de compte, IAP (In App-purchase), …
    • Sur l’UX du parcours de soins : quand et comment informer, assister ou rassurer le patient 
  • Quantifier le nombre d’écrans à designer et développer, et déterminer le niveau de complexité

A la suite des ateliers collaboratifs, les designers (Sirup Lab) réalisent ce qu’on appelle un « Design d’Interaction », un élément clé dans la réussite de tout projet numérique

Son objectif : « mettre au propre » le processus défini lors des Workshop, vérifier son enchaînement et l’interaction entre chaque écran. On utilise pour cela des outils de maquettage, et réalisons des tests en interne.  Validez le Design d’Interaction avant de décomposer le workflow, qui donnera lieu au découpage fonctionnel, lequel précise les spécifications fonctionnelles et techniques pour les développeurs.

Des lots de fonctionnalités sont définis sur la base du découpage fonctionnel, après concertation avec l’équipe de développeurs. Cela nous permet de planifier les sprints de développement et de conserver une vue d’ensemble des versions qui seront livrées au fur et à mesure du projet.

Etape 2 – Décider de son ambiance et définir la charte graphique

En parallèle des réflexions techniques, nous commencions à travailler avec Benoît Drigny (Directeur Artistique), pour créer la (superbe) charte graphique de FOLLOW COACH.

Un travail en plusieurs étapes, plutôt classiques:

  • Définition de l’ambiance souhaitée, en fonction de l’objectif de l’application,
  • Élaboration d’un mood board (échanges entre l’équipe projet (Follow Patient & Sirup Lab) et le D.A),
  • Proposition de plusieurs pistes pour le logos,
  • Validation d’un logo et d’une charte graphique,
  • Déclinaisons graphiques.

Une fois l’identité graphique validée, nous l’avons intégrée au design. Idem pour la création des contenus.

Pixel de Lune s’est chargé de réaliser les animations 3D des exercices physiques présents dans Follow Coach. Ceci en plusieurs étapes:

  • Définition du rendu (mouvements à illustrer, graphismes, etc),
  • Motion Captures (voire photo),
  • Application de la Motion Capture au modèle 3D choisi,
  • Ajustement en fonction de la DA

 

Les contenus ont ensuite été livrés aux développeurs afin qu’ils soient intégrés à la version définitive* de l’application. Si si, vous verrez que « version définitive » est un oxymore. 

Organisation et outils collaboratifs

Nous avons fait ce choix, sur tous nos projets, de travailler avec des entreprises et entrepreneurs locaux. La rencontre physique véhicule certaines émotions, ressentis, imperceptibles lors d’une visio-conférence. Ce « feeling » nous apparaît indispensable avant d’entamer toute forme de collaboration. 

En revanche, une fois le projet lancé, nous préférons, pour des raisons pratiques, utiliser des outils collaboratifs pour piloter le workflow de production et favoriser la circulation d’information à toute l’équipe.

Design d’interface : Figma

Les plus anciens ont utilisé Illustrator ou Photoshop pour réaliser leurs maquettes fonctionnelles. Loin d’être pratiques, ces outils ont laissé place à des logiciels spécialisés, comme Sketch ou XD (pour rester dans la suite Adobe) ayant les avantages suivants : peu coûteux, fluide et surtout permettant de maquetter et prototyper à la fois. 

Figma s’est ensuite présentée comme une alternative de type  » outil collaboratif « . Apprécié et utilisé par nos développeurs pour la conception et le design d’interface.

Figam est au design d’interface ce que Google Doc est au traitement de texte.

Communication : Slack

Est-ce vraiment nécessaire ? tout le monde connaît Slack. Si jamais : Slack centralise les flux de travail (informations, projets…) pour que vous gagniez en productivité. 

Développement : GitLab

Gitlab, c’est une plateforme permettant d’héberger et de gérer des projets web de A à Z en mode collaboratif. Un outil essentiellement utilisé par les développeurs.

Il s’est révélé particulièrement utile au moment de la recette, permettant de remonter les bugs rencontrés et de programmer les correctifs. 

Quelles technologies mobiles pour créer un premier produit ?

Native vs React Native vs … ? 

Ce peut être l’un ou l’autre. FOLLOW SURG et FOLLOW METRIOS sont développés en native. Nous avons fini par trancher : FOLLOW COACH sera Native ET react’ native…

Avant d’expliquer notre choix, prenons 2 minutes pour vous rappeler ce que signifie « native » et « react native » 

  • Une application native est une application développée spécifiquement pour un système d’exploitation (Android, iOs, …).
    Une application, développée à la fois pour iOs et Android,  est en réalité… deux applications, codées avec un langage de programmation différent.
  • Une application hybride est une application codée sous une seule version compatible à chaque système d’exploitation.

Le React Native est un framework d’applications mobiles open source, créé par Facebook. Il est utilisé pour développer des applications natives Android et iOS en utilisant une seule source de code Java Script

Ok… tout ça c’est bien chouette me direz-vous, mais ça ne vous indique pas quelle technologie choisir pour développer votre application chérie.

Avantages du native :

  • Utilisation des dernières fonctionnalités et innovations liés à chaque OS,
  • Permet des transitions complexes,
  • Fournit les supports des stores Google et Apple

Les technologies hybrides ont longtemps eu des impacts sur l’expérience utilisateur, du fait d’un accès difficile aux fonctionnalités des téléphones ou des stores (accéléromètre, caméra, localisation, achat in-app). Nous parlerons notamment des problèmes de rapidité et de fiabilité technique.

Avantages du React Native :

  • Une seule version du code (développement et maintenance plus rapide),
  • Des développeurs qui codent avec le même langage
  • Une interface native,
  • Le support de Facebook

Vous n’êtes pas dupes, la solution miracle n’existe pas et dépend évidemment de vos impératifs… Le React Native, bien que donnant lieu à un seul code source plutôt que 2 en native, ne présente pas non plus une durée/coût de développement deux fois moindre. Il reste tout de même moins coûteux.

Deux questions ont aiguillées notre choix : 

  • A court terme : quand dois-je sortir mon app ?
  • A long terme : quels volumes de maintenance ?

Il y a quelques temps, nous avions cette réflexion sur l’expérience utilisateur offerte par nos applications. En effet, pour des applications “grand public”, en opposition à des applications « métiers », qui évoluent souvent pour des questions d’UX, le Native permet de proposer une expérience fluides et fiables. L’expérience nous a montré que cette remarque est moins vrai avec le React Native.

Points de vigilance

Bien que le langage React Native permette d’accéder aux fonctionnalités propres à chaque système d’exploitation, gardez à l’esprit que l’intégration d’une même fonctionnalité, écrite sous 2 langages différents, peut être complexe. Exemple : nous avons eu (beaucoup) de difficultés à adapter la fonctionnalité d’achat in-app aux version iOs et Android, car les logiques et fonctionnement des stores sont différents.

Conclusion

Pour Follow Coach, nous avons fait ce choix d’externaliser le développement, la Direction artistique et la création de contenus, des raisons de budget notamment, mais surtout d’économie locale et de partage de compétences. Un choix motivé par des questions de temporalité (quand doit sortir mon app), de finance (quelle enveloppe pour le projet) et d’anticipation de la vie de l’application (maintenance et support). 

Nous avons donc fait le choix de travailler localement et d’aller chercher en dehors l’expertise que nous n’avions pas en interne. Nos méthodes et outils ont permis de piloter efficacement le projet. 

J’espère que ces deux articles vous auront transmis un peu de notre expérience, et éclairés sur les avantages et inconvénients d’externaliser vos projets de développements.

Maintenant il faut choisir, à vous de jouer !