ÉTUDE DE CAS – Depuis quelques années, Loto-Québec cherchait à migrer la toute dernière de ses applications tournant sous ordinateur central. Utilisée pour la gestion des loteries passives et instantanées, cette application – appelée ALEX – forçait l’organisation à conserver un environnement mainframe, ce qui occasionnait d’importantes dépenses d’entretien et freinait son évolution technologique.
En janvier 2011, Loto-Québec lance un appel d’offres en vue de choisir une entreprise capable de l’épauler dans ce projet. « Notre expertise interne comprend le développement d’applications, mais nous n’avions alors aucune expérience en matière de migration de cette envergure », mentionne Jean-Luc Péloquin, directeur du développement des systèmes chez Loto-Québec.
Continuité fonctionnelle
Écrite en PL/1, ALEX devait être convertie dans le langage commun à la plupart des autres applications de l’organisation, c’est-à-dire Java. « Nous recherchions une firme d’expérience en conversion pouvant nous aider d’un bout à l’autre du projet », dit M. Péloquin.
Pour Loto-Québec, il était très important que les fonctionnalités de l’ancien environnement restent exactement les mêmes dans le nouveau. Ainsi, l’entreprise ne cherchait pas à obtenir une valeur ajoutée en ce qui a trait aux fonctions, mais souhaitait réduire les risques inhérents à la conversion, en plus des coûts d’entretien.
Le travail consistait donc à assurer une continuité fonctionnelle, ainsi que des performances adéquates et la stabilité de l’application. Il faut comprendre qu’un système comme ALEX, utilisé depuis une trentaine d’années, ne comptait pratiquement plus d’anomalies. Il était donc primordial de ne pas compromettre son bon fonctionnement. En d’autres mots, il s’agissait de livrer un système nouveau, mais mature.
Sur cette base et en fonction de critères relatifs à l’expertise et aux coûts, Loto-Québec choisit AXON Intégration & développement comme partenaire et lui demande de réaliser une preuve de concept. Entamée à l’été 2011, cette dernière démontre rapidement la faisabilité du projet, ce qui permet de lancer officiellement le travail de migration dès l’automne.
Un début difficile
Comme dans bien des projets, plusieurs obstacles se sont présentés en cours de route. À l’été 2012, force est de constater que l’avancement du projet ne rejoignait pas ce qui avait été prévu, et surtout que le délai visé pour l’automne 2012 ne pourrait être respecté.
Les traitements en différé, le séquenceur de travaux, la régression entre les différentes livraisons et quelques autres surprises nécessitent alors un revirement. Il n’était définitivement pas envisageable de tout tester à nouveau manuellement, ce qui a provoqué un changement de stratégie et une nouvelle planification.
Utilisation d’un outil d’automatisation des tests
Comme la plupart des solutions de migration sont conçues pour convertir les applications COBOL en Java, il a fallu d’abord transformer le code PL/1 en COBOL.
« Nous n’avons ainsi pu obtenir le plus beau code Java que l’on pouvait espérer », souligne Jean-Luc Péloquin. Cette particularité, combinée au fait que la migration comportait plusieurs lignes de code et de modules, a complexifié le travail. En fait, ce projet d’envergure comportait quelque 500 000 lignes de code, 390 modules et la conversion de bases de données IDMS en bases relationnelles.
Pour le mener à bien, AXON a fait équipe avec la firme internationale Blue Phoenix, dont le siège social est à Seattle et qui se spécialise en migration. La stratégie de l’équipe reposait sur l’utilisation des outils de conversion automatisée de Blue Phoenix.
Dans la stratégie révisée, il est proposé d’utiliser un outil d’automatisation des tests créé par AXON. Ce dernier a servi à orchestrer l’ensemble du travail associé à l’automatisation des tests et à l’assurance qualité de l’application, en fonction des résultats attendus, fournis par Loto-Québec.
Cette façon de faire assure que les tests pertinents sont effectués et qu’au bout du processus, l’application atteint la qualité recherchée. Elle permet de mesurer la progression des travaux selon le pourcentage de l’application ayant été testée avec succès, et non pas en fonction du nombre de modules terminés – dont on ne peut être certain qu’ils sont exempts d’anomalies. Dans cette optique, les tests de régression sont répétés jusqu’à ce qu’aucun bogue ne soit plus détecté.
Devant les résultats positifs de cette approche, l’échéancier est révisé pour l’été 2013 et tous sont confiants d’y arriver.
« L’outil d’automatisation mis en place afin de faciliter la réalisation des nombreux tests de régression, combiné à l’implication de ressources de Loto-Québec dans les essais, constituent les principaux facteurs de succès du projet, estime Jean-Luc Péloquin. L’utilisation de cet outil a permis d’obtenir une application de plus grande qualité. »
Résultats au-delà des attentes
Dans toutes les phases de la migration, une collaboration étroite de la part du client a été nécessaire, car c’est lui qui détenait l’essentiel de l’expertise relative au fonctionnement du système. Une réunion a été tenue chaque semaine afin de lui faire part de l’avancement des travaux. En somme, Loto-Québec s’est beaucoup investie dans cette migration, d’autant plus qu’en parallèle, l’entreprise devait gérer le retrait de l’ordinateur central et l’abandon de cette technologie.
L’application a été livrée de bout en bout au printemps 2013, après plus de 18 mois de travail. La phase des tests d’acceptation a démarré peu après et les résultats ont révélé un très petit nombre d’anomalies. « En mode production, il y a eu très peu d’incidents, et la stabilité de l’application a dépassé nos espérances », indique M. Péloquin. Nous pouvons donc conclure au succès du projet. »
Grâce à l’élimination des coûts de maintenance de l’ordinateur central, Loto-Québec économise une somme substantielle de plusieurs centaines de milliers de dollars par année. Comme elle dispose déjà d’un bassin de compétences en Java, cette migration facilite la mise sur pied de nouveaux projets et l’évolution technologique de l’organisation. Autre point positif, les interfaces utilisateurs sont restées exactement les mêmes qu’auparavant, de sorte qu’il n’a pas été nécessaire de donner une formation particulière aux utilisateurs. Ceux-ci se montrent d’ailleurs très satisfaits de ce nouvel environnement.
Malgré l’importance de la tâche et les difficultés qui caractérisent inévitablement ce type de projet, Loto-Québec se réjouit des résultats obtenus. L’entreprise souhaite ainsi utiliser cette méthode dans le cadre d’autres projets. « Il s’agit d’une philosophie à laquelle nous adhérions déjà, explique Jean-Luc Péloquin. Nous comptons donc le faire de plus en plus. »
En nombre croissant, les entreprises font le même constat que Loto-Québec : parce quelle permet de connaître en temps réel la qualité fonctionnelle d’un logiciel en devenir, la rapidité de correction des anomalies et l’état d’avancement du projet, l’utilisation d’un outil performant pour orchestrer l’automatisation des tests procure des avantages marqués.