fond desktop

La maintenance logicielle, c’est quoi ?

La maintenance logicielle, c’est tout simplement le fait de s’assurer qu’une application fonctionne conformément à ce qu’on attend d’elle à un instant T, et dans la durée ! Souvent, quand on conçoit un logiciel, on ne pense pas à sa maintenance; et pourtant, c’est 80% du boulot et des budgets dédiés au logiciel ! Comment ça se fait, pourquoi s’en préoccuper et quels sont nos conseils pour bien maintenir vos logiciels ?
decoration

La maintenance logicielle, quels sont les enjeux ?

En fait, il faut voir votre logiciel comme une maison. C'est bien connu, quand on achète une maison, on y met toutes ses économies. Le budget est ric-rac, mais c'est le rêve… alors, on fonce ! Puis, on s'aperçoit que la belle maison a un léger problème aux fenêtres, une petite fuite sur le toit, et très rapidement, elle devient un gouffre financier.

L'informatique peut clairement se rapprocher de cette image si on ne fait pas attention à ce qu'on fait ! Alors pour s'assurer que tout est toujours en place, il faut avoir des personnes qualifiées avec une excellente connaissance du terrain, et qui sont capables d'intervenir rapidement en cas de problème (maintenance corrective). Et puis comme tout évolue, on aime aussi de temps à autre pouvoir l'agrandir ou changer les meubles tout en gardant la structure initiale (maintenance évolutive) ! Enfin, c'est parfois utile de réparer le toit quand il fait beau et d'avoir toujours un coup d'avance pour s'éviter des problèmes futurs (maintenance préventive).

Bref, on va stopper ici la métaphore, mais vous l'aurez compris : la maintenance est un accumulation de petites choses qui font qu'à la longue, elle coûte souvent plus cher que le build initial. Et c'est tout à fait NORMAL dans le cycle de vie d'un logiciel sur-mesure !

La maintenance logicielle, qu'est-ce que ça comprend ?

Concrètement, la maintenance logiciel comprend 3 blocs complémentaires :

  • Maintenance corrective : elle couvre la correction des bugs en production et assure que vous ayez toujours une personne qui a la connaissance sur votre logiciel. La maintenance corrective est généralement régie par des SLAs (engagements de temps de prise en compte des incidents, et de résolution).
  • Maintenance évolutive : elle permet de réaliser des évolutions sur le logiciel, et donc de le faire grandir en fonction de votre actualité et de vos besoins. Ce peut être le développement de nouvelles fonctionnalités métiers, des adaptations réglementaires, des intégrations d'API, des améliorations techniques, etc.
  • Maintenance préventive : c'est ici qu'on s'évite bien des problèmes ! L'idée est de prévenir des potentiels problèmes techniques qui pourraient survenir. La maintenance prétentive comprend à la fois la vérification et l'anticipation des évolutions des frameworks/librairies (montées de version), les vérifications sur les bases de données ou encore l'analyse régulière des logs remontés dans les outils de monitoring.

Comment réussir la maintenance logiciel ? 5 points essentiels !

On ne sera ici pas tous d'accord, mais avec de nombreuses années d'expérience dans la maintenance logicielle à Lyon, on a eu le temps de se faire un avis sur les points essentiels pour réussir la maintenance de son logiciel ! Voici donc 5 points importants à nos yeux.

Garder la mémoire du projet vivante, et en interne

On pourrait croire que quelques documentations font l'affaire dans les projets IT. Mais honnêtement, peu de gens les lisent et encore moins les mettent à jour régulièrement. Ce qui compte vraiment, c'est la mémoire vivante : celle qui se partage entre les équipes, et qui perdure dans le temps. Dans le cas où vous externalisez la maintenance logicielle à un prestataire externe (TMATierce Maintenance Applicative), on vous conseille de bien garder la connaissance métier en interne. C'est ce qui fait la valeur du logiciel, de votre métier, alors conservez là bien en tout temps.

Avoir une équipe stable et techniquement solide

Ce deuxième point est dans la continuité du précédent :) Avoir une équipe stable dans le temps, même si ça devient un luxe de nos jours, c'est vraiment le top ! Plus l'équipe connait le projet sur le bout des doigts, plus elle ira vite (que ce soit sur les développements, les choix techniques ou les propositions de valeur supplémentaires), et donc, plus vous y gagnerez côté budget !

Réduire le nombre de technologies (langages, frameworks, librairies)

