Réussir la transformation d’un SI / Industrie

métal

Pour accompagner notre client dans la transformation de son système d’information (SI) vers une version plus moderne, nous pilotons la refonte de leur ERP interne en suivant la méthodologie Domain Driven Design (DDD). Ce projet inclut non seulement la modernisation complète du SI, mais aussi l’intégration de nouvelles pratiques de développement, ainsi que la formation des équipes de développeurs et la création d’une documentation complète pour assurer la pérennité des solutions mises en place.

Découvrez les étapes clés menées par Kevin, lead développeur chez Peaks pour réussir la transformation d’un SI.

Le projet

Un élément clé de la réussite de cette mission réside dans la distribution des connaissances et des responsabilités au sein des équipes, assurant ainsi leur autonomie à chaque étape de la transition. Cette démarche s’articule autour de trois axes principaux :

  • Introduction aux concepts clés :
    • le Domain Driven Design (DDD)
    • Les responsabilités et l’urbanisation logicielle
    • L’observabilité
    • L’amélioration continue
  • Organisationnel, car tous ces nouveaux concepts et le projet dans son ensemble posent de nouveaux défis, demandant une organisation très différente de celle d’une équipe de maintenance élargie :
    • Redonner de la place dans l’emploi du temps de chacun pour la conception et la montée en compétence
    • Remettre l’innovation et l’amélioration par incrément au cœur des process
    • Redéfinir le vocabulaire utilisé par l’ensemble des équipes, qu’il soit métier ou technique
    • Redéfinir les interactions entre les membres des équipes et les équipes, tout en créant de nouvelles habitudes
  • Technique, pour écrire un code plus robuste et maintenable, répondant aux enjeux à long terme du projet de refonte du SI :
    • Montée en compétences des équipes sur l’implémentation DDD, avec ses layers, l’inversion de dépendance omniprésente, la mise en place d’un Anti Corruption Layer, la nécessité d’un modèle riche, …
    • Montée en compétences sur les grands principes du développement, comme le SOLID, l’écriture de tests pertinents, …
    • Renforcement de la CI existante pour assurer des standards minimum
    • Mise en place d’outils d’observabilité poussés
  • Politique, car la transformation d’un SI implique de faire bouger les lignes au sein de l’entreprise en embarquant les collaborateurs dans un objectif commun, tout en les rassurant sur la valeur ajoutée que chacun apporte, à court terme comme à long terme.

L’environnement technique du projet

L’expertise backend Peaks

  • PHP 8+
  • Symfony 6+
  • Base de données Oracle

Notre valeur ajoutée sur la transformation d’un SI

Pour répondre aux besoins de modernisation du SI de notre client, nous avons mis en place une nouvelle API sous la forme d’un Monolithe Modulaire, en appliquant les principes du Domain Driven Design (DDD). De nombreux POC techniques ont notamment été réalisés pour garantir la robustesse et la cohérence de l’architecture.

  • Mise en place d’un Anti-Corruption Layer pour protéger l’intégrité du système.
  • Mise en place d’un système de gestion des exceptions.
  • Mise en place d’une méthodologie et d’outils techniques de validation de données au sein de l’API.
  • Mise en place d’utilitaires pour surveiller et historiser les changements d’états des entités au sein du système.
  • Mise en place d’un système de cache multi-niveaux pour optimiser les performances sans compromettre la lisibilité du code.

Notre intervention s’est également traduite par les actions suivantes :

  • Étude de marché des solutions d’APM, et POC de ces dernières pour sélectionner l’outil le plus adapté.
  • Cartographie technique du système d’information (SI) et rétro-engineering de la base de données existante.
  • Cartographie fonctionnelle du SI actuel pour redéfinir les responsabilités et les frontières à mettre en place au sein du système d’information.
  • Documentation de la méthodologie de travail et des implémentations techniques déployées.
  • Intégration de nouveaux outils dans la CI, incluant la validation de code coverage, un détecteur de breaking changes, deptrac, et des règles PhpStan customisées.
  • Formation des équipes, dispensée individuellement et en sessions collectives.

Témoignage

« Cette mission est pour moi l’opportunité de montée en compétences sur le poste d’Architecte Solution. Le projet est très ambitieux et challengeant, avec tous les avantages et défauts que cela comporte.

Je suis cependant soutenu et appuyé en parallèle par les équipes côté Peaks, qui me permettent de prendre du recul sur la mission en elle-même. Que ce soit pour trouver de nouvelles idées ou réponses aux différents challenges posés par la mission, ou pour valoriser cette expérience au-delà du cadre strictement client. »

Kevin, Architecte Solution et lead dev PHP/Symfony @Peaks
Voir nos offres
Espace Carrière
Ces articles peuvent vous intéresser