TECHNICAL DEBT & CODE QUALITY MANAGEMENT SUCCESS STORY Migration des applications du Pôle « Transport et Logistique » de SIGMA www.tocea.com Plan d’intervention TECHNICAL DEBT & CODE QUALITY MANAGEMENT Intervenants Présentation SIGMA Contexte Missions Quelques Chiffres Problématique Retours d’expérience client Objectif Méthodologie Architecture initiale Migration Architecture Cible Enjeux Comment répondre aux défis de l’ingénierie logicielle ? | Evènement INRIA – MEITO (Rennes) | 23 janvier 2014 TECHNICAL DEBT & CODE QUALITY MANAGEMENT Intervenants Sylvain Leroy Directeur Technique | Tocéa Romain Jacob Architecte Logiciel | SIGMA Comment répondre aux défis de l’ingénierie logicielle ? | Evènement INRIA – MEITO (Rennes) | 23 janvier 2014 TECHNICAL DEBT & CODE QUALITY MANAGEMENT Présentation SIGMA Fondé en 1972, le Groupe SIGMA est spécialisé dans l’édition de logiciels le conseil et l’intégration l’infogérance Présent au niveau national sur 4 sites Nantes (siège social) Paris Strasbourg Toulouse Quelques chiffres 800 collaborateurs CA de 69 M€ (2012) Plus de 2 200 clients Comment répondre aux défis de l’ingénierie logicielle ? | Evènement INRIA – MEITO (Rennes) | 23 janvier 2014 TECHNICAL DEBT & CODE QUALITY MANAGEMENT SIGMA s’appuie sur un socle logiciel commun (framework) afin de proposer à ses clients des logiciels répondant à différentes problématiques métiers Basé sur des technologies ayant fait l’objet de fortes évolutions, ce framework présente différentes contraintes : Technologies Double migration si maintien de son utilisation Evolutions Maintenance Etc Cette évolution doit porter sur un objectif de Migration visant à répondre aux contraintes de convergence liées au développement d’applications métiers diverses réalisées depuis une base commune Comment répondre aux défis de l’ingénierie logicielle ? | Evènement INRIA – MEITO (Rennes) | 23 janvier 2014 Contexte TECHNICAL DEBT & CODE QUALITY MANAGEMENT Assurer le désengagement de la solution logicielle applications/framework Contribuer au désendettement logiciel maintenance corrective et évolutive migration automatisée suivi et accompagnement montée en compétences des équipes internes Indicateurs de réussite Scénario fonctionnel opérationnel Pas de dégradation des performances à l’exécution Réduction du nombre de lignes de code Code après transformation maintenable et de qualité Estimation des gains de productivité Missions TECHNICAL DEBT & CODE QUALITY MANAGEMENT Quelques chiffres… Plus de 2,5 millions de lignes de code concernées 5 500 classes JAVA impactées Migration équivalente à 700j/h 51 jours de migration automatisée Comment répondre aux défis de l’ingénierie logicielle ? | Evènement INRIA – MEITO (Rennes) | 23 janvier 2014 TECHNICAL DEBT & CODE QUALITY MANAGEMENT Problématique Comment réaliser un tel désengagement applications/framework et participer au désendettement logiciel en tenant compte des contraintes de temps, de coûts, et de compétences ? Comment répondre aux défis de l’ingénierie logicielle ? | Evènement INRIA – MEITO (Rennes) | 23 janvier 2014 Objectif TECHNICAL DEBT & CODE QUALITY MANAGEMENT Transformer la couche technique assurant la communication entre l’interface utilisateur et les traitements réalisés par l’application en se portant sur une architecture cible : Spring MVC* * standard reconnu sur le marché JEE Comment répondre aux défis de l’ingénierie logicielle ? | Evènement INRIA – MEITO (Rennes) | 23 janvier 2014 Processus TECHNICAL DEBT & CODE QUALITY MANAGEMENT Migration Calcul du ROI Définition Architecture Cible Réalisation maquette • (% Automatisation) de l’application application Comment répondre aux défis de l’ingénierie logicielle ? | Evènement INRIA – MEITO (Rennes) | 23 janvier 2014 TECHNICAL DEBT & CODE QUALITY MANAGEMENT Processus appliqué au contexte Etude (Prototypage, ROI, Faisabilité) Réalisation de tests unitaires / fonctionnels de non-régression Abstraction du Framework et portage vers Spring du Framework Packaging (maven) de l’application Migration de l’application Comment répondre aux défis de l’ingénierie logicielle ? | Evènement INRIA – MEITO (Rennes) | 23 janvier 2014 TECHNICAL DEBT & CODE QUALITY MANAGEMENT Les enjeux de la migration logicielle identifiée reposent sur des éléments fréquemment rencontrés dans une telle situation où les processus ne sont pas industrialisés : Un coût conséquent similaire au coût global de développement d’une application Un coût de portage d’une application et les conséquences qui y sont relatives (maintenance lors du développement, formation des équipes, etc. ) Des problématiques technologiques/métiers entremêlées Comment répondre aux défis de l’ingénierie logicielle ? | Evènement INRIA – MEITO (Rennes) | 23 janvier 2014 Enjeux Audit et propositions de changement TECHNICAL DEBT & CODE QUALITY MANAGEMENT Fonctionnalités de l’architecture Solution Gain attendu Développement Vue Utilisation de Spring MVC Gain de temps pour la réalisation de nouvelles fonctionnalités Développement du métier Utilisation des Services Spring Améliorer la réutilisabilité, diminuer le code de l’application, gain en maintenance Développement de l’API Rest Utilisation de Spring MVC Gain de temps, testabilité et stabilité Maintenance du Framework Sigma Se séparer du framework Suppression des coûts de maintenance Montée en compétence sur le framework Sigma Choix de technologies opensource Augmenter l’intérêt et l’attractivité des développeurs Correction / Validation de la fonctionnalité Choix d’une architecture facilement testable Diminuer le coût de maintenance en généralisant l’utilisation de TU, TF Développement de l’accès à la base Comment répondre aux défis de l’ingénierie logicielle ? | Evènement INRIA – MEITO (Rennes) | 23 janvier 2014 Architecture initiale TECHNICAL DEBT & CODE QUALITY MANAGEMENT Client Web (Html, JS, JSP, Templating, ActiveX) Fonctionnalité 1 Web : Préparation Données Fonctionnalité 2 Ajax Fonctionnalité 3 ActiveX Métier Métier Métier Accès BDD Accès BDD Accès BDD Sigma Framework Sigma Framework Sigma Framework (logs, stats, db, routage, API rest, templating) Comment répondre aux défis de l’ingénierie logicielle ? | Evènement INRIA – MEITO (Rennes) | 23 janvier 2014 Architecture initiale : abstraction TECHNICAL DEBT & CODE QUALITY MANAGEMENT Client Web (Html, JS, JSP, Templating, ActiveX) Sigma Framework (logs, stats, db, routage, API rest, templating) Fonctionnalité 1 Web : Préparation Données Fonctionnalité 2 Ajax Fonctionnalité 3 ActiveX Métier Métier Métier Accès BDD Accès BDD Accès BDD Comment répondre aux défis de l’ingénierie logicielle ? | Evènement INRIA – MEITO (Rennes) | 23 janvier 2014 Architecture initiale : migration du fwk TECHNICAL DEBT & CODE QUALITY MANAGEMENT Client Web (Html, JS, JSP, Templating, ActiveX) Framework Spring (logs, db, routage, API rest, templating) Sigma Framework (logs, stats) Fonctionnalité 1 Web : Préparation Données Fonctionnalité 2 Ajax Métier Métier Métier Accès BDD Accès BDD Domaine Accès BDD Objets fonctionnels Template HTML Comment répondre aux défis de l’ingénierie logicielle ? | Evènement INRIA – MEITO (Rennes) | 23 janvier 2014 TECHNICAL DEBT & CODE QUALITY MANAGEMENT Architecture cible : migration de l’application Client Web (Html, JS, JSP, Templating, ActiveX) Framework Spring (logs, db, routage, API rest, templating) Fonctionnalité 1 Web : Préparation Données Fonctionnalité 2 Ajax Template HTML Couche Services / Métier Sigma Framework (stats) Objets fonctionnels Couche Services / Accès DB Accès BDD Domaine Comment répondre aux défis de l’ingénierie logicielle ? | Evènement INRIA – MEITO (Rennes) | 23 janvier 2014 TECHNICAL DEBT & CODE QUALITY MANAGEMENT Solution Scertify Comment répondre aux défis de l’ingénierie logicielle ? | Evènement INRIA – MEITO (Rennes) | 23 janvier 2014 TECHNICAL DEBT & CODE QUALITY MANAGEMENT Retour d’expérience client Une mission à forte valeur ajoutée portée par des experts dans leur domaine Des équipes réactives malgré des itérations nombreuses et des aléas techniques contraignants Une production logicielle de grande qualité Aucune anomalie liée à la migration détectée chez nos clients, aucune dégradation des performances Des perspectives d’évolution nombreuses grâce à la mise en œuvre d’un standard reconnu sur le marché Un accompagnement vers l’avenir au travers de propositions allant dans la continuité de la mission de migration Comment répondre aux défis de l’ingénierie logicielle ? | Evènement INRIA – MEITO (Rennes) | 23 janvier 2014 TECHNICAL DEBT & CODE QUALITY MANAGEMENT Contact +33 (0)2 99 38 00 44 16C, Rue Jouanet | 35 700 Rennes [email protected]
© Copyright 2025 ExpyDoc