Les transparents

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]