Développement d'application web métier : 7 raisons pour lesquelles votre projet va échouer

Publié le 16 juillet 2019 par Nicolas Mérouze | application web

Cet article est publié sous licence CC BY-NC-SA

Moins d’un tiers des projets d’applications se terminent dans les temps et sans dépasser le budget. C’est une statistique à laquelle il faut faire face et être réaliste à son sujet.

Ce n’est qu’en étant conscient de cette réalité que l’on va être capable de mettre en place une bonne gestion des risques.

Cela va se faire en 4 étapes :

  • Identifier les risques qui pourraient vous faire manquer les objectifs de votre projet
  • Déterminer les risques les plus importants
  • Prendre en compte les risques les plus dangereux dans la planification
  • Maintenir le cap du projet et identifier les risques en continu

Pour pouvoir au mieux suivre ce plan, il va falloir comprendre où peuvent apparaître les risques et comment s’en prémunir, et ainsi assurer la réussite de votre projet d'application web.

Les risques liés au développement d'applications web métier

Spécification incomplète du périmètre

Le cahier des charges et la spécification fonctionnelle sont des éléments importants pour la réussite de vos projets. Ce n’est pas une nouvelle.

Mais si ces documents sont incomplets, les trous devront être comblés. Il faut veiller à ce que l’ajout d’éléments ne soit pas fait dans l’urgence.

L’urgence ne fait que créer plus de trous et le périmètre du projet aura tendance à dériver. Et plus le périmètre dérive, plus votre projet a de chances d’échouer.

Prenez le temps de la réflexion pour que la spécification du périmètre soit la plus complète possible. Et si jamais elle ne l’est pas, prenez le temps de la compléter.

Priorisation à l’instinct

Un périmètre sous contrôle ne peut arriver qu’avec des décisions basées sur de la recherche.

Vous n’avez probablement pas l’expertise du métier. Le faire à l’instinct est comme jouer à pile ou face. Mais ce n’est pas tout. L’instinct du responsable du métier n’est pas forcément meilleure.

Les utilisateurs vont utiliser l’application tous les jours. C’est eux qui ont des problèmes à résoudre. Car une application c’est cela, un moyen de résoudre les problèmes (de productivité par exemple) des utilisateurs.

Il est donc primordial d’interviewer les utilisateurs finaux. Ce n’est que comme ça que vous comprendrez ce qui est important ou pas. C’est la base de la recherche utilisateur. Avec les données récoltées, il devient aisé de trouver les bonnes priorités et de définir un périmètre qui ne débordera pas.

Télécharger le guide ultime pour réussir votre application web métier

Ressources humaines

Sans un bon processus de recrutement, un bon onboarding ou une bonne culture, l’équipe technique ne sera pas capable de réaliser l’application web.

Recruter une équipe technique est une tâche ardue. Les excellents profils sont rares et chers. Mais une bonne équipe n’est pas seulement constituée d’excellents développeurs, elle est variée.

L’entente entre les membres de l’équipe n’est pas forcément simple et créer une culture du partage et de la collaboration est importante. La bonne humeur est un amplificateur de productivité !

De plus, il faudra s’assurer que chaque nouveau membre de l’équipe s’adapte bien. Par exemple, un bon onboarding est essentiel pour le rendre opérationnel rapidement.

Gestion du code sans processus

Utiliser un système de contrôle de version pour le code n’est que la première étape pour une collaboration efficace de l’équipe sur le code. D’autres améliorations doivent être apportées :

  • Faire des revues de code va permettre de détecter des erreurs et de contrôler que les bonnes pratiques soient utilisées
  • Avoir des branches de code séparées pour chaque version
  • Utiliser les pratiques DevOps comme l'intégration continue pour exécuter les tests automatisés à chaque changement du code

Pas de tests automatisés

La meilleure manière de perdre du temps à trouver des bugs est de ne pas avoir de tests automatisés.

L’écriture de ces tests sont fréquemment ignorés ou sont fait à la hâte. L’argument souvent avancé est le manque de temps de les écrire. Mais le temps perdu, ou plutôt investi, à les écrire est du temps gagné sur la maintenance dans le futur.

De plus, il faut écrire des tests pérennes. 100% de couverture de code ne veut pas dire que tous les cas d’usages de toutes les fonctions de l’application sont correctement couverts. Il est donc important de veiller à écrire des tests garantissant l’identification de problèmes futurs.

Monitoring absent ou incomplet

Prenons par exemple un problème de base de données. Votre application est en production et tout va bien mais plus il y a de données plus l’application est lente. Mais cette lenteur est subtile au début et pas vraiment perceptible.

Sans monitoring, l’identification du problème va intervenir seulement quand il a pris une ampleur telle que les utilisateurs ont de sérieux problèmes à utiliser l’application.

L’application est devenue trop lente et les changements du schéma de la base de données vont demander une charge de travail bien plus importante que si le problème avait été identifié plus tôt.

Identifier de manière proactive les risques permet de garder une meilleure satisfaction utilisateur et de faire face aux problèmes rencontrés avant qu’ils ne prennent une importance telle que le temps de résolution a augmenté exponentiellement.

Oublier les bugs et la montée en charge dans le budget

Ces problèmes que vous pouvez rencontrer comme dans l’exemple précédent sont fréquents. Rien n’est parfait.

La mise en production ne signe pas la fin du projet. Des bugs ont pu passer outre l’assurance qualité. Et les problèmes de performances n’arrivent souvent qu’une fois que les utilisateurs réels commencent à utiliser l’application.

Cette maintenance post-production est critique pour la réussite du projet. Il est donc très important de ne pas l’oublier dans le budget.

Elle représente entre 10 et 25% du budget. Ce n’est pas une petite dépense. Et ne pas avoir de budget pour corriger un bug bloquant pour que l’application soit réellement utilisable pourra faire échouer votre projet.

Conclusion

En conclusion, les raisons pour lesquelles votre projet peut échouer sont nombreuses.

Il faut être conscient de ces problèmes et mettre en place une stratégie pour les avoir sous contrôle tout au long de la vie de votre projet.


L'équipe Synbioz
Libres d'être ensemble.

Télécharger le guide ultime pour réussir votre application web métier