BAM

4 conseils pour optimiser les coûts de développement de votre application mobile en étant Lean

La première question que nous posent nos clients avant de commencer un projet digital est : "Combien cela coûte, quand cela sera délivré et qu'est-ce que j'aurais à la fin ?".

Que vous soyez chef de projet digital d'un grand groupe, CTO d'une PME ou entrepreneur, c'est une question que vous vous poserez certainement avant de vous lancer dans le développement de votre application. Cette question est tout à fait légitime, et c'est sans doute celle que l'on se pose à chaque fois qu'on projette un investissement, quel qu'il soit. On peut y répondre en listant de mLa première question que nous posent nos clients avant de commencer un projet digital est : "Combien cela coûte, quand cela sera délivré et qu'est-ce que j'aurais à la fin ?".

Que vous soyez chef de projet digital d'un grand groupe, CTO d'une PME ou entrepreneur, c'est une question que vous vous poserez certainement avant de vous lancer dans le développement de votre application. Cette question est tout à fait légitime, et c'est sans doute celle que l'on se pose à chaque fois qu'on projette un investissement, quel qu'il soit. On peut y répondre en listant de manière non-exhaustive les coûts liés à une application mobile :

  • Les équipes de développement dédiées à chacune des plateformes iOS et Android (deux technologies différentes)
  • Le time-to-market : le temps où on n'est pas encore sur le marché, et pendant lequel on ne gagne pas d'argent
  • Le coût d'évolution dû à une inadéquation du produit avec le marché
  • Le marketing
  • L'hébergement
  • La maintenance de l'application

Les trois premiers coûts auront un impact déterminant sur votre budget. Voici 4 conseils, inspirés de la méthodologie Lean, qui vous permettront d'optimiser ces coûts et maximiser votre retour sur investissement, quel que soit l'équipe avec laquelle vous travaillerez.

 

Commencez petit, par le Minimum Viable Product (MVP)

Selon une étude du Standish Group menée auprès de plus de 50 000 projets, 52% font face à de nombreux challenges et 19% échouent complètement. Et le premier facteur d'échec mentionné par les managers est l'absence de données utilisateurs. En effet, l'erreur la plus fréquente commise par les équipes de développement est celle de s'enfermer pendant des mois pour développer la première version de leur produit sans le montrer à leurs utilisateurs potentiels. Lorsqu'ils le montrent enfin, ils se rendent compte que le produit ne correspond pas aux attentes du marché.

Commencer petit, par un MVP (Minimum Viable Product), vous permet d'éviter cet écueil, et d'économiser beaucoup de temps et d'argent. La première chose que vous voulez savoir quand vous développez une application est si elle répond à un problème dont souffrent des utilisateurs potentiels. Le but d'un MVP est de mettre en production très vite une première version de votre produit pour vous permettre d'apprendre des retours de vos utilisateurs et ainsi de l'améliorer. Le MVP n'est pas une "application minimale", ni l'application avec toutes les fonctionnalités mais développées à moitié. Il doit avoir LA fonctionnalité, qui ne répond pas parfaitement au problème, mais permet d'apprendre ce dont a besoin le marché. C'est ça qui va permettre de confirmer ou d'infirmer vos hypothèses.

 

Mettez en production toutes les semaines

Un projet mobile est un projet complexe : d'innombrables facteurs d'ordre technologiques mais également business ou opérationnels peuvent avoir un impact sur les développements. Afin de maximiser la rapidité des développements, il faut s'assurer en amont du projet que le cadre de travail permet aux développeurs de minimiser les frictions tout au long du processus de production, de l'expression du besoin jusqu'à la mise en production de la fonctionnalité :

  • En s'assurant que l'équipe dispose de l'ensemble de l'infrastructure nécessaire dès le jour 1 du projet : serveurs de tests, environnements de pré-production et production, identiques à la production en termes de configuration et de données
  • En incluant toutes les dépendances extérieures au sein d'un plateau projet intégré composé :
  • des experts métiers exprimant le besoin
  • de l'équipe de développement
  • des ops (administrateurs système)
  • de toute personne ayant les droits et accès aux données sur tous les environnements
  • de la compliance et la sécurité
  • En mettant l'application en production chaque semaine (sur les stores)

