Le développement d'une application comporte de nombreuses variables qu'il faut comprendre et contrôler pour maîtriser son budget :
- Toutes les étapes du développement
- Complexité des fonctionnalités
- Les nombreux profils de l'équipe de développement
- Dépenses après la mise en production
Cet article se concentre sur le budget d'une PWA, une application web fonctionnant aussi bien sur les mobiles que sur les ordinateurs de bureau. Mais les conseils donnés s'appliquent aussi très bien aux applications natives.
"Comment réussir votre application web métier"
Estimation du coût pour plusieurs types d'applications
Voici les prix pour différentes applications. A noter que ces montants sont uniquement pour la réalisation d'un MVP, une première version basique, et que si vous avez des besoins spéciaux, le prix sera supérieur.
- Marketplace/Ecommerce (Airbnb, Amazon) : entre 30,000€ et 40,000€
- Software-as-a-Service (Slack, Jira, Zendesk) : entre 40,000€ et 60,000€
- Outils internes (ERP, CRM, RH) : entre 10,000€ et 40,000€
Prix d'une application web : qu'est-ce qui est inclus dans le développement ?
Premièrement, avant de débuter le développement de l'application, il vous faudra un cahier des charges ou alors organiser des ateliers fonctionnels pour être sûr que toutes les personnes impliquées dans votre projet comprennent exactement tout ce qui doit être réalisé.
Puis vient le développement incluant les étapes suivantes :
- Responsive design. Le design est nécessaire pour débuter le développement. Il faut pouvoir avoir un design de l'interface graphique pour l'implémenter ensuite. De nos jours, il est commun de vouloir une application web pouvant être utilisée sur des smartphones ou des tablettes, il faut donc créer un design qui s'adapte à tous les écrans. C'est ce qu'on appelle le responsive design.
- Programmation du frontend et implémentation du design avec HTML et CSS. Le design va ensuite pouvoir être implémenté ainsi que toutes les interactions entre les composants de l'interface graphiques et les utilisateurs.
- Programmation du backend. Le backend inclut toute la logique métier. De nombreuses technologies peuvent être choisies pour sa réalisation.
- Tests automatisés. Ces tests ont pour but de réduire les bugs, erreurs, et comportements non conformes de manières automatiques sans devoir tout re-tester manuellement à chaque changement de code.
- Tests d'acceptance manuels. Mais cela n'empêche pas de devoir faire des tests manuels pour vérifier que l'application web fonctionne comme elle a été définie dans le cahier des charges ou durant les ateliers fonctionnels.
- Infrastructure d'hébergement. Une dernière chose qui peut être incluse dans le développement est l'hébergement web. Une application web utilise un certain nombre de librairies, base de données et applications tierces qu'il faut configurer sur les serveurs web. De plus, il faut mettre en place des systèmes de monitoring pour les cas où il y aurait des problèmes en production.
La complexité des fonctionnalités
Alors qu'il faut bien avoir en tête tout ce qui est inclus dans le développement d'une application web, la complexité des fonctionnalités va avoir un effet important sur le budget de votre projet. On ne parle pas ici d'un site vitrine, une application web est bien plus complexe.
Voici des fonctionnalités couramment demandées pour des applications métier.
- Authentification et sécurité. La gestion des utilisateurs, des autorisations et de la sécurité est quelque chose qui est nécessaire dans la quasi-totalité des applications.
- Processus en arrière-plan. Certaines tâches demandent plusieurs secondes à être exécutées. Par exemple des calculs complexes, des algorithmes, ou des manipulations de larges fichiers.
- Analyse de données. Tout comme les processus en arrière-plan, l'analyse demande souvent des calculs longs mais aussi une interface utilisateur complexe.
- Formulaires complexes. Des formulaires en plusieurs étapes, avec de nombreux états en fonction des choix réalisés par les utilisateurs ou même des formulaires avec de nombreux champs (plusieurs dizaines) vont demander plus de temps de développement que les autres formulaires.
- Recherche. Là aussi, une recherche simple est rapide à implémenter mais l'ajout de nombreuses règles, bien que nécessaire à une recherche efficace, sera bien plus complexe à implémenter.
- Collaboration en temps réel. De plus en plus d'applications à destination du grand public gèrent la collaboration en temps réel. C'est donc une chose que les utilisateurs se sont habitués à avoir et en redemandent. Mais c'est souvent très chronophage à implémenter.
Il faut donc bien avoir en tête que toutes les fonctionnalités souhaitées ne vont pas forcément tenir dans le budget alloué.
Pour se prémunir de cela, il faudra veiller à découper le projet en plusieurs versions avec la première contenant les fonctionnalités les plus importantes. Dans ce cas il sera plus simple quand vous recevrez les estimations de développeurs ou les devis d'agences de savoir ce qui peut être fait dans le budget et ce qui est hors budget.
De nombreux profils dans l'équipe de développement
Comme le développement n'inclut pas seulement de la programmation, il n'y a pas seulement des développeurs dans l'équipe. Et en fonction de l'équipe que l'on veut construire par rapport au projet, les coûts peuvent être très différents.
- Designers. Ils vont être chargés du design et peuvent aussi être amenés à faire l'implémentation du design en HTML et CSS.
- Développeurs. Comme on l'a vu précédemment, il y a deux parties différentes pour la programmation : frontend et backend. Ces deux parties demandent des compétences différentes et sont souvent dans des langages de programmation différents. On distingue donc les développeurs frontend des développeurs backend. Mais certains développeurs peuvent se charger de faire les deux parties et on les appelle des développeurs full-stack.
- Testeurs (QA). La partie des tests est souvent répartie entre tous les membres de l'équipe mais à partir d'une certaine taille il est recommandé d'avoir un ingénieur QA à plein temps.
- Chefs de projet. Un chef de projet est nécessaire pour garantir la bonne santé du développement. Il sera responsable de traduire vos besoins pour les développeurs et les designers.
Pour chacun des rôles, les compétences des candidats vont être très variées et construire une équipe cohésive peut devenir un casse-tête. De plus, l'écart de salaire peut être important en fonction de la séniorité. En France, il y a un écart de 50% ou plus entre un développeur junior et un sénior.
C'est pour cela que prendre une agence est un choix que beaucoup d'entreprises font. Une agence typiquement a une large variété de profils et elle pourra constituer une équipe qui répondra aux besoins de votre projet bien plus rapidement que vous ne pourrez le faire vous-même.
Choisir une agence dans des pays où les salaires sont moins importants est tentante. Mais dans les faits beaucoup d'obstacles existent en cas de problèmes. Vous ne savez absolument pas qui fait quoi et comment. De plus, les problèmes légaux seront plus compliqués à résoudre.
Dépenses après la mise en production
Ce n'est pas parce que la mise en production a été réalisée et que l'application web fonctionne qu'il n'y a plus de dépenses. Avant tout, il faut penser aux dépenses pour l'hébergement.
De plus, une application n'est jamais terminée. D'un côté, même en passant beaucoup de temps sur les tests il y aura des bugs que personne n'aura détecté. La maintenance est une dépense qu'il faut prévoir et qui est entre 10% et 25% du budget initial. Et de l'autre côté, il y a les fonctionnalités qui n'ont pas pu être mises dans le développement initial pour pouvoir respecter le budget sur lesquelles il va maintenant falloir s'atteler.
Conclusion
Vous donner un coût précis est impossible. Comme nous l'avons vu tout au long de l'article, il y a de très nombreux facteurs qui rentrent dans le calcul du prix d'une application web.
Il est néanmoins nécessaire de bien connaître tous ces critères pour ne pas dépasser son budget.
C'est avec cette connaissance que vous serez à même de prendre les bons choix pour réussir votre projet d'application web tout en maîtriser son coût.
L'équipe Synbioz.
Libres d'être ensemble.