À mesure qu’elles se transforment et évoluent, les entreprises recourent à de multiples stratégies et outils de développement, ce qui complexifie à chaque fois le travail des développeurs d’applications mainframe. Idéalement, ces derniers devraient pouvoir se concentrer sur la réalisation de nouvelles solutions sans se soucier de l’infrastructure nécessaire à l’atteinte de leurs objectifs. En améliorant leur expérience, alias DevX (Developer eXperience), ce qui est aujourd’hui un rêve peut vraiment devenir réalité.

L’approche DevX consiste à « rencontrer » les développeurs à chaque étape de leur carrière pour assurer la compatibilité et la connectivité des outils et des appareils qu’ils souhaitent utiliser et ainsi leur donner la possibilité de se concentrer pleinement sur leur mission : coder. De cette manière, ils peuvent ensuite publier rapidement et fréquemment des applications mainframe de haute qualité en favorisant la productivité et l’innovation.

L’automatisation est un élément à part entière du processus visant à éliminer toute friction subie par les développeurs. Un environnement de développement intégré (IDE) de nouvelle génération, doté de moyens d’automatisation embarqués leur permet de localiser et de gérer le code avec un niveau d’efficacité et de qualité accru, mais aussi de passer rapidement et facilement du codage à l’édition, au débogage et aux tests.

L’outillage moderne simplifie et accélère la tâche des développeurs en fournissant une représentation visuelle de leur code à partir d’une console centralisée. Ils peuvent ainsi progresser de façon rapide, simple et naturelle en ayant davantage d’informations à leur disposition, tandis que la fonction d’automatisation intégrée leur apporte l’assistance requise au moment opportun et en toute transparence.

Cette démarche peut sembler compliquée pour du développement d’applications mainframe par des experts dont les outils datent des années 80 et qui n’ont pas bénéficié directement des perfectionnements survenus depuis plusieurs décennies. Ils peuvent eux aussi profiter des améliorations apportées à d’autres plateformes. En les associant à des initiatives de modernisation DevX, il est possible d’améliorer l’expérience des développeurs et des membres de leur équipe.

Créer une expérience productive pour les développeurs

Une expérience DevX moderne s’appuie sur des processus agiles et flexibles qui procurent aux développeurs des capacités prévisibles leur permettant de réaliser des changements itératifs minimes avec un retour d’information plus rapide. En assurant la synchronisation entre les équipes de développement mainframe et distribuées, elle favorise par ailleurs la collaboration et améliore les processus.

De plus, l’expérience vécue par les développeurs doit être optimale, indépendamment de la plateforme : un environnement de développement agnostique permet en effet aux développeurs de se concentrer sur le fonctionnement de leurs applications davantage que sur le mécanisme de déploiement, ce qui place les développeurs, toutes générations confondues, sur un pied d’égalité.

En bénéficiant d’une expérience améliorée, les développeurs peuvent ainsi pleinement réaliser le potentiel du modèle DevOps, dont la mise en œuvre pour les fonctions de gestion du code source (SCM — Source Code Management) aide les développeurs à mesurer l’étendue des changements nécessaires. Cet état des lieux initial leur permet ensuite de commencer à coder, accélérant ainsi les validations dans le cadre de workflows simultanés.

Par ailleurs, principal coup d’accélérateur à la productivité et élément à part entière de l’approche DevX, l’exécution de tests automatisés selon l’approche « shift-left » permet aux développeurs de tous niveaux de tester sans délai un nouveau code. Ils détectent et corrigent les bogues de façon précoce au cours du cycle de développement, à un stade où la tâche est plus simple et avant que l’utilisateur final soit impacté. Les tests en continu permettent en outre de préparer automatiquement les données de test à l’intérieur même de la chaîne d’outils DevOps.

Une expérience DevX optimisée apporte des informations opérationnelles pertinentes ; les développeurs peuvent alors détecter les problèmes, mais également les comprendre et les prioriser tout en collaborant étroitement avec l’équipe en charge des Opérations en vue d’améliorer le fonctionnement du système dans son ensemble. Cette démarche donne aux nouveaux arrivants la possibilité d’intervenir sur les problèmes qui surgissent dans le code existant sans avoir à parcourir l’ensemble de l’historique.

Dès lors que les outils sont disponibles, les développeurs d’applications mainframe doivent bénéficier d’une formation afin de les utiliser de façon optimale. Cette étape est cruciale car déployer de nouvelles solutions que personne n’utilise, rend la transformation impossible. C’est pourquoi commencer par envisager l’expérience utilisateur, puis trouver les bons outils pour l’optimiser est plus cohérent que commencer par un outil et contraindre les développeurs à l’utiliser sous prétexte de sa nouveauté. À cet égard, l’amélioration continue joue un rôle important, faute de quoi la « mise aux normes » de l’expérience des développeurs des années 80 risque de retomber comme un soufflé. D’où l’importance des métriques et de l’analytique.

L’approche DevX ne peut se faire sans amélioration de la qualité

Une DevX optimisée permet d’identifier nombre de défauts de façon précoce au cours du cycle de vie, avec pour résultat la réalisation à la fois plus sûre et plus efficace d’un code de meilleure qualité. En observant la « vélocité » au moyen de métriques telles que les différentes expériences utilisateurs « user stories » livrées au cours d’un sprint,  une équipe de développement focalisée sur un code, avec une liste de fonctionnalités à livrer à la fin, il est possible d’ évaluer l’impact de ces changements, mais également démontrer comment l’automatisation contribue à éliminer les erreurs humaines, à augmenter la production de codes opérationnels ou « code drops » et à améliorer l’agilité de l’entreprise.

En leur apportant tout ce dont ils ont besoin pour exécuter leur travail avec facilité et efficacité, les développeurs mainframe seront davantage susceptibles d’adopter les outils disponibles et d’en promouvoir l’utilisation. En effet, une meilleure DevX est bénéfique aux développeurs de longue date comme aux néophytes. En éliminant les tâches fastidieuses qui les éloignent de leur mission première — écrire du code —,cela leur permettra de laisser libre cours à leur créativité et d’élever leur capacité d’innovation tout en améliorant les pratiques de recrutement et de fidélisation.

L’amélioration de l’expérience des développeurs d’applications mainframe rejaillit sur l’ensemble de l’entreprise, pour ainsi accélérer le lancement de nouvelles fonctionnalités et apporter une réponse compétitive à des solutions génératrices de recettes. Dans la mesure où les systèmes mainframe ne sont pas près de disparaître il est essentiel de créer un environnement moderne où es développeurs pourront réagir avec agilité à toutes sortes de changements et en faire un atout pour la compétitivité de l’entreprise.
____________________________

Par April Hickel, vice-présidente, Gestion des produits, Intelligent Z Optimization & Transformation (IZOT) chez BMC Software

 

À lire également :

L’heure du Mainframe AIOps est arrivée…

DevOps : générateur de collaboration et d’innovation

L’analyse des données à l’edge, clé de la prédiction pour les entreprises modernes

IA & IT : Voir les choses en grand avec l’AIOps