Chez BAM, pour lever les dépendances extérieures à l'équipe de développement, qui sont la première source de ralentissement d'un projet mobile, nous effectuons un "challenge technique". Cette mission de deux jours a lieu avant le début des développements a pour objet de pousser une fonctionnalité définie par le métier jusqu'à la production. Le but est de mettre au jour tous les obstacles que peut rencontrer un développeur pour produire une fonctionnalité. Ainsi, l'équipe peut prendre les actions nécessaires pour lever ces dépendances avant le début des développements et assurer un processus de production sans friction, à vélocité maximale !

 

Évitez le gaspillage, investissez dans le natif cross-plateforme

Le marché du mobile est très fragmenté, avec une diversité de smartphones et tablettes aux résolutions et tailles d'écran différentes infinie, et des systèmes opérateurs différents (iOS, Android, Windows, etc.). Développer une application pour ces différents appareils demandent du temps, notamment pour tester que l'application s'affiche bien quelque soit le type d'écrans. La développer en natif requiert la connaissance des langages spécifiques à chacune des plateformes (Java pour Android, Swift ou Objective-C pour iOS) ainsi que le développement de deux bases de code différentes à faire évoluer et à maintenir par deux équipes aux compétences différentes.

Développer son application mobile avec des technologies multiplateformes, comme React Native ou Flutter, permet d'obtenir une seule base de code à l'origine des applications déployées sur iOS et Android. Avoir une seule base de code vous permet de réduire les coûts d'évolution et de maintenance de votre application puisque cela ne requiert plus de suivre les bugs sur une large base de code ni deux équipes différentes pour chacune des plateformes. De plus, les compétences JavaScript requises par le développement cross-plateforme sont nettement plus abondantes sur le marché que les compétences en Java ou Objective-C. Gartner prédisait déjà en 2013 que 50% des applications mobiles seraient hybrides en 2016.

 

Réduisez vos coûts de développement, pas ceux de vos développeurs

Beaucoup d'entreprises choisissent de réduire leurs coûts de développement en recrutant des équipes de développement offshore, car leurs devis apparaissent nettement moins cher. Le taux horaire pour un développement offshore low-cost peut être divisé par dix par rapport à une équipe de développement aux Etats-Unis ou en Europe. Néanmoins, ces équipes compensent souvent par du volume, en prenant plusieurs projets en même temps, ce qui entraîne généralement un dépassement de délais. L'économie réalisée sera donc vite compensée par un coût plus élevé pour maintenir et faire évoluer une application d'une qualité peu fiable. Le coût pour mettre à jour l'application au niveau des standards de développement actuels et la maintenir et faire évoluer par la suite aura un impact déterminant sur votre budget.

Par ailleurs, assurez-vous que l'équipe de développement avec laquelle vous travaillez vous offre la visibilité nécessaire et suffisante pour piloter votre projet. Certaines équipes demandent un cahier des charges en début de projet et ne montrent le produit qu'à l'occasion d'une ou deux démonstrations sur l'ensemble du projet qui peut durer plusieurs mois. Or, les retours de vos utilisateurs, vos nouvelles idées et l'évolution de votre environnement business vous amèneront à prendre régulièrement de nouvelles décisions. Les spécifications en seront forcément impactées. Travailler en collaboration avec votre équipe de développement en vous permettant de faire évoluer le produit au fur et à mesure des développements vous permet d'éviter des allers-retours en fin de projet coûteux en temps et en ressources, et parfois même en argent, car ils sont comptabilisés comme "hors scope". Un bon standard est de visualiser quotidiennement l'avancée du produit en validant chaque jour les fonctionnalités développées.

 

