Une application destinée au grand public qu’elle soit web ou mobile se doit d’atteindre un niveau d’excellence afin de se donner toutes les chances de réussite. Comment mettre toutes les chances de son côté ? Comment prendre en compte de nouvelles contraintes dans le cycle de conception et développement ?
Un trio gagnant
Mais quelles sont donc ces trois contraintes qu’il faut prendre en compte qui mènent à l’excellence d’une application ?
- Ergonomie : on y pense tous, c’est peut être le plus évident des trois. Par rapport aux utilisateurs du service, il faut s’assurer que l’ergonomie ne soit pas belle mais efficace et apporte la meilleure transformation.
- Performance : que penser d’un service dont les performances sont désastreuses. La performance est un sujet essentiel pour un service ouvert au public.
- Sécurité : c’est la « dark constraint ». Le service peut fonctionner sans avoir eu d’attention particulière sur la sécurité mais les conséquences peuvent être catastrophiques voire même fatales.
Ces contraintes sont incontournables pour la réussite d’un nouveau service destiné au grand public.
Une démarche dès la conception
Lors du développement d’une application, il est devenu indispensable de mettre en place un cycle de développement assurant une bonne qualité de code avec des outils d’intégration continue :
- Vérification à chaque validation de code
- Contrôle de la syntaxe, de la copie de code, de la complexité, …
- Exécution de tests unitaires : il vaut mieux trouver les bugs au plus tôt
- Tous ces contrôles par des outils OpenSource et exécutés très souvent
Mais au-delà de cette préoccupation sur la partie technique du développement, il faut prendre en compte ces contraintes énumérées depuis le début du cycle de conception.
- L’ergonomie peut avoir de l’influence sur la conception de l’architecture.
- La performance de l’application et du service influence directement l’architecture de la solution.
- La sécurité, c’est la même chose.
Si la volonté établit clairement le report à une phase ultérieure d’une de ces contraintes, c’est l’assurance de vivre des moments difficiles au décollage du service.
Quelques bonnes pratiques
Il est difficile de savoir si le public concerné par le service adhérera à l’ergonomie proposée. Il y a tellement de chapelles qu’au final, tout le monde a raison avant que les usagers s’expriment. Le plus important est donc de savoir écouter la pratique faite de l’application et d’avoir la capacité d’analyse et d’adaptation.
Conseil : Intégrer des traceurs à de nombreux endroits de l’applications pour identifier les emplacements et raisons d’abandon.
La demande en terme de sécurité n’est jamais plus précise que « Il faut une application sécurisée ». Répondre à cette contrainte peut être traité par une vue laxiste ou extrémiste. Il faut trouver le niveau qui correspond à ce que l’on a à protéger.
Conseil : Très vite traiter les cas standards (SQL Injection, Limite de saisie, Contrôle des imports, …). Veiller à protéger les données personnelles. Investir régulièrement dans toujours un peu plus de sécurité.
La performance est une question difficile. Comment savoir quel sera le trafic ? Tôt dans le cycle de conception, il faut se donner un objectif sur les investissements à consentir en fonction du trafic pour disposer d’une visibilité. Ce n’est pas la peine de développer « grand » quand on n’a pas encore atteint les paliers.
Un enrichissement culturel
En mode « Lean Startup », il n’est pas requis d’atteindre le niveau d’excellence sur ces contraintes dès la première release. Il est conseillé de faire évoluer le niveau de maturité de ces contraintes dans la solution au fur et à mesure que le projet progresse. La sécurité, la performance et l’ergonomie sont trois axes pour lesquels l’enrichissement de la culture doit être permanent. La veille continue est essentielle. Il faut également s’assurer pour ses contraintes, un maximum d’automatisation soit mis en oeuvre pour les tests et mesures. C’est ce qui fera à moyen terme que ces contraintes soient supportables.
L’excellence a un coût, il doit être adapté au contexte et il ne faut pas se tromper d’objectifs. Quand on parle d’une application (ou d’un service) destinée au grand public, il faut prendre en compte ces contraintes pour assurer l’adhésion. Une fois intégrée à la culture de l’équipe, ces contraintes seront transparentes.
Vous développez vos applications ou avez besoin de développer vos applications répondant à ces contraintes, contactez-moi pour que l’on détermine comment Pentalog peut vous permettre d’atteindre l’excellence.