La règle est simple: plus le projet est complexe techniquement, plus il sera difficile à maintenir ! Trop de technos, et le moindre bug sera compliqué à identifier et à résoudre. Il vous faudra donc une palette de compétences techniques très variées au sein des équipes de développement. Alors, keep it simple et utile, que ce soit au niveau des technos et des fonctionnalités d'ailleurs :)

Faire régulièrement les montées de versions

Pour éviter la dette technique et s'éviter des problèmes plus tard sur le logiciel, on vous conseille de faire les montées de versions des technos/frameworks progressivement. Mieux vaut faire un petit peu chaque année que de laisser la dette s'accumuler. Devoir monter d'un seul coup plusieurs versions d'affilée peut être vraiment compliqué et couteux, voir parfois impossible si on attend trop longtemps…

Communiquer en toute transparence

Dernier point et non des moindre: communiquez et soyez honnêtes ! On le sait, certains bugs peuvent parfois avoir des impacts très négatifs, et provoquer quelques émois. Que ce soit côté DSILa DSI est la direction des systèmes d'informations d'une organisation., utilisateurs, métiers, techniques, tout le monde est dans le même bateau ! Alors lorsqu'on traverse une tempête, c'est là que la communication prend tout son sens, et qu'on reconnait les bonnes équipes :)

Internaliser ou externaliser la maintenance de vos logiciels à Lyon ?

On a parlé précédemment d'équipes internes ou externes pour la maintenance de vos logiciels. En toute honnêteté, il n'y a pas de bonne ou de mauvaise solution. Internaliser ou externaliser la maintenance logiciel dépend essentiellement de votre stratégie !

En bref :

  • Si vous avez déjà une bonne équipe de techs en interne qui a la bande passante pour traiter à la fois les corrections et les évolutions de votre SI, et que tout roule, continuez comme ça !
  • Si vous avez déjà une équipe de techs en interne mais qu'elle est vampirisée par les corrections et manque de temps pour avancer sur les nouveaux projets, ça peut être une bonne stratégie de les soulager en confiant la TMA à un prestataire externe, et garder en interne les builds ou les grosses évolutions !
  • Si vous n'avez pas d'équipe de techs en interne : on vous conseille d'externaliser, c'est le plus simple. Vous pourrez ainsi vous concentrer sur votre coeur de métier et simplement orchestrer le prestataire de maintenance qui a les compétences techs nécessaires, et pourra s'occuper de la gestion des développeurs ! Parce que oui, on n'en a pas parlé, mais manager une équipe de développeurs ce n'est pas forcément le plus simple lorsqu'on a pas de leader technique qui connait le métier en interne.

Externaliser la maintenance logicielle à Lyon : comment choisir son prestataire ?

Si vous faites le choix de l'externalisation de la maintenance de vos logiciels, et que c'est la première fois que vous le faites, c'est possible que vous soyez un peu perdu pour faire votre choix parmi la multitude de prestataires qui existent. Quelques conseils objectifs pour choisir votre prestataire de maintenance logiciel :

  • Sentiment de confiance : avoir confiance en son prestataire, c'est le point le plus important ! Vous lui confiez tout de même une partie importante de votre SI, il faut donc que vous ayez envie de travailler avec l'équipe et que vous la sentiez bien. Multipliez les échanges avec le prestataire pour vous en assurer.
  • Une bonne maitrise technique : assurez-vous que le prestataire maitrise bien les technologies de votre logiciel. Ce peut se faire via des questions techniques, ou des demandes de références.
  • Une taille de prestataire / d'équipe similaire à la vôtre : on se comprend souvent mieux côté organisationnel lorsqu'on a des process/mindset similaires.

Maintenance logicielle à Lyon, un prestataire à taille humaine pour vous aider ?

Si vous vous posez la question d'externaliser votre maintenance logicielle à Lyon, notre équipe AXOPEN peut être une bonne réponse ! Le mieux c'est de nous contacter directement pour en parler, mais pour vous donner un aperçu, voici ce qu'on propose pour maintenir les logiciels de nos clients :

  • Audit d'applications (Java, Springboot, .NET, Symfony, Angular, React, etc. )
  • Maintenance d'applications web
  • Maintenance d'applications mobile
  • Accompagnement à la mise en place du DevOps
  • Accompagnement à la réduction de la dette technique
  • Etc.
Nos Références clients