En commençant par un produit simple, votre MVP, avec une équipe que vous pilotez et qui vous donne de la visibilité, vous limiterez votre facture tout en réduisant les chances d'échouer sur votre marché. Ces quatre conseils vous assureront d'obtenir une application fonctionnelle et évolutive avec un time-to-market réduit, qui in-fine, sera bénéfique pour votre budget !

 

Vous avez un projet de développement ? Venez nous en parler !

anière non-exhaustive les coûts liés à une application mobile :

  • Les équipes de développement dédiées à chacune des plateformes iOS et Android (deux technologies différentes)
  • Le time-to-market : le temps où on n'est pas encore sur le marché, et pendant lequel on ne gagne pas d'argent
  • Le coût d'évolution dû à une inadéquation du produit avec le marché
  • Le marketing
  • L'hébergement
  • La maintenance de l'application

Les trois premiers coûts auront un impact déterminant sur votre budget. Voici 4 conseils, inspirés de la méthodologie Lean, qui vous permettront d'optimiser ces coûts et maximiser votre retour sur investissement, quel que soit l'équipe avec laquelle vous travaillerez.

 

Commencez petit, par le MVP

Selon une étude du Standish Group menée auprès de plus de 50 000 projets, 52% font face à de nombreux challenges et 19% échouent complètement. Et le premier facteur d'échec mentionné par les managers est l'absence de données utilisateurs. En effet, l'erreur la plus fréquente commise par les équipes de développement est celle de s'enfermer pendant des mois pour développer la première version de leur produit sans le montrer à leurs utilisateurs potentiels. Lorsqu'ils le montrent enfin, ils se rendent compte que le produit ne correspond pas aux attentes du marché.

Commencer petit, par un MVP (Minimum Viable Product), vous permet d'éviter cet écueil, et d'économiser beaucoup de temps et d'argent. La première chose que vous voulez savoir quand vous développez une application est si elle répond à un problème dont souffrent des utilisateurs potentiels. Le but d'un MVP est de mettre en production très vite une première version de votre produit pour vous permettre d'apprendre des retours de vos utilisateurs et ainsi de l'améliorer. Le MVP n'est pas une "application minimale", ni l'application avec toutes les fonctionnalités mais développées à moitié. Il doit avoir LA fonctionnalité, qui ne répond pas parfaitement au problème, mais permet d'apprendre ce dont a besoin le marché. C'est ça qui va permettre de confirmer ou d'infirmer vos hypothèses.

 

Réduisez les risques, créez un plateau projet et mettez en production toutes les semaines

Un projet mobile est un projet complexe : d'innombrables facteurs d'ordre technologiques mais également business ou opérationnels peuvent avoir un impact sur les développements. Afin de maximiser la rapidité des développements, il faut s'assurer en amont du projet que le cadre de travail permet aux développeurs de minimiser les frictions tout au long du processus de production, de l'expression du besoin jusqu'à la mise en production de la fonctionnalité :

  • En s'assurant que l'équipe dispose de l'ensemble de l'infrastructure nécessaire dès le jour 1 du projet : serveurs de tests, environnements de pré-production et production, identiques à la production en termes de configuration et de données
  • En incluant toutes les dépendances extérieures au sein d'un plateau projet intégré composé :
  • des experts métiers exprimant le besoin
  • de l'équipe de développement
  • des ops (administrateurs système)
  • de toute personne ayant les droits et accès aux données sur tous les environnements
  • de la compliance et la sécurité
  • En mettant l'application en production chaque semaine (sur les stores)

