SlideShare ist ein Scribd-Unternehmen logo
1 von 58
Downloaden Sie, um offline zu lesen
Le legacy au coeur de votre avenir
@sebfauvel Le legacy au coeur de votre avenir
Sommaire
• Définition du Legacy
• D’où vient le legacy ?
• Pourquoi le legacy pose problème ?
• Eviter de produire du legacy
• Sortir du legacy
• Stratégies
• Références
@sebfauvel Le legacy au coeur de votre avenir
Sébastien Fauvel
@sebfauvel
Développeur
Craftsmanship, Agilité, DevOps
Test automatisé, Qualité de code,
Industrialisation
Agile Nantes, Software Crafters Nantes
Lego4Devops, CaTesTdrale, Pair programming
@sebfauvel Le legacy au coeur de votre avenir
Définition du Legacy
@sebfauvel Le legacy au coeur de votre avenir
Comment repérer le legacy
http://www.osnews.com/story/19266/WTFs_m
@sebfauvel Le legacy au coeur de votre avenir
Legacy Code
https://www.ethode.com/blog/fixing-spaghetti-how-to-work-with-legacy-code
@sebfauvel Le legacy au coeur de votre avenir
Legacy
https://www.skipprichard.com/whats-your-leadership-legacy/
@sebfauvel Le legacy au coeur de votre avenir
Wikipedia
Un système hérité, système patrimonial ou legacy system
en anglais est un matériel et/ou logiciel continuant d’être
utilisé dans une organisation (entreprise ou
administration), alors qu’il est supplanté par des systèmes
plus modernes. L'obsolescence de ces systèmes et leur
criticité les rendent difficilement remplaçables sans
engendrer des projets coûteux et risqués.
— Wikipedia
https://fr.wikipedia.org/wiki/Syst%C3%A8me_h%C3%A9rit%C3%A9
@sebfauvel Le legacy au coeur de votre avenir
Avant tout une richesse
• Apporte de la valeur au quotidien
• Contient une partie de la connaissance métier
• Coût du changement inférieur au coût d’un remplacement
@sebfauvel Le legacy au coeur de votre avenir
Mais aussi des douleurs
Marc Bojoly : "Restructurer un legacy : pourquoi et comment ?"
• Techniquement obsolète
• Difficile à prendre en main
• Connaissance faible ou erroné
• Logiciel dont on a perdu la confiance
@sebfauvel Le legacy au coeur de votre avenir
D’où vient le legacy ?
@sebfauvel Le legacy au coeur de votre avenir
Entropie
Un système à tendance à se désordonner si on ne fait rien.
@sebfauvel Le legacy au coeur de votre avenir
Pourquoi le logiciel change ?
• Changements internes
◦ Fonctionnalités, Anomalies, Sécurité, Usages
• Changements externes
◦ Partenaires, Environnement d’exécution
@sebfauvel Le legacy au coeur de votre avenir
Comment l’entropie se développe ?
Soyez attentif, il va se passer quelque chose !
@sebfauvel Le legacy au coeur de votre avenir
Une lente dérive
• La dégradation n’est pas perceptible
• Une modification ne change pas vraiment la qualité du logiciel
• Un logiciel "bien" écrit ou pas, n’impacte pas son exécution
@sebfauvel Le legacy au coeur de votre avenir
Archéologie d’un projet
Où est Charlie ?
@sebfauvel Le legacy au coeur de votre avenir
Pourquoi fait on si mal ?
http://www.tekenessi.fr
@sebfauvel Le legacy au coeur de votre avenir
Travail à l’aveugle
http://fvirtman.free.fr/progs
@sebfauvel Le legacy au coeur de votre avenir
On n’a pas le temps
http://www.pegaseconsult.fr/2016/11/28/nouvelle-fiche-pratique-marp/
@sebfauvel Le legacy au coeur de votre avenir
Hétérognéité
http://www.managerattitude.fr
@sebfauvel Le legacy au coeur de votre avenir
Pourquoi c’est compliqué de faire bien ?
• On découvre en faisant
• Manque de conscience du problème
• Absence d’idée pour faire autrement
• Logiciel trop complexe pour bien la maitriser et évaluer les impacts
• Renouvellement rapide des technologies
• Manque de connaissances autour du logiciel
@sebfauvel Le legacy au coeur de votre avenir
Pourquoi le legacy pose problème ?
@sebfauvel Le legacy au coeur de votre avenir
Quel est le problème ?
• Evolutions fastidieuses, longues et risquées
• Difficulté de recrutement
• Problème d’intégration au SI et obsolescence
• Limitation des perspectives
@sebfauvel Le legacy au coeur de votre avenir
Eviter de produire du legacy
@sebfauvel Le legacy au coeur de votre avenir
Faire prendre conscience du problème
https://desbellescitations.skyrock.com
@sebfauvel Le legacy au coeur de votre avenir
Trouver de nouvelles solutions
https://medium.com/@Nativ
@sebfauvel Le legacy au coeur de votre avenir
Donner de la visibilité
http://fvirtman.free.fr/progs
@sebfauvel Le legacy au coeur de votre avenir
Réduire la complexité
https://smartbear.com/blog/test-and-monitor/break-the-dependency-chains-in-web-service-composi/
@sebfauvel Le legacy au coeur de votre avenir
Limiter les technologies
https://www.lesitedubricolage.com/
@sebfauvel Le legacy au coeur de votre avenir
Comprendre le métier
https://www.ouestfrance-emploi.com/metiers/concepteur-chaine-logistique
@sebfauvel Le legacy au coeur de votre avenir
Tirer profit de la diversité
http://www.managerattitude.fr
@sebfauvel Le legacy au coeur de votre avenir
Prendre soin du code
https://deviq.com/boy-scout-rule/
@sebfauvel Le legacy au coeur de votre avenir
Prendre le temps
https://www.leblogauto.com
@sebfauvel Le legacy au coeur de votre avenir
Sortir du legacy
@sebfauvel Le legacy au coeur de votre avenir
Changer les manières de faire
La folie consiste à faire la même chose encore et encore et
à attendre des résultats différents"
— Rita Mae Brown
@sebfauvel Le legacy au coeur de votre avenir
Comprendre l’existant
https://www.archimag.com/bibliotheque-edition/
@sebfauvel Le legacy au coeur de votre avenir
Documenter
https://leanpub.com/livingdocumentation
@sebfauvel Le legacy au coeur de votre avenir
Tester pour maitriser le fonctionnement
https://www.weka.fr/actualite/developpement-durable
@sebfauvel Le legacy au coeur de votre avenir
Identifier les points chauds
https://fr.actualitix.com
@sebfauvel Le legacy au coeur de votre avenir
Stratégies
@sebfauvel Le legacy au coeur de votre avenir
Big Bang
@sebfauvel Le legacy au coeur de votre avenir
Tout refaire
• On recommence depuis zéro
• On repart sur de bonnes bases
• On a l’expérience
• On sait ce qu’il faut faire et ne pas faire
@sebfauvel Le legacy au coeur de votre avenir
Le planning de réécriture
@sebfauvel Le legacy au coeur de votre avenir
Le legacy évolue
@sebfauvel Le legacy au coeur de votre avenir
Et les bugs dans tout ça ?
@sebfauvel Le legacy au coeur de votre avenir
Au fil de l’eau
@sebfauvel Le legacy au coeur de votre avenir
Nettoyer petit à petit
• Demande une grande rigueur
• Risque de ne traiter que des problèmes de surface
• Difficile de se donner des objectifs clairs
• Correctifs contraints par le reste de l’application
@sebfauvel Le legacy au coeur de votre avenir
Strangler application
https://www.martinfowler.com/bliki/StranglerApplication.html
@sebfauvel Le legacy au coeur de votre avenir
Strangler application
• Refaire les fonctionnalités proprement
• Continuer à utiliser l’existant
• Décommissionner progressivement
@sebfauvel Le legacy au coeur de votre avenir
Anti-corruption layer
http://p9.storage.canalblog.com
@sebfauvel Le legacy au coeur de votre avenir
Reprenez le contrôle
@sebfauvel Le legacy au coeur de votre avenir
Cela ne se fera pas sans efforts
https://demo.themegrill.com
@sebfauvel Le legacy au coeur de votre avenir
Maîtriser l’avenir
http://www.dynamique-mag.com
@sebfauvel Le legacy au coeur de votre avenir
Le legacy est votre avenir
@sebfauvel Le legacy au coeur de votre avenir
Références
@sebfauvel Le legacy au coeur de votre avenir
Livres
@sebfauvel Le legacy au coeur de votre avenir
Conférences
https://vimeo.com/275529979 https://youtu.be/EWQEAnDW-zs
https://youtu.be/cl7fWmeM9Cw https://youtu.be/VKe9EE4MUxk
@sebfauvel Le legacy au coeur de votre avenir
Merci
@sebfauvel Le legacy au coeur de votre avenir

Weitere ähnliche Inhalte

Ähnlich wie Le legacy au coeur de votre avenir

Scalabilité et haute performance d'application PHP légacy
Scalabilité et haute performance d'application PHP légacy Scalabilité et haute performance d'application PHP légacy
Scalabilité et haute performance d'application PHP légacy Arnaud LEMAIRE
 
Agile contre Cascade - REX - Agile Grenoble 2012
Agile contre Cascade - REX - Agile Grenoble 2012Agile contre Cascade - REX - Agile Grenoble 2012
Agile contre Cascade - REX - Agile Grenoble 2012Étienne Charignon
 
Responsive logic - Kiwiparty
Responsive logic - KiwipartyResponsive logic - Kiwiparty
Responsive logic - KiwipartyJulien Cabanès
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
 
Référencement avec Joomla - SEO Camp
Référencement avec Joomla - SEO CampRéférencement avec Joomla - SEO Camp
Référencement avec Joomla - SEO CampSEO CAMP
 
Mieux travailler le css avec sass compass
Mieux travailler le css avec sass compassMieux travailler le css avec sass compass
Mieux travailler le css avec sass compassInnobec
 
2013.04.12 Symfony et eZ Publish, embarquement immédiat - AFUP Lyon Conference
2013.04.12 Symfony et eZ Publish, embarquement immédiat - AFUP Lyon Conference2013.04.12 Symfony et eZ Publish, embarquement immédiat - AFUP Lyon Conference
2013.04.12 Symfony et eZ Publish, embarquement immédiat - AFUP Lyon ConferenceNicolas Pastorino
 
.Net pour le développeur Java - une source d'inspiration?
.Net pour le développeur Java - une source d'inspiration?.Net pour le développeur Java - une source d'inspiration?
.Net pour le développeur Java - une source d'inspiration?Rui Carvalho
 
Magento 2 is to migrate or not to migrate, the right question ?
Magento 2 is to migrate or not to migrate, the right question ?Magento 2 is to migrate or not to migrate, the right question ?
Magento 2 is to migrate or not to migrate, the right question ?The e-Commerce Academy
 
Java EE, un ami qui vous veut du bien
Java EE, un ami qui vous veut du bienJava EE, un ami qui vous veut du bien
Java EE, un ami qui vous veut du bienAntoine Sabot-Durand
 
Valtech - App vs WebApp
Valtech - App vs WebAppValtech - App vs WebApp
Valtech - App vs WebAppValtech
 
Industrialisation des environnements de dev avec Puppet et Amazon (mais en fa...
Industrialisation des environnements de dev avec Puppet et Amazon (mais en fa...Industrialisation des environnements de dev avec Puppet et Amazon (mais en fa...
Industrialisation des environnements de dev avec Puppet et Amazon (mais en fa...Nicolas Silberman
 
W2c11 webagoo: l'industrialisation du web
W2c11 webagoo: l'industrialisation du webW2c11 webagoo: l'industrialisation du web
W2c11 webagoo: l'industrialisation du webSoul.City inc.
 
Tirer parti des périphériques mobiles dans une application web : qui a dit qu...
Tirer parti des périphériques mobiles dans une application web : qui a dit qu...Tirer parti des périphériques mobiles dans une application web : qui a dit qu...
Tirer parti des périphériques mobiles dans une application web : qui a dit qu...Christophe Porteneuve
 
CMSday 2013 - Usines à sites : Quelles sont les approches possibles ?
CMSday 2013 - Usines à sites : Quelles sont les approches possibles ?CMSday 2013 - Usines à sites : Quelles sont les approches possibles ?
CMSday 2013 - Usines à sites : Quelles sont les approches possibles ?Smile I.T is open
 
Petit dejeuner-evolix-150410
Petit dejeuner-evolix-150410Petit dejeuner-evolix-150410
Petit dejeuner-evolix-150410evolix
 
Soirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec SonarSoirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec SonarElsassJUG
 
Gestion applicative des données, un REX du Ministère de l'Éducation Nationale
Gestion applicative des données, un REX du Ministère de l'Éducation NationaleGestion applicative des données, un REX du Ministère de l'Éducation Nationale
Gestion applicative des données, un REX du Ministère de l'Éducation NationaleObeo
 

Ähnlich wie Le legacy au coeur de votre avenir (20)

Scalabilité et haute performance d'application PHP légacy
Scalabilité et haute performance d'application PHP légacy Scalabilité et haute performance d'application PHP légacy
Scalabilité et haute performance d'application PHP légacy
 
Agile contre Cascade - REX - Agile Grenoble 2012
Agile contre Cascade - REX - Agile Grenoble 2012Agile contre Cascade - REX - Agile Grenoble 2012
Agile contre Cascade - REX - Agile Grenoble 2012
 
Responsive logic - Kiwiparty
Responsive logic - KiwipartyResponsive logic - Kiwiparty
Responsive logic - Kiwiparty
 
Php 100k
Php 100kPhp 100k
Php 100k
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
Référencement avec Joomla - SEO Camp
Référencement avec Joomla - SEO CampRéférencement avec Joomla - SEO Camp
Référencement avec Joomla - SEO Camp
 
Usine Logicielle 2013
Usine Logicielle 2013Usine Logicielle 2013
Usine Logicielle 2013
 
Mieux travailler le css avec sass compass
Mieux travailler le css avec sass compassMieux travailler le css avec sass compass
Mieux travailler le css avec sass compass
 
2013.04.12 Symfony et eZ Publish, embarquement immédiat - AFUP Lyon Conference
2013.04.12 Symfony et eZ Publish, embarquement immédiat - AFUP Lyon Conference2013.04.12 Symfony et eZ Publish, embarquement immédiat - AFUP Lyon Conference
2013.04.12 Symfony et eZ Publish, embarquement immédiat - AFUP Lyon Conference
 
.Net pour le développeur Java - une source d'inspiration?
.Net pour le développeur Java - une source d'inspiration?.Net pour le développeur Java - une source d'inspiration?
.Net pour le développeur Java - une source d'inspiration?
 
Magento 2 is to migrate or not to migrate, the right question ?
Magento 2 is to migrate or not to migrate, the right question ?Magento 2 is to migrate or not to migrate, the right question ?
Magento 2 is to migrate or not to migrate, the right question ?
 
Java EE, un ami qui vous veut du bien
Java EE, un ami qui vous veut du bienJava EE, un ami qui vous veut du bien
Java EE, un ami qui vous veut du bien
 
Valtech - App vs WebApp
Valtech - App vs WebAppValtech - App vs WebApp
Valtech - App vs WebApp
 
Industrialisation des environnements de dev avec Puppet et Amazon (mais en fa...
Industrialisation des environnements de dev avec Puppet et Amazon (mais en fa...Industrialisation des environnements de dev avec Puppet et Amazon (mais en fa...
Industrialisation des environnements de dev avec Puppet et Amazon (mais en fa...
 
W2c11 webagoo: l'industrialisation du web
W2c11 webagoo: l'industrialisation du webW2c11 webagoo: l'industrialisation du web
W2c11 webagoo: l'industrialisation du web
 
Tirer parti des périphériques mobiles dans une application web : qui a dit qu...
Tirer parti des périphériques mobiles dans une application web : qui a dit qu...Tirer parti des périphériques mobiles dans une application web : qui a dit qu...
Tirer parti des périphériques mobiles dans une application web : qui a dit qu...
 
CMSday 2013 - Usines à sites : Quelles sont les approches possibles ?
CMSday 2013 - Usines à sites : Quelles sont les approches possibles ?CMSday 2013 - Usines à sites : Quelles sont les approches possibles ?
CMSday 2013 - Usines à sites : Quelles sont les approches possibles ?
 
Petit dejeuner-evolix-150410
Petit dejeuner-evolix-150410Petit dejeuner-evolix-150410
Petit dejeuner-evolix-150410
 
Soirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec SonarSoirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec Sonar
 
Gestion applicative des données, un REX du Ministère de l'Éducation Nationale
Gestion applicative des données, un REX du Ministère de l'Éducation NationaleGestion applicative des données, un REX du Ministère de l'Éducation Nationale
Gestion applicative des données, un REX du Ministère de l'Éducation Nationale
 

Le legacy au coeur de votre avenir