Suivez-nous sur
Facebook icon
Twitter icon

Blog > L'héritage COBOL : un défi pour la formation continue ?

Alors que le COBOL représente encore 70% des traitements transactionnels et que les « Cobolistes » (ou programmeurs COBOL) partent à la retraite, que faire des 200 milliards de ligne de code historique ? 

Créé à la fin des années 1950, et bien qu’ayant évolué sous diverses versions durant plus de cinquante ans, le COBOL est toujours en activité et fait tourner près de 70% des systèmes transactionnels (80% selon IBM). Mais en cinquante ans, le monde informatique a bien changé. Nos smartphones et autres tablettes sont bien plus puissants que les mainframes des années 50. Le Cloud permet aujourd’hui, virtuellement, un stockage et un traitement des données illimités alors que le domaine du logiciel a évolué vers des évènements asynchrones, des flux Big Data, des architectures de services distribués, des agents intelligents…

Pourtant, ces programmes en langage COBOL tournent encore. Selon IBM, des applications critiques écrites il y a une cinquantaine d’années fonctionnent toujours sur leurs mainframes (notamment les séries Z et I). Ces systèmes, dont le secteur des banques et assurances est particulièrement friand, continuent de fonctionner parfaitement. 80% des 13.000 modules de chez P&V Assurances (dont 90% des 120 développeurs sont des « Cobolistes ») sont écrits en COBOL.


Figure 1. Average American interacts with COBOL (source Micro Focus)

Oui, peut-être, mais on perçoit directement deux problèmes. Le premier touche la pénurie de spécialistes. Les compétences se font de plus en plus rares. Les derniers programmeurs partent à la retraite et le langage historique n’attire plus les nouvelles générations d’informaticiens baignés dans l’internet et le mobile.

Le second problème réside dans le vieillissement de ces programmes. Environ 90 % du code COBOL encore en circulation datent des années 1970 à 1990. Au fil du temps, ce code a été optimisé et réglé à la main pour s’adapter aux évolutions des mainframes. Or, à l’heure actuelle, peu de personnes sont encore capables de comprendre comment ce code fonctionne, pourquoi tel algorithme est utilisé ou pourquoi l’exécution prend tel chemin et pas un autre.  

 


Figure 2 . IBM S/360, le premier Mainframe a aujourd’hui plus de 50 ans.


Figure 3 . Carte perforée à 80 colonnes en code IBM à 12 lignes.

Une modernisation de ces « programmes hérités » (legacy software) est urgente pour diverses raisons : la difficulté d’intégration avec les environnements existants ; l’apparition de nouveaux business qui réclament de l’agilité et de la flexibilité ; le coût de maintenance qui devient supérieur à celui de la modernisation ;  la difficulté à exploiter les technologies modernes (mobile, Cloud, Big Data, social…) ; le support des éditeurs qui disparaît ; et, last but not least, une pénurie de compétences.

Pénurie annoncée de professionnels intéressés et qualifiés

Le code d’aujourd’hui a beaucoup évolué et s’est adapté au fil du temps. En 2017 et 2018, deux études de TIOBE et PYPL révèlent que COBOL ne figure plus dans le Top 20 des langages de programmation les plus populaires, alors même que ce langage a profondément infiltré toute l’entreprise. Au cours des 30 dernières années, de nouveaux langages et approches ont rendu relativement obsolète la poursuite du développement des langages de programmation historiques.

Nous l’avons dit, comme la programmation des mainframes a commencé sérieusement dans les années 70 et 80, les programmeurs à l’origine des milliards de lignes de code sont majoritairement à la retraite. Les plus jeunes des baby-boomers vont très bientôt prendre la leur. Comme les programmeurs de la jeune génération ne se forment pas à ces langages, il faut s’attendre (si ce n’est déjà le cas…) à une pénurie imminente de professionnels qualifiés pour s’occuper des applications mainframes.


Figure 4. Sources : Microbus, Gartner, Laserfiche (2016).

Et pour corser encore le problème, le code source d’origine, les études et la documentation sont souvent introuvables. Or, ils sont nécessaires pour apporter des modifications aux applications. Par conséquent, les entreprises en viennent à ne plus comprendre leurs systèmes historiques. Avec la disparition progressive des connaissances institutionnelles des plus anciens, la maintenance de tels programmes informatiques sera de plus en plus difficile et il s’avérera tout simplement impossible de les moderniser pour qu’ils puissent supporter de nouvelles opportunités commerciales. Pour les très grandes entreprises dont le fonctionnement dépend entièrement d’applications vieilles de plusieurs décennies, cette impossibilité de maintenance et d’amélioration pourrait bien être fatale.

Mais alors, que faire ? Et si on profitait du cinquantenaire du mainframe pour secouer de nouveau le cocotier ? Comment ? En informant les jeunes des opportunités et du potentiel d’emplois existants et surtout, en agissant pour installer dans le paysage de la formation continue un dispositif pérenne impliquant entreprises pourvoyeuses de main-d’œuvre et opérateurs de formations.

 

 

Pour en savoir plus :