Objectif : Bien gérer le cycle de vie des applications
La maintenance applicative consiste à pourvoir au bon fonctionnement d'une application. L'objectif principal est de corriger et de faire évoluer les applications pour maintenir un haut niveau de qualité, de disponibilité et répondre aux besoins évolutifs des métiers.
La maintenance applicative peut être effectuée en interne, par vos équipes de développement, ou en externe, par un prestataire, on parlera alors de tierce maintenance applicative (TMA) dans le jargon du monde de l’IT.
Chez AXOPEN, nous sommes spécialisés dans la maintenance des applications web métiers, à haute valeur pour les utilisateurs, avec un réel objectif de durabilité !
Outils de gestion
Applications de gestion : commercial, comptable, RH, chaîne de production, ERP, etc.
Interfaces d'administration
Back-offices permettant la gestion et le paramétrage des applications.
API de services web
Services web emportant la logique métier, et utilisables par d’autres applications du SI.
Les grandes formes classiques de maintenance applicative web métier sont les suivantes :
Maintenance préventive
Évaluation des impacts et des risques liés à des montées de version de technologies, anticipation des montées en charge, etc.
Maintenance corrective
Résolution des anomalies qui surviennent lors de l’exploitation de l’application, et assurer la disponibilité de l’application pour les utilisateurs
Maintenance évolutive
Réalisation des évolutions métiers (fonctionnelles) et techniques de l’application
En fonction des contextes applicatifs, vous pouvez avoir besoin d’un type de maintenance ou d’un autre, et surtout, vous avez besoin d’avoir un dispositif de maintenance adapté au réel, à l’application, à ses usages et ses perspectives !
A notre sens, il existe autant de contrats de maintenance, que d’applications !
On ne mettra pas en place le même dispositif pour maintenir une application web métier clé servant à l’édition de factures utilisée quotidiennement par 100 personnes, que sur une application évènementielle utilisée une fois par mois par 10 000 personnes !
Aussi, en fonction de la nature, des enjeux de l’applicatif et des objectifs d’évolution moyen/long terme associés, il faut construire un dispositif de maintenance applicative adapté et bien taillé à la réalité terrain.
Aussi, il nous parait essentiel de se poser quelques questions :
Quel est le niveau de criticité de mon application ?
Combien d’utilisateurs ? Quelles sont les horaires d’utilisation ? Les utilisations sont-elles simultanées ? Y’a-t-il des pics de charge connus ?
Des montées de charge sont-elles prévues ?
Ai-je déjà de la dette technique ?
Quelles sont les perspectives d’évolution de l’application ?
Est-ce une application stratégique pour l’entreprise ?
Etc...
TMA
Externaliser la maintenance de son application web est une pratique assez courante, notamment lorsque les entreprises n’ont pas les ressources, ou la volonté de gérer ce sujet en interne.
A notre sens, confier la maintenance de ses applications web à un prestataire a 3 intérêts majeurs :
Une connaissance pointilleuse de l’application et de son architecture
Si possible, nous organisons un passage de connaissances avec des utilisateurs métiers et/ou l’équipe qui a développé l’application, pour gagner en temps de compréhension de l’application et en résolution de bugs.
Garder le patrimoine applicatif à l’état de l’art
Pour sécuriser l’avenir de l’application, c’est essentiel de maintenir l’application à jour, et donc d’investir toujours un peu pour la faire évoluer.
Une bonne réactivité et adaptabilité
Essentiellement lorsque des anomalies bloquantes sont relevées, il faut savoir aller vite et bien, que ce soit dans la compréhension du problème, que dans sa résolution !
Une réelle expertise technique
Lorsqu’on corrige un bug ou qu’on pousse une évolution en production, il y a potentiellement des impacts sur d’autres parties de l’applicatif. C’est essentiel d’anticiper les effets de ses actions, et de prendre du recul.
Une bonne communication et proximité
Il faut se parler ! Au-delà de la simple remontée de bugs, il est nécessaire de se prendre des temps de recul pour analyser et suivre la maintenance à un plus haut niveau.
Un bon système de monitoring et d’observabilité
Que l’on suit et qui nous permet d’avoir une vision claire et les bonnes alertes au bon moment sur les problèmes qui pourraient survenir.
Forts de notre expérience en développement web sur-mesure, nous sommes habitués à gérer la maintenance des applications web que nous avons développé, mais également, la TMA d’applications codées par d’autres équipes. Aussi, nous pouvons intervenir sur les univers techniques suivants :
Nous pouvons également prendre en charge la maintenance pour les applications mobiles : iOS, Android ou Cross-platform.
6 étapes essentielles
Étape #1
Afin d’évaluer le périmètre de l’applicatif, et de valider la capacité de notre équipe à en assurer sa maintenance, nous réalisons un premier audit flash. Pendant une demi-journée, l’application est passée au crible par un de nos experts qui vous adresse ensuite ses conclusions.
Étape #2
Sur la base de notre évaluation de code, du type de maintenance souhaité (préventive, corrective, évolutive) et des SLAs souhaitées, nous construisons une proposition de maintenance sur-mesure.
Ce périmètre de maintenance est piloté et suivi tout au long de notre collaboration, et est amené à être ré-adapté en fonction de la réalité terrain.
Étape #3
La tierce maintenance applicative web à Lyon est réalisée depuis nos locaux, par une petite équipe dédiée, composée a minima d’un chef de projet, et de 2 développeurs qualifiés sur le sujet, pour assurer un backup en cas de congés ou indisponibilité.
Étape #4
Le but du transfert de connaissances est de pouvoir intégrer dans les équipes AXOPEN, les spécificités métiers et techniques des différentes briques applicatives utilisées.
La phase de reprise de la connaissance est organisée en amont avec vos équipes ou votre ancien prestataire lorsque c'est possible.
La durée de cette phase de passation de connaissances dépend essentiellement de la taille, de la complexité de l'application, du nombre de technologies et de la disponibilité des interlocuteurs sur le sujet.
Étape #5
Après la phase de reprise de connaissances, la maintenance applicative peut commencer ! Après avoir pluggé un monitoring de l’applicatif pour les remontées d’alerte, nous vous mettons en place un espace dédié généralement sous l’outil Gitlab, vous permettant de :
Gérer et suivre les remontées et les corrections des anomalies
Contacter directement les développeurs qui travaillent sur votre projet
Ouvrir des tickets d’évolution et demander des évaluations
Retrouver l'intégralité du code source de vos applications
De cette manière, vous avez accès de manière transparente et en permanence à l’état d’évolution de vos tickets !
Étape #6
Afin de gérer et d’optimiser la maintenance de l’application, des comités mensuels ou trimestriels sont organisés. C’est l’occasion de faire le point sur les développements réalisés, et d’avoir une visualisation clarifiée de la suite.