Aller au contenu
BigTree108

Services de modernisation de logiciels hérités

Modernisation de logiciels hérités pour des systèmes qui font encore tourner l’entreprise mais la ralentissent : reprises de code écrit par d’autres équipes, mises à niveau vers des versions actuelles et remplacement progressif d’anciens modules, sans réécriture en big bang. Neuf systèmes nous sont venus d’autres équipes à ce jour, le plus ancien écrit en 2008.

Comment nous modernisons un système hérité

  • D’abord une revue en lecture seule

    Le code, les dépendances, le déploiement et les données lus de bout en bout avant que quiconque ne modifie une ligne, avec une liste écrite de risques classés par impact sur la production.

  • Des tests autour de l’existant

    Tests de caractérisation qui figent ce que le système fait aujourd’hui, bizarreries comprises, de sorte que chaque changement ultérieur soit vérifié par rapport au comportement réel plutôt qu’à la mémoire.

  • Mises à niveau de frameworks et de runtimes

    .NET Framework vers .NET actuel, Java 8 vers une LTS actuelle, PHP 5 vers PHP 8, Python 2 vers 3 et AngularJS vers Angular, une étape à la fois, chaque étape étant livrée séparément.

  • Remplacement en étrangleur (strangler fig)

    Nouveaux modules construits à côté de l’ancien système derrière une couche de routage, reprenant une fonctionnalité à la fois jusqu’à ce que l’ancien code puisse être éteint, sans jamais de jour unique où tout change.

  • Modernisation des bases de données

    Logique métier sortie des procédures stockées vers du code testé, changements de schéma transformés en migrations versionnées, et données sur des versions de base non prises en charge migrées avec un rapport de rapprochement.

  • Dette de sécurité remboursée

    Dépendances non prises en charge remplacées, vulnérabilités connues corrigées, secrets sortis des fichiers de configuration vers un coffre, et analyse des dépendances dans le pipeline pour que la dette ne revienne pas.

Recruter des ingénieurs pour systèmes hérités

  • ingénieurs pour systèmes hérités dédiés

    Des Ingénieurs pour systèmes hérités qui rejoignent votre équipe à temps plein, travaillent avec vos outils et votre processus, et rendent compte à votre responsable. Vous les interviewez ; nous portons le contrat ukrainien, la paie, la facturation et les congés.

  • Projets de Modernisation

    Un lot défini de modernisation, avec un périmètre, un plan arrêté et un responsable nommé de notre côté, qui porte le résultat et rend compte de l’avancement dans vos canaux.

  • Prestation continue de modernisation

    Un service continu de Modernisation : les mêmes personnes chaque mois, un backlog que vous priorisez, et des heures visibles dans notre portail et sur la facture.

La page Équipe dédiée explique comment les spécialistes rejoignent votre équipe, et la page Externalisation couvre la livraison de projet, les reprises et notre mode de facturation.

Qui intervient sur vos modernisation

  • Responsable technique

    Pilote la revue, la liste de risques et l’ordre du travail

  • Ingénieurs .NET, Java et PHP

    Mises à niveau et refactoring dans le langage propre au système

  • Ingénieurs cloud et DevOps

    Pipelines, infrastructure as code et sortie des anciens serveurs

  • Ingénieurs QA

    Tests de caractérisation et de non-régression

Moderniser par étapes, pas par une réécriture

Une réécriture complète arrête la livraison pendant des mois et perd généralement des comportements que personne n’a consignés. Nous modernisons donc par étapes : chacune assez petite pour être livrée, testée par rapport à ce que le système faisait avant, et choisie selon le risque ou le coût qu’elle supprime, de sorte que l’entreprise continue de tourner sur le système pendant qu’il évolue.

Une reprise commence par une revue en lecture seule et une liste écrite de risques avant toute correction. Il arrive que cette liste montre qu’un module vaut mieux être réécrit ; nous le disons alors, avec les raisons par écrit et la réécriture planifiée derrière les mêmes tests.

Autres solutions que nous livrons

Solutions : vue d’ensemble

Questions sur la modernisation de systèmes hérités

Faut-il réécrire ou moderniser ?

En général moderniser. Une réécriture a du sens pour un module dont le comportement est bien compris et dont le code bloque tout changement ; pour le reste, les mises à niveau incrémentales et le remplacement en étrangleur apportent de la valeur plus tôt et conservent le savoir intégré à l’ancien code. La revue vous donne cette décision module par module, par écrit.

Nos développeurs d’origine sont partis. Pouvez-vous quand même reprendre le système ?

Oui. Nous travaillons à partir du code, de la base de données, du déploiement et des personnes qui utilisent encore le système, et la liste de risques écrite vous dit ce que nous avons trouvé avant que vous ne décidiez de ce qu’il faut changer.

L’ancien système continue-t-il de fonctionner pendant sa modernisation ?

Oui. Les corrections et les correctifs de sécurité se poursuivent sur le système en production tout du long, et chaque étape de modernisation est livrée séparément, de sorte qu’il n’y a jamais de période où l’entreprise attend la nouvelle version.

En combien de temps les ingénieurs pour systèmes hérités peuvent-ils démarrer ?

Lorsque le bon ingénieur en modernisation est disponible, le démarrage ne dépend que de votre entretien, du NDA et de la cession de propriété intellectuelle. Sinon, nous lançons une recherche, qui fournit en général des profils de candidats sous deux à trois semaines, et personne ne démarre avant que vous ayez donné votre accord.

Comment recruter des ingénieurs pour systèmes hérités via BigTree108 ?

Indiquez-nous le travail à réaliser, le niveau de séniorité et les horaires dont vous avez besoin. Nous vous proposons une ou deux personnes avec leurs profils, vous les interviewez comme vous le feriez pour votre propre recrutement, puis vous signez un seul contrat avec BIG TREE 108 LLC et recevez une facture par mois.

À qui appartient le travail qu’ils produisent ?

C’est vous. Chaque spécialiste a signé avec BigTree108 un contrat qui cède à l’entreprise tous les livrables, et notre contrat avec vous vous les cède à son tour. Le code, les maquettes et les documents sont livrés dans vos propres dépôts et outils, et non conservés à un endroit où nous seuls pourrions les modifier.

Vous exploitez un système que personne ne veut toucher ?

Envoyez le dépôt ou une description du système. Vous recevez une réponse sous un jour ouvré : un plan pour la revue et les premières étapes qui suivent.