La check-list « Concevoir le cahier des charges de mon app » : cliquez ici !

Quelle équipe idéale pour mettre en œuvre votre projet d’application mobile Métier ?

12.Oct.21

Les projets de développement d’application mobile sont des projets informatiques bien particuliers : ils mettent en œuvre des compétences spécifiques, des méthodologies et des outils dédiés.

C’est une des raisons pour lesquelles beaucoup d’entreprises sous-traitent ce type de développement auprès d’un prestataire spécialisé. Une autre raison motivant l’externalisation d’un tel projet est le manque de temps de l’équipe de développement interne qui se concentre généralement sur les applications Métier ou sur les webservices (qui permettent la communication entre l’application mobile cliente et le serveur ou le back-office).

Il est donc opportun, lorsque vous vous lancez dans un projet de développement mobile, de vous poser en tout premier lieu la question suivante : « Disposons-nous en interne des ressources ou des compétences nécessaires ? Et si oui, sont-elles disponibles dans le délai imparti au projet ? »

Mais, justement, de quelle expertise parlons-nous exactement ? Quels sont les différents métiers impliqués dans le développement d’une application mobile Métier ? Quel est le rôle des différents acteurs concernés ? Et quelles compétences doivent-ils avoir ?

Bref, de qui est composée l’équipe idéale grâce à laquelle votre projet de développement d’application mobile sera mené dans les meilleures conditions ?

Le chef de projet ou scrum master : un rôle clé pour animer l’équipe et fluidifier la communication

Le rôle du chef de projet dans le cadre d’un projet de développement d’application mobile est d’animer et de faciliter le travail de l’équipe de développement, de gérer les aspects administratifs si besoin et d’être l’interlocuteur exclusif du client. En tant que « chef d’orchestre », il assure ainsi la mise en musique du projet en s’assurant qu’il n’y a pas de « fausses notes » lors de la phase de développement, c’est-à-dire que tous les membres de l’équipe (Développeurs, Designers, Testeurs) connaissent bien leur partition.

D’ailleurs, en matière de développement d’application mobile, on parle plutôt de « scrum master » plutôt que de chef de projet, car la plupart des équipes (c’est le cas chez InfleXsys) adoptent une démarche Agile*. En effet, dans ce type de projet, il est contre-productif de s’appuyer sur les méthodes de développement classiques (en V ou en Cascade) : les méthodes Agile ont l’avantage de réduire les cycles de développement, d’impliquer les utilisateurs en cours de développement et d’inclure les tests pendant le processus.

Le scrum master a donc pour mission de :

  • préciser en amont du développement le « backlog » de l’application, c’est-à-dire la liste priorisée de toutes les fonctionnalités (on parle de « user stories ») à développer ;
  • découper ce backlog en « sprints » de développement, chaque sprint regroupant un ensemble de « user stories » et correspondant à une portion « viable » de l’application ;
  • animer des réunions quotidiennes (ou « scrums ») durant lesquelles chaque membre de l’équipe précise ce qu’il a fait la veille, les éventuelles difficultés qu’il a rencontrées et ce qu’il va faire dans la journée ;
  • présenter la version de fin de sprint de l’application mobile au client ;
  • négocier avec le client, s’il fait des demandes de changement en cours de sprint ou de projet.

Chez InfleXsys, le scrum master participe aussi aux phases avant-vente, il aide les prospects à exprimer leurs besoins et mène une réflexion avec les équipes internes pour trouver les solutions adéquates ; enfin, il estime la charge de travail et établit le planning.

Afin d’être efficace dans les missions qui lui incombent, le scrum master doit donc : savoir orienter le client et réaliser un chiffrage pertinent de l’a future application mobile ; disposer de compétences en Agilité ; comprendre les problématiques rencontrées par les développeurs ; et avoir des compétences en communication et en animation d’équipe.

Des UX et UI Designers pour concevoir une expérience utilisateur fluide et inclusive

Au sein de l’équipe de développement de votre application mobile Métier, les UX et UI Designers ont pour mission de concevoir :

  • une interface utilisateur (UI ou User Interface) agréable à utiliser sur différents formats (smartphone, tablette, objets connectés) : cela concerne la mise en page des écrans, le choix des couleurs, la création des illustrations, le design des boutons, etc.
  • un parcours utilisateur intuitif, c’est-à-dire offrant une expérience utilisateur (UX ou User eXperience) en accord avec la cible et les besoins identifiés.

