C’est un point régulièrement abordé lorsque l’on rencontre un nouveau client ou que l’on répond à un appel d’offres : comment s’assurer que la solution développée sur-mesure pourra évoluer dans le temps ?
Voici cinq conseils qui vous permettrons d’envisager une application réellement évolutive!
1 – Ne développer que les fonctionnalités vraiment utiles
La mise en place de bonnes pratiques de développement permet de faciliter la maintenance des applications en ayant un code organisé, structuré, qui respecte des conventions d’écriture. Il est toujours possible d’améliorer son code, de réaliser une refonte vers une technologie plus pérenne, etc …
Malgré cela, il faut garder une chose en tête : la fonctionnalité la plus simple à maintenir est celle qui n’a pas été développée. C’est un fait, plus un logiciel contient de code et de fonctionnalités, plus il est compliqué de le faire évoluer simplement et rapidement.
Il faut toujours bien évaluer l’apport d’une nouvelle fonctionnalité avant de la développer. Est-ce qu’elle complexifie l’application ? Est-ce qu’elle est réellement utile ? Est-elle nécessaire maintenant ?
2 – Limiter les profils utilisateurs
L’un des grands points de complexité d’une application est souvent lié à la gestion des utilisateurs. On a souvent tendance à vouloir reproduire dans les applications les contraintes fixées par l’organisation de l’entreprise (services, niveau hiérarchique).
A chaque nouveau profil correspond une nouvelle manière d’appréhender l’application, ce qui nécessite donc de tester l’application avec ce nouveau rôle (en complément des tests effectués avec les rôles préexistants). Essayez de limiter le nombre de profils utilisateursdisponibles et ne garder que les profils réellement importants.
Autre point, si deux profils ont des périmètres complètement différents, c’est qu’ils ont besoin de deux applications différentes. Concrètement, si l’administrateur a accès à des fonctionnalités qui lui sont propres, invisible des autres profils, dans ce cas il faut séparer ce code du reste du projet en développant un Back Office dédié aux tâches d’administration.
3 – N’ayez pas peur de supprimer des fonctionnalités
Avancer c’est faire des choix. Et si vous souhaitez garder le rythme sur la longueur il va falloir supprimer ! Le cas le plus criant concerne la maintenance d’une multitude de version de navigateur web. A vouloir supporter la dernière version de Safari pour l’iPhoneX tout en maintenant une compatibilité Internet Explorer 8, l’expérience utilisateur est moins bonne partout et le code est plus complexe.
Pour gérer ça, il faut mesurer l’utilisation des fonctionnalités grâce à un outil d’analytics (google analytics, mixpanel, …). Si une fonctionnalité n’est plus utilisée, supprimez là. Si une nouvelle fonctionnalité vient en remplacement d’une ancienne, prévoyez un plan pour supprimer l’ancienne fonctionnalité.
4 – Choisir des technologies open source reconnues
Il n’y a pas de secret, pour garantir la pérennité du projet il faut que les technologies utilisées soient également pérennes (mais pas dépassées). Quelques points d’attention pour choisir un projet Open Source :
- Vérifier la taille de la communauté ;
- De quand date la dernière mise à jour ?
- Y’a t’il une roadmap pour la suite ?
- Quelle est la licence ?
5 – Maintenir l’application régulièrement
Dernier point, et souvent celui que l’on oublie.
Si l’on ne veut pas devoir jeter tout le code dans cinq ans, il faut le bichonner régulièrement. C’est-à-dire ouvrir le projet, mettre à jour les bibliothèques tierces, vérifier les logs, corriger les quelques bugs qui ont pu être découverts pendant son utilisation, etc …
Bref traiter son application comme quelque chose de vivant et non pas comme un livre sur une étagère.