Combien coûte la maintenance d’une application COBOL ?

Le coût de maintenance d’une application COBOL ne dépend pas seulement du nombre de lignes de code. Deux patrimoines de taille comparable peuvent demander des budgets très différents selon leur documentation, leurs dépendances, leur fréquence d’évolution et leur criticité métier.

Pour construire un budget utile, il faut donc partir du fonctionnement réel de l’application plutôt que d’un tarif journalier isolé. L’objectif est de distinguer ce qui relève du maintien en conditions opérationnelles, de la réduction des risques et de la préparation d’une éventuelle modernisation.

Les principaux facteurs de coût

La criticité de l’application

Une application qui participe à la facturation, aux paiements, à la gestion de contrats ou à un traitement réglementaire exige généralement davantage de contrôles. Les fenêtres d’intervention sont plus réduites, les tests plus complets et les procédures de retour arrière plus strictes.

Le coût augmente lorsque l’indisponibilité est difficilement acceptable ou lorsque les traitements batch doivent impérativement être terminés avant une heure précise.

La qualité de la documentation

Une documentation incomplète oblige les intervenants à reconstituer les règles métier, les dépendances et les flux avant de modifier le code. Cette phase de compréhension peut représenter une part importante du premier budget.

Il faut notamment vérifier l’existence et la fiabilité des éléments suivants :

  • cartographie des programmes et des traitements ;
  • description des fichiers, tables et interfaces ;
  • procédures d’exploitation ;
  • historique des incidents ;
  • jeux de tests et résultats attendus ;
  • règles métier réellement appliquées.

La remise à niveau de la documentation est une dépense initiale, mais elle réduit ensuite le coût et le risque de chaque évolution.

Le niveau de dépendance à quelques personnes

Lorsqu’une seule personne maîtrise encore une application, le risque opérationnel dépasse la question du tarif. Le budget doit inclure la capitalisation des connaissances, la documentation et la transmission à plusieurs membres de l’équipe.

Une maintenance peu coûteuse en apparence peut devenir très risquée si elle repose sur une compétence indisponible, proche d’un départ ou difficile à remplacer.

L’environnement technique

Le coût dépend aussi de l’écosystème : z/OS, Unix, Linux, ordonnanceur, bases de données, middleware, outils de développement et chaînes de déploiement.

Une application COBOL rarement isolée peut dépendre de JCL, CICS, DB2, MQ, fichiers plats, APIs ou programmes écrits dans d’autres langages. Chaque dépendance supplémentaire augmente l’effort d’analyse et de test.

Le volume et la nature des demandes

Il est utile de séparer quatre catégories :

  1. correction des incidents ;
  2. petites évolutions fonctionnelles ;
  3. changements réglementaires ou structurants ;
  4. réduction de dette technique.

Un historique de douze à vingt-quatre mois permet d’estimer la charge récurrente et d’identifier les composants qui génèrent le plus d’incidents.

Trois modèles de maintenance courants

Le renfort ponctuel

Ce modèle convient lorsqu’une équipe interne existe déjà mais manque temporairement de capacité ou d’une compétence précise. Le périmètre, la durée et les responsabilités doivent être clairement définis.

Il est adapté à une montée de version, une évolution réglementaire, un incident complexe ou une période de transition.

La TMA ou maintenance récurrente

La tierce maintenance applicative couvre un flux continu d’incidents, d’évolutions et de demandes d’assistance. Le budget est plus prévisible, mais il faut suivre des indicateurs de charge, de qualité et de délai.

Le dispositif doit préciser :

  • les horaires et niveaux de service ;
  • la procédure de qualification des demandes ;
  • les responsabilités de validation ;
  • les environnements concernés ;
  • les livrables attendus ;
  • les règles de réversibilité.

Le forfait de sécurisation initiale

Lorsqu’un patrimoine est mal connu, un audit court est souvent préférable à un engagement récurrent immédiat. Il permet de cartographier l’existant, d’identifier les risques et de construire un plan d’action priorisé.

Cette première étape limite les estimations arbitraires et aide à choisir entre maintenance, modernisation progressive ou migration.

Comment construire une estimation réaliste

Une estimation peut être structurée en cinq blocs :

  1. prise de connaissance : accès, cartographie, dépendances et documentation ;
  2. socle récurrent : support, incidents et petites évolutions ;
  3. travaux prioritaires : composants instables, sécurité, performance ou obsolescence ;
  4. qualité : tests, documentation et automatisation ;
  5. réversibilité : transfert de compétences et maintien de l’autonomie du client.

Chaque bloc doit être associé à des hypothèses vérifiables. Une fourchette est plus honnête qu’un montant unique tant que les dépendances et la qualité du patrimoine n’ont pas été examinées.

Les coûts cachés à surveiller

Le tarif de la prestation n’est qu’une partie du coût total. Il faut également considérer :

  • les incidents de production et leurs conséquences métier ;
  • le temps passé par les experts internes à expliquer l’existant ;
  • les traitements batch trop longs ;
  • les corrections répétées sur les mêmes composants ;
  • l’absence de tests automatisés ;
  • les licences et environnements devenus inutiles ;
  • le délai nécessaire pour intégrer un nouvel intervenant.

Réduire ces coûts cachés peut produire davantage de valeur qu’une simple négociation du tarif journalier.

Maintenance ou modernisation ?

La maintenance reste pertinente lorsque l’application est stable, correctement maîtrisée et alignée avec les besoins métier. Une modernisation devient plus intéressante lorsque les évolutions sont trop lentes, les interfaces difficiles à maintenir ou la dépendance aux compétences trop importante.

Les deux démarches ne sont pas opposées. Une maintenance bien organisée peut sécuriser l’application tout en préparant progressivement son découplage, son exposition par APIs ou la modernisation de certains composants.

Pour comparer les trajectoires, consultez les pages maintenance COBOL, modernisation COBOL et migration COBOL.

Les informations à préparer avant de consulter un expert

Un premier échange sera plus utile si vous disposez des éléments suivants :

  • environnement technique et version des composants ;
  • nombre approximatif de programmes et de traitements ;
  • applications et équipes dépendantes ;
  • principaux incidents des derniers mois ;
  • fréquence des mises en production ;
  • documentation et tests disponibles ;
  • échéance ou événement déclencheur ;
  • objectif prioritaire : continuité, coût, performance ou modernisation.

La checklist d’audit COBOL permet de préparer cette collecte.

Obtenir un premier cadrage

Un budget fiable commence par un périmètre et des risques clairement identifiés. Le diagnostic COBOL de 30 minutes permet de présenter votre environnement, votre échéance et vos contraintes afin de déterminer la prochaine étape utile.

L’échange ne remplace pas un audit technique, mais il permet de savoir quelles informations réunir et quel niveau d’analyse prévoir avant tout engagement.