En s’appuyant sur leur solide connaissance de l’usage mobile, les UX et UI Designers…

  • interviennent en amont du développement de l’application mobile pour aider les utilisateurs à préciser leurs besoins et leurs priorités. Pour cela, ils s’appuient sur des méthodologies et des outils permettant d’intégrer les futurs utilisateurs dans la réflexion dès la définition des besoins (entretiens, ateliers, observations sur le terrain…) ; et de formuler des préconisations tenant compte du contexte métier et des contraintes du projet (techniques, planning, ressources, budget) ;
  • collaborent avec les autres membres de l’équipe pour leur fournir les éléments graphiques nécessaires, puis vérifier l’adéquation des développements avec les usages Métier.

Pour mener à bien leur mission, les UX et UI Designers maîtrisent les outils de conception et de prototypage (Adobe XD, Figma, Sketch, Invision…), ainsi que les méthodologies de recherche UX.

Les développeurs mobiles : des experts… souvent spécialisés dans un environnement de développement

Selon que vous opterez pour une application native, hybride ou encore cross-platform, l’équipe de développement devra maitriser des outils et langages différents :

  • Android Studio, Java ou Kotlin pour une application mobile native sous Android ;
  • xCode, Swift ou Objective-C pour une appli native sous iOS ;
  • Javascript, HTML ou CSS ainsi qu’un framework (Ionic, Cordova, Capacitor…) pour une application hybride ;
  • Appcelerator, Titanium, Xamarin, React Native, Fluter ou Kotlin multi plateforme pour une application cross-platform.

L’équipe idéale pour votre projet devra donc disposer de compétences bien spécifiques au développement d’applications mobiles. S’il est relativement facile de trouver sur le marché des développeurs capables de coder une application hybride (puisqu’il s’agit de langages de développement Web), il n’en est pas de même sur d’autres techno plus récentes ou spécifiques. De plus, si vous optez pour une application native, il est important de préciser qu’en général, les développeurs natifs maitrisent l’un ou l’autre des environnements Android ou iOS, mais moins couramment les deux.

Par ailleurs, à ces compétences techniques, le développeur mobile doit ajouter :

  • la capacité à adopter les meilleures pratiques de codages ;
  • à travailler en collaboration avec les autres membres de l’équipe (chef de projet, autres développeurs, testeurs, designers) ;
  • et à se tenir au courant des évolutions technologiques.
  • Il doit également être en mesure d’intervenir depuis la conception de l’application mobile jusqu’à sa mise en production, et prendre en charge sa maintenance ainsi que ses évolutions.

Une équipe de testeurs qualifiés, garants de la qualité de votre application mobile

Si les développeurs ont un rôle important à jouer dans la qualité du code (ils doivent suivre des normes d’écriture et tester leur code pour vérifier qu’il fonctionne), cela ne remplace pas le travail de testeurs, spécialistes de ce métier.

En dehors des aspects fonctionnels, les tests concernent aussi l’installation, la performance, la connexion, la montée en charge du serveur ou du réseau, l’ergonomie, la mémoire, la sécurité et le bon fonctionnement de l’application sur différents équipements (smartphone, tablette, etc.).

Il existe plusieurs types de tests (unitaires, d’intégration, de non régression) et plusieurs façons de tester (tests automatisés, manuels scénarisés ou manuels exploratoires). Tout cela nécessite une connaissance des méthodes appropriées, de mettre en place les outils spécifiques de suivi et de reporting (tels que Jira), de disposer du matériel nécessaire (terminaux mobiles, serveur), d’être rigoureux… et d’avoir de bonnes capacités de communication avec l’équipe de développement.

L’enjeu ultime étant la satisfaction des utilisateurs finaux, le rôle du service Qualité au sein de l’équipe de développement est essentiel dans un projet de développement d’application mobile.

En résumé

Disposer d’une équipe compétente dans chacun des métiers concernés conditionne donc la réussite de votre projet de développement d’application mobile.

Si vous souhaitez internaliser le projet, disposez-vous de ces compétences en interne, et sont-elles disponibles dans le délai imparti à votre projet ? A contrario, en cas d’externalisation, disposer de la liste des compétences nécessaires à la mise en œuvre de votre projet vous aidera à choisir le prestataire idéal.

Dans ce cas, il est important de rechercher un partenaire qui sera en mesure de s’approprier les aspects Métier de votre secteur d’activité et qui vous accompagnera tout au long du cycle de vie de l’application et de ses évolutions.

Vous souhaitez réagir ou en savoir plus ?
On vous offre un café et, en bonus, la check-list de votre cahier des charges, pour ne rien oublier.
Vous êtes partant(e) ?