Chez BAM, pour lever les dépendances extérieures à l'équipe de développement, qui sont la première source de ralentissement d'un projet mobile, nous effectuons un "challenge technique". Cette mission de deux jours a lieu avant le début des développements a pour objet de pousser une fonctionnalité définie par le métier jusqu'à la production. Le but est de mettre au jour tous les obstacles que peut rencontrer un développeur pour produire une fonctionnalité. Ainsi, l'équipe peut prendre les actions nécessaires pour lever ces dépendances avant le début des développements et assurer un processus de production sans friction, à vélocité maximale !

 

Évitez le gaspillage, investissez dans le natif cross-plateforme

Le marché du mobile est très fragmenté, avec une diversité de smartphones et tablettes aux résolutions et tailles d'écran différentes infinie, et des systèmes opérateurs différents (iOS, Android, Windows, etc.). Développer une application pour ces différents appareils demandent du temps, notamment pour tester que l'application s'affiche bien quelque soit le type d'écrans. La développer en natif requiert la connaissance des langages spécifiques à chacune des plateformes (Java pour Android, Swift ou Objective-C pour iOS) ainsi que le développement de deux bases de code différentes à faire évoluer et à maintenir par deux équipes aux compétences différentes.

Développer son application mobile avec des technologies multiplateformes, comme React Native ou Ionic, permet d'obtenir une seule base de code à l'origine des applications déployées sur iOS et Android. Avoir une seule base de code vous permet de réduire les coûts d'évolution et de maintenance de votre application puisque cela ne requiert plus de suivre les bugs sur une large base de code ni deux équipes différentes pour chacune des plateformes. De plus, les compétences JavaScript requises par le développement cross-plateforme sont nettement plus abondantes sur le marché que les compétences en Java ou Objective-C. Gartner prédisait déjà en 2013 que 50% des applications mobiles seraient hybrides en 2016.

 

Réduisez vos coûts de développement, pas ceux de vos développeurs

Beaucoup d'entreprises choisissent de réduire leurs coûts de développement en recrutant des équipes de développement offshore, car leurs devis apparaissent nettement moins cher. Le taux horaire pour un développement offshore low-cost peut être divisé par dix par rapport à une équipe de développement aux Etats-Unis ou en Europe. Néanmoins, ces équipes compensent souvent par du volume, en prenant plusieurs projets en même temps, ce qui entraîne généralement un dépassement de délais. L'économie réalisée sera donc vite compensée par un coût plus élevé pour maintenir et faire évoluer une application d'une qualité peu fiable. Le coût pour mettre à jour l'application au niveau des standards de développement actuels et la maintenir et faire évoluer par la suite aura un impact déterminant sur votre budget.

Par ailleurs, assurez-vous que l'équipe de développement avec laquelle vous travaillez vous offre la visibilité nécessaire et suffisante pour piloter votre projet. Certaines équipes demandent un cahier des charges en début de projet et ne montrent le produit qu'à l'occasion d'une ou deux démonstrations sur l'ensemble du projet qui peut durer plusieurs mois. Or, les retours de vos utilisateurs, vos nouvelles idées et l'évolution de votre environnement business vous amèneront à prendre régulièrement de nouvelles décisions. Les spécifications en seront forcément impactées. Travailler en collaboration avec votre équipe de développement en vous permettant de faire évoluer le produit au fur et à mesure des développements vous permet d'éviter des allers-retours en fin de projet coûteux en temps et en ressources, et parfois même en argent, car ils sont comptabilisés comme "hors scope". Un bon standard est de visualiser quotidiennement l'avancée du produit en validant chaque jour les fonctionnalités développées.

 

En commençant par un produit simple, votre MVP, avec une équipe que vous pilotez et qui vous donne de la visibilité, vous limiterez votre facture tout en réduisant les chances d'échouer sur votre marché. Ces quatre conseils vous assureront d'obtenir une application fonctionnelle et évolutive avec un time-to-market réduit, qui in-fine, sera bénéfique pour votre budget !

 

Vous avez un projet de développement ? Venez nous en parler !

Développeur mobile ?

Rejoins nos équipes