SlideShare une entreprise Scribd logo
1  sur  29
• L’Agile Alliance
• Le concept de Dette Technique
• L’initiative “Technical Debt” de l’Agile Alliance
• Le jeu “Dice of Debt”
• Exemples de livrables de l'initiative
Agenda
L’Agile Alliance
• L’Agile Alliance
• Créée par les signataires du manifeste agile
• Plus de 23.000 membres
• Un nouveau site qui attire plus de 50.000
utilisateurs par mois
• LA conférence Agile : 2.500 participants
• Devient de plus en plus globale (Agile Europe,
Agile Brésil)
• L’Agile Alliance
• Le concept de Dette Technique
• L’initiative “Technical Debt” de l’Agile Alliance
• Le jeu “Dice of Debt”
• Exemples de livrables de l'initiative
Agenda
Une définition pratique
• « The feeling that, over time, writing or maintaining code is like
running through mud. »
4Et vous, jusqu’où ? (1…. à 5)
Des définition plus sérieuses….
• What is technical debt?
• The increased difficulty in writing new code, or maintaining code,
that is the natural result of…
• Shortcuts
• Bad coding practices
• Hacks
• Other times when you wish, in hindsight, you had coded more carefully
5
• “With borrowed money you can do something sooner than you might
otherwise, but until you pay back that money you will pay interest.
• “I thought borrowing money was a good idea. I thought that rushing
software out the door to get some experience with it was a good
idea. But that of course you would eventually go back and as you
learned things about that software you would repay that loan by
refactoring the program to reflect your experience as you acquired
it.”
6
How do you create it?
• Very easily, and here are a few common
examples
• “I didn’t have the time to write a simpler
class…”
• “No time to re-think the design of the class,
• just keep adding new stuff to it!”
• No time to think about how
• someone else will fix or extend the code
• No code review leads to culture of sloppiness
• Didn’t think of the impact of generic error
handling
• Many other sources
7
• L’Agile Alliance
• Le concept de Dette Technique
• L’initiative “Technical Debt” de l’Agile Alliance
• Le jeu “Dice of Debt”
• Exemples de livrables de l'initiative
Agenda
L’initiative T.D. de l’Agile Alliance
• Un projet de volontariat supporté par l’Agile Alliance
• Démarré en Juillet 2015
• Une équipe de six membres : Declan Whelan, Jean-Pierre
Fayolle, Tom Grant, Dan Sturtevant, Thierry Coq,
Jean-Louis Letouzey
L’initiative T.D. de l’Agile Alliance : les produits
• Livre blanc et video
• Introduction to the technical debt concept
• A2DAM (Agile Alliance Debt Analysis Model)
• Un référentiel pour évaluer et analyser la dette technique du code
• Project Management Guide
• Des pratiques qui ont fait leur preuve
• Dice Of Debt game
• Eduquer et sensibiliser sur l’importance de gérer la dette technique
10
https://www.agilealliance.org/resources/initiatives/technical-debt/
• L’Agile Alliance
• Le concept de Dette Technique
• L’initiative “Technical Debt” de l’Agile Alliance
• Le jeu “Dice of Debt”
• Exemples de livrables de l'initiative
Agenda
“Dice of Debt” : Introduction
Principes du jeu
Vous appartenez à une équipe de développement travaillant sur un
projet de 10 sprints. Votre objectif est de créer le plus possible de
valeur.
La dette technique (D.T.) peut réduire considérablement cette valeur.
Heureusement vous pouvez prendre des mesures pour la réduire. Ces
mesures qui permettent de réduire votre dette ne sont pas gratuites.
C'est à vous de décider laquelle sera la plus rentable.
“Dice of Debt” : Les règles
• A chaque tour (qui représente un sprint), votre équipe dispose d'une capacité limitée de
création. Cette capacité est représentée par 12 dés.
• Au 1° tour, votre capacité est de 8 dés qui créent de la valeur ajoutée et de 4 dés qui
génèrent de la dette technique.
• A chaque tour, vous jetez les dés “Valeur Ajoutée” et retenez le total obtenu : VA. Ensuite
vous jouez les dés “Dette Technique” et vous totalisez le résultat DT. La valeur ajoutée
nette (VAN) est égale à VA – DT.
• Vous pouvez réduire votre D.T. et son impact, c'est un investissement qui réduit votre
capacité à court terme de produire de la VA. Vous avez le choix entre 4 mesures possibles.
• Vous ne pouvez investir qu'en une seule mesure à la fois. Ce n'est qu'à la fin de la période
d'investissement relative à une mesure que vous en tirerez les bénéfices. A ce moment là
vous pouvez investir dans une autre mesure (si vous le souhaitez).
“Dice of Debt” : Réduire la dette
 Réduction de la complexité (et du copier/coller)
 Coût : 2 dés VA pendant 3 tours
 Bénéfice : Transforme 2 dés DT en 2 dés VA pour le reste de la partie
 Revue de pair
 Coût : 3 dés VA pendant 2 tours
 Bénéfice : Transforme 1 dé DT en 1 dé VA pour le reste de la partie
 Intégration continue (y compris analyse statique du code)
 Coût : 1 dé VA pendant 2 tours
 Bénéfice : Rejouer à chaque tour 1 dé DT (que vous choisissez) pour le reste
de la partie
 Amélioration des tests (de leur taux de couverture)
 Coût : 1 dé VA pendant 3 tours
 Bénéfice : Soustraire 3 du TD de chaque tour pendant le reste de la partie
“Dice of Debt” : La feuille de jeu
Remplir la feuille de jeu
X X
1 1
7 7
4 4
-3 -3 -3 -3 -3 -3 -3 -3
7 7
4 4
26
9
17
17
30
12
18
35
Remplir la feuille de jeu
X X
1 1
7 7
4 4
-3 -3 -3 -3 -3 -3 -3 -3
7 7
4 4
26
9
17
17
X X
3 3
5 5
4 4
30
12
18
35
“Dice of Debt” : La table de jeux
Dés investis (ne sont pas joués)
Dés VA
Dés TD
“Dice of Debt” : La feuille de suivi
“Dice of Debt” : Résultats
SCORE max possible : 501 SCORE moyen : 206,5
Record actuel : 258
“Dice of Debt” : Debriefing
• L’Agile Alliance
• Le concept de Dette Technique
• L’initiative “Technical Debt” de l’Agile Alliance
• Le jeu “Dice of Debt”
• Exemples de livrables de l'initiative
Agenda
You will always face some Technical Debt
• Some amount is to be expected
• EX: Unintentional TD
• The amount of TD will never be zero
• But it has to be manageable
• There can be situations in which you want to
take on TD
• EX: Architectural experiment, don’t want to take
the time to “do it right” if it doesn’t work out
• …As long as you clean it up
• Of course, the problem is, people usually don’t
23
Address the individual sources: the code
24
Name Good practice Affects Rationale Remediation
Tested-CCOV A file has an acceptable
level of code coverage.
Reliability Unit tests verify that the code
performs as expected without
errors.
Write tests in order to cover
uncovered lines.
Test variable values.
Clear-INVL
A "for" loop iterator is
not modified in the
body of the loop.
Reliability Modifying the loop iterator inside
the loop may lead to unreliable
behavior. Code is also more
difficult to understand.
Restructure the code.
Clear-DEST
All "if"/"for"/"while"
structures are delimited
by curly braces.
Changeability Using curly braces for control
structures helps to better
understand the code.
Enclose the core of the structure
with curly braces.
Clear-CLDO Public classes and
public methods are
documented.
Maintainability
Code is easier to understand
Identify public classes and public
methods without
documentation.
Write additional meaningful
comments.
Assess your TD with the Agile Alliance Debt
Analysis Model (A2DAM)
A2DAM
• Une liste de base de bonnes pratiques relatives au code
• Toutes les pratiques
• Sont vérifiables par des analyseurs de code
• Ont été revues par des experts provenant de 10 sociétés éditeurs d’outils
d’ analyse de code
• Sont caractérisées avec leur impact, leur coût de remédiation….
A2DAM
• Faites le test en ligne
Address the individual sources: the team
• Many project management-level measures, such as…
• Follow the Boy Scout Rule
• Make code review part of the done criteria
• Dedicate some percentage of each sprint to TD reduction and prevention
• Do static code analysis at some interval
• …
26
Get advice from Project Management and Technical
Debt document from the TD AA initiative
Address the individual sources: the team
27
The conclusion should be obvious
28
Short-term
investment in
technical debt
reduction and
prevention allows
for increased
productivity in the
future
Technical debt
just keeps
accumulating.
Our productivity
plummets.
Questions ?
N'oubliez pas de donner votre
feedback !

Contenu connexe

Tendances

Pitié, ne construisez pas le nouveau pont Champlain en Agilité...
Pitié, ne construisez pas le nouveau pont Champlain en Agilité...Pitié, ne construisez pas le nouveau pont Champlain en Agilité...
Pitié, ne construisez pas le nouveau pont Champlain en Agilité...
Pyxis Technologies
 
Apprendre le Craft en 1 mois… HELP! (REX Société Générale) - Agile en Seine 2020
Apprendre le Craft en 1 mois… HELP! (REX Société Générale) - Agile en Seine 2020Apprendre le Craft en 1 mois… HELP! (REX Société Générale) - Agile en Seine 2020
Apprendre le Craft en 1 mois… HELP! (REX Société Générale) - Agile en Seine 2020
Agile En Seine
 

Tendances (20)

Pitié, ne construisez pas le nouveau pont Champlain en Agilité...
Pitié, ne construisez pas le nouveau pont Champlain en Agilité...Pitié, ne construisez pas le nouveau pont Champlain en Agilité...
Pitié, ne construisez pas le nouveau pont Champlain en Agilité...
 
2015 - Mon 4x4 agile : bien commencer sa "transformation agile"
2015 - Mon 4x4 agile : bien commencer sa "transformation agile"2015 - Mon 4x4 agile : bien commencer sa "transformation agile"
2015 - Mon 4x4 agile : bien commencer sa "transformation agile"
 
Déploiement continu, l'agilité maximisée ? - Pierre-Martin Tardif
Déploiement continu, l'agilité maximisée ? - Pierre-Martin TardifDéploiement continu, l'agilité maximisée ? - Pierre-Martin Tardif
Déploiement continu, l'agilité maximisée ? - Pierre-Martin Tardif
 
Specification executables agile tour 2016
Specification executables agile tour 2016Specification executables agile tour 2016
Specification executables agile tour 2016
 
Agilité du point de vue de la gouvernance
Agilité du point de vue de la gouvernanceAgilité du point de vue de la gouvernance
Agilité du point de vue de la gouvernance
 
Apprendre le Craft en 1 mois… HELP! (REX Société Générale) - Agile en Seine 2020
Apprendre le Craft en 1 mois… HELP! (REX Société Générale) - Agile en Seine 2020Apprendre le Craft en 1 mois… HELP! (REX Société Générale) - Agile en Seine 2020
Apprendre le Craft en 1 mois… HELP! (REX Société Générale) - Agile en Seine 2020
 
Introduction Agile au CJD Clermont Ferrand
Introduction Agile au CJD Clermont FerrandIntroduction Agile au CJD Clermont Ferrand
Introduction Agile au CJD Clermont Ferrand
 
2015 - L'agilité au service de l'innovation
2015 - L'agilité au service de l'innovation2015 - L'agilité au service de l'innovation
2015 - L'agilité au service de l'innovation
 
Agile expliqué aux managers
Agile expliqué aux managersAgile expliqué aux managers
Agile expliqué aux managers
 
Introduction à Agile Lean
Introduction à Agile LeanIntroduction à Agile Lean
Introduction à Agile Lean
 
Développer votre logiciel interne : comment y parvenir sans investir une fort...
Développer votre logiciel interne : comment y parvenir sans investir une fort...Développer votre logiciel interne : comment y parvenir sans investir une fort...
Développer votre logiciel interne : comment y parvenir sans investir une fort...
 
Formation Agile Scrum
Formation Agile ScrumFormation Agile Scrum
Formation Agile Scrum
 
Running lean - mise en place d’un lab innovation @Alliance Expert - Christoph...
Running lean - mise en place d’un lab innovation @Alliance Expert - Christoph...Running lean - mise en place d’un lab innovation @Alliance Expert - Christoph...
Running lean - mise en place d’un lab innovation @Alliance Expert - Christoph...
 
Gestion de portefeuille performante et kanban stratégique - Version courte
Gestion de portefeuille performante et kanban stratégique - Version courteGestion de portefeuille performante et kanban stratégique - Version courte
Gestion de portefeuille performante et kanban stratégique - Version courte
 
Adoption de l'Agilité : principes et défis
Adoption de l'Agilité : principes et défisAdoption de l'Agilité : principes et défis
Adoption de l'Agilité : principes et défis
 
Introduction a l_agilite_iut_lyon_1_decembre2011
Introduction a l_agilite_iut_lyon_1_decembre2011Introduction a l_agilite_iut_lyon_1_decembre2011
Introduction a l_agilite_iut_lyon_1_decembre2011
 
Tout est lié! Processus, UX, DevOps, Architecture, BDD, QA, Lean...
Tout est lié! Processus, UX, DevOps, Architecture, BDD, QA, Lean...Tout est lié! Processus, UX, DevOps, Architecture, BDD, QA, Lean...
Tout est lié! Processus, UX, DevOps, Architecture, BDD, QA, Lean...
 
Parlons Agilité !
Parlons Agilité !Parlons Agilité !
Parlons Agilité !
 
Atelier de simulation DevOps
Atelier de simulation DevOpsAtelier de simulation DevOps
Atelier de simulation DevOps
 
Agilité et la gestion du changement mboisvert - 15 octobre 2013
Agilité et la gestion du changement   mboisvert - 15 octobre 2013Agilité et la gestion du changement   mboisvert - 15 octobre 2013
Agilité et la gestion du changement mboisvert - 15 octobre 2013
 

Similaire à Comment gérer la dette technique les bonnes pratiques de l’agile alliance - jean-pierre fayolle, jean-louis letouzey

Wjgtll 7 romain berrendonner
Wjgtll 7 romain berrendonnerWjgtll 7 romain berrendonner
Wjgtll 7 romain berrendonner
gtll_systematic
 

Similaire à Comment gérer la dette technique les bonnes pratiques de l’agile alliance - jean-pierre fayolle, jean-louis letouzey (20)

Agile Tour Toulouse jl-letouzey
Agile Tour Toulouse jl-letouzeyAgile Tour Toulouse jl-letouzey
Agile Tour Toulouse jl-letouzey
 
Webinar - Mieux s'entendre entre Dev / PO / Testeur avec TDD et BDD
Webinar - Mieux s'entendre entre Dev / PO / Testeur avec TDD et BDDWebinar - Mieux s'entendre entre Dev / PO / Testeur avec TDD et BDD
Webinar - Mieux s'entendre entre Dev / PO / Testeur avec TDD et BDD
 
Webinar TDD / BDD : Comment mieux délivrer et s'entendre pour le Product Owne...
Webinar TDD / BDD : Comment mieux délivrer et s'entendre pour le Product Owne...Webinar TDD / BDD : Comment mieux délivrer et s'entendre pour le Product Owne...
Webinar TDD / BDD : Comment mieux délivrer et s'entendre pour le Product Owne...
 
DDD FOR POs.pdf
DDD FOR POs.pdfDDD FOR POs.pdf
DDD FOR POs.pdf
 
Wjgtll 7 romain berrendonner
Wjgtll 7 romain berrendonnerWjgtll 7 romain berrendonner
Wjgtll 7 romain berrendonner
 
Devops : Culture ou Outil ? Pourquoi le mettre en place dans mon Entreprise ?
Devops : Culture ou Outil ? Pourquoi le mettre en place dans mon Entreprise ?Devops : Culture ou Outil ? Pourquoi le mettre en place dans mon Entreprise ?
Devops : Culture ou Outil ? Pourquoi le mettre en place dans mon Entreprise ?
 
Et si on jouait au tdd 20131017
Et si on jouait au tdd 20131017Et si on jouait au tdd 20131017
Et si on jouait au tdd 20131017
 
Le DevOps : La clé de la transformation digitale ?
Le DevOps : La clé de la transformation digitale ?Le DevOps : La clé de la transformation digitale ?
Le DevOps : La clé de la transformation digitale ?
 
Devops : Culture ou Outil ? Pourquoi le mettre en place dans mon Entreprise ?
Devops : Culture ou Outil ? Pourquoi le mettre en place dans mon Entreprise ?Devops : Culture ou Outil ? Pourquoi le mettre en place dans mon Entreprise ?
Devops : Culture ou Outil ? Pourquoi le mettre en place dans mon Entreprise ?
 
Tester du legacy code, mission impossible ?
Tester du legacy code, mission impossible ?Tester du legacy code, mission impossible ?
Tester du legacy code, mission impossible ?
 
Comment utiliser JIRA pour mon équipe, mon entreprise ? Comment me renseigner ?
Comment utiliser JIRA pour mon équipe, mon entreprise ? Comment me renseigner ?Comment utiliser JIRA pour mon équipe, mon entreprise ? Comment me renseigner ?
Comment utiliser JIRA pour mon équipe, mon entreprise ? Comment me renseigner ?
 
Recherche lead technique désespérément
Recherche lead technique désespérémentRecherche lead technique désespérément
Recherche lead technique désespérément
 
Softshake 2015 comment tester et optimiser la performance d'un si
Softshake 2015   comment tester et optimiser la performance d'un siSoftshake 2015   comment tester et optimiser la performance d'un si
Softshake 2015 comment tester et optimiser la performance d'un si
 
2019 - NOURI - ALL4TEST- Le BDD pour decouvrir et specifier les besoins metie...
2019 - NOURI - ALL4TEST- Le BDD pour decouvrir et specifier les besoins metie...2019 - NOURI - ALL4TEST- Le BDD pour decouvrir et specifier les besoins metie...
2019 - NOURI - ALL4TEST- Le BDD pour decouvrir et specifier les besoins metie...
 
Mix-IT 2013 - Agilistes : n'oubliez pas la technique - mix-it 2013
Mix-IT 2013 - Agilistes : n'oubliez pas la technique - mix-it 2013Mix-IT 2013 - Agilistes : n'oubliez pas la technique - mix-it 2013
Mix-IT 2013 - Agilistes : n'oubliez pas la technique - mix-it 2013
 
Trois petites histoires de dette avec notes de la présentation
Trois petites histoires de dette   avec notes de la présentationTrois petites histoires de dette   avec notes de la présentation
Trois petites histoires de dette avec notes de la présentation
 
Lunch learn 5 sep2013
Lunch learn 5 sep2013Lunch learn 5 sep2013
Lunch learn 5 sep2013
 
Guillaume St Etienne : Services et Contrats Agiles
Guillaume St Etienne : Services et Contrats AgilesGuillaume St Etienne : Services et Contrats Agiles
Guillaume St Etienne : Services et Contrats Agiles
 
Améliorer les compétences et intrastructures avec les katas d'architecture
Améliorer les compétences et intrastructures avec les katas d'architectureAméliorer les compétences et intrastructures avec les katas d'architecture
Améliorer les compétences et intrastructures avec les katas d'architecture
 
Agile Tour 2010 - Mise en place d'un projet agile
Agile Tour 2010 - Mise en place d'un projet agileAgile Tour 2010 - Mise en place d'un projet agile
Agile Tour 2010 - Mise en place d'un projet agile
 

Plus de Agile Montréal

Plus de Agile Montréal (20)

ATMTL23 - L'agilité augmentée par ChatGPT: comment utiliser l'agent intellige...
ATMTL23 - L'agilité augmentée par ChatGPT: comment utiliser l'agent intellige...ATMTL23 - L'agilité augmentée par ChatGPT: comment utiliser l'agent intellige...
ATMTL23 - L'agilité augmentée par ChatGPT: comment utiliser l'agent intellige...
 
ATMTL23 - How to create and elevate top talent? A cohort-based learning metho...
ATMTL23 - How to create and elevate top talent? A cohort-based learning metho...ATMTL23 - How to create and elevate top talent? A cohort-based learning metho...
ATMTL23 - How to create and elevate top talent? A cohort-based learning metho...
 
ATMTL23 - TANS: there always a next sprint by Tom Siebeneicher and Sander Dur
ATMTL23 - TANS: there always a next sprint by Tom Siebeneicher and Sander DurATMTL23 - TANS: there always a next sprint by Tom Siebeneicher and Sander Dur
ATMTL23 - TANS: there always a next sprint by Tom Siebeneicher and Sander Dur
 
ATMTL23 - Dépasser les frontières : Réinterpréter les Principes ISTQB avec un...
ATMTL23 - Dépasser les frontières : Réinterpréter les Principes ISTQB avec un...ATMTL23 - Dépasser les frontières : Réinterpréter les Principes ISTQB avec un...
ATMTL23 - Dépasser les frontières : Réinterpréter les Principes ISTQB avec un...
 
ATMTL23 - Comment mieux atteindre vos objectifs grâce à l'agilité comportemen...
ATMTL23 - Comment mieux atteindre vos objectifs grâce à l'agilité comportemen...ATMTL23 - Comment mieux atteindre vos objectifs grâce à l'agilité comportemen...
ATMTL23 - Comment mieux atteindre vos objectifs grâce à l'agilité comportemen...
 
ATMTL23 - Le multivers Agile - Volume 2: Odyssée vers Agiletopia par Martin L...
ATMTL23 - Le multivers Agile - Volume 2: Odyssée vers Agiletopia par Martin L...ATMTL23 - Le multivers Agile - Volume 2: Odyssée vers Agiletopia par Martin L...
ATMTL23 - Le multivers Agile - Volume 2: Odyssée vers Agiletopia par Martin L...
 
ATMTL23 - Créer une entreprise apprenante : Les principes de Peter Senge pour...
ATMTL23 - Créer une entreprise apprenante : Les principes de Peter Senge pour...ATMTL23 - Créer une entreprise apprenante : Les principes de Peter Senge pour...
ATMTL23 - Créer une entreprise apprenante : Les principes de Peter Senge pour...
 
ATMTL23 - De la Zone de Guerre à la Zone de Cœur : Un Voyage de Résilience, d...
ATMTL23 - De la Zone de Guerre à la Zone de Cœur : Un Voyage de Résilience, d...ATMTL23 - De la Zone de Guerre à la Zone de Cœur : Un Voyage de Résilience, d...
ATMTL23 - De la Zone de Guerre à la Zone de Cœur : Un Voyage de Résilience, d...
 
ATMTL23 - Réussir sa transformation agile c'est d’abord changer son état d'es...
ATMTL23 - Réussir sa transformation agile c'est d’abord changer son état d'es...ATMTL23 - Réussir sa transformation agile c'est d’abord changer son état d'es...
ATMTL23 - Réussir sa transformation agile c'est d’abord changer son état d'es...
 
ATMTL23 - The Happiness Blueprint: Positivity Experiments for Powerful Teamwo...
ATMTL23 - The Happiness Blueprint: Positivity Experiments for Powerful Teamwo...ATMTL23 - The Happiness Blueprint: Positivity Experiments for Powerful Teamwo...
ATMTL23 - The Happiness Blueprint: Positivity Experiments for Powerful Teamwo...
 
ATMTL23 - Le Developer Experience au service de la livraison en continu par A...
ATMTL23 - Le Developer Experience au service de la livraison en continu par A...ATMTL23 - Le Developer Experience au service de la livraison en continu par A...
ATMTL23 - Le Developer Experience au service de la livraison en continu par A...
 
ATMTL23 - L'Arbre de vie - Une pratique narrative pour se réapproprier son pa...
ATMTL23 - L'Arbre de vie - Une pratique narrative pour se réapproprier son pa...ATMTL23 - L'Arbre de vie - Une pratique narrative pour se réapproprier son pa...
ATMTL23 - L'Arbre de vie - Une pratique narrative pour se réapproprier son pa...
 
ATMTL23 - Atelier PNL pour ameliorer la communication par Remi Roche
ATMTL23 - Atelier PNL pour ameliorer la communication par Remi RocheATMTL23 - Atelier PNL pour ameliorer la communication par Remi Roche
ATMTL23 - Atelier PNL pour ameliorer la communication par Remi Roche
 
ATMTL23 - Remettre l'humain au coeur de l'agilité avec le Mind Mapping par Re...
ATMTL23 - Remettre l'humain au coeur de l'agilité avec le Mind Mapping par Re...ATMTL23 - Remettre l'humain au coeur de l'agilité avec le Mind Mapping par Re...
ATMTL23 - Remettre l'humain au coeur de l'agilité avec le Mind Mapping par Re...
 
ATMTL23 - La collaboration intergénérationnelle au travail par Apolline Tissier
ATMTL23 - La collaboration intergénérationnelle au travail par Apolline  TissierATMTL23 - La collaboration intergénérationnelle au travail par Apolline  Tissier
ATMTL23 - La collaboration intergénérationnelle au travail par Apolline Tissier
 
ATMTL23 - L'odysée d'un PMO vers un VMO par Elyes Dekhili et Karl Métivier
ATMTL23 - L'odysée d'un PMO vers un VMO par Elyes Dekhili et Karl MétivierATMTL23 - L'odysée d'un PMO vers un VMO par Elyes Dekhili et Karl Métivier
ATMTL23 - L'odysée d'un PMO vers un VMO par Elyes Dekhili et Karl Métivier
 
ATMTL23 - Économie coopérative et agilité par Dominique Pothier
ATMTL23 - Économie coopérative et agilité par Dominique PothierATMTL23 - Économie coopérative et agilité par Dominique Pothier
ATMTL23 - Économie coopérative et agilité par Dominique Pothier
 
ATMTL23 - Agnostic Agile, un mouvement en Agilité qui respecte les bases les ...
ATMTL23 - Agnostic Agile, un mouvement en Agilité qui respecte les bases les ...ATMTL23 - Agnostic Agile, un mouvement en Agilité qui respecte les bases les ...
ATMTL23 - Agnostic Agile, un mouvement en Agilité qui respecte les bases les ...
 
ATMTL23 - Innovation Unleashed: Inspiring Agile Teams through Creative Thinki...
ATMTL23 - Innovation Unleashed: Inspiring Agile Teams through Creative Thinki...ATMTL23 - Innovation Unleashed: Inspiring Agile Teams through Creative Thinki...
ATMTL23 - Innovation Unleashed: Inspiring Agile Teams through Creative Thinki...
 
ATMTL23 - « A community of Scientists » Saisir le pouvoir du Toyota Kata pour...
ATMTL23 - « A community of Scientists » Saisir le pouvoir du Toyota Kata pour...ATMTL23 - « A community of Scientists » Saisir le pouvoir du Toyota Kata pour...
ATMTL23 - « A community of Scientists » Saisir le pouvoir du Toyota Kata pour...
 

Comment gérer la dette technique les bonnes pratiques de l’agile alliance - jean-pierre fayolle, jean-louis letouzey

  • 1. • L’Agile Alliance • Le concept de Dette Technique • L’initiative “Technical Debt” de l’Agile Alliance • Le jeu “Dice of Debt” • Exemples de livrables de l'initiative Agenda
  • 2. L’Agile Alliance • L’Agile Alliance • Créée par les signataires du manifeste agile • Plus de 23.000 membres • Un nouveau site qui attire plus de 50.000 utilisateurs par mois • LA conférence Agile : 2.500 participants • Devient de plus en plus globale (Agile Europe, Agile Brésil)
  • 3. • L’Agile Alliance • Le concept de Dette Technique • L’initiative “Technical Debt” de l’Agile Alliance • Le jeu “Dice of Debt” • Exemples de livrables de l'initiative Agenda
  • 4. Une définition pratique • « The feeling that, over time, writing or maintaining code is like running through mud. » 4Et vous, jusqu’où ? (1…. à 5)
  • 5. Des définition plus sérieuses…. • What is technical debt? • The increased difficulty in writing new code, or maintaining code, that is the natural result of… • Shortcuts • Bad coding practices • Hacks • Other times when you wish, in hindsight, you had coded more carefully 5
  • 6. • “With borrowed money you can do something sooner than you might otherwise, but until you pay back that money you will pay interest. • “I thought borrowing money was a good idea. I thought that rushing software out the door to get some experience with it was a good idea. But that of course you would eventually go back and as you learned things about that software you would repay that loan by refactoring the program to reflect your experience as you acquired it.” 6
  • 7. How do you create it? • Very easily, and here are a few common examples • “I didn’t have the time to write a simpler class…” • “No time to re-think the design of the class, • just keep adding new stuff to it!” • No time to think about how • someone else will fix or extend the code • No code review leads to culture of sloppiness • Didn’t think of the impact of generic error handling • Many other sources 7
  • 8. • L’Agile Alliance • Le concept de Dette Technique • L’initiative “Technical Debt” de l’Agile Alliance • Le jeu “Dice of Debt” • Exemples de livrables de l'initiative Agenda
  • 9. L’initiative T.D. de l’Agile Alliance • Un projet de volontariat supporté par l’Agile Alliance • Démarré en Juillet 2015 • Une équipe de six membres : Declan Whelan, Jean-Pierre Fayolle, Tom Grant, Dan Sturtevant, Thierry Coq, Jean-Louis Letouzey
  • 10. L’initiative T.D. de l’Agile Alliance : les produits • Livre blanc et video • Introduction to the technical debt concept • A2DAM (Agile Alliance Debt Analysis Model) • Un référentiel pour évaluer et analyser la dette technique du code • Project Management Guide • Des pratiques qui ont fait leur preuve • Dice Of Debt game • Eduquer et sensibiliser sur l’importance de gérer la dette technique 10 https://www.agilealliance.org/resources/initiatives/technical-debt/
  • 11. • L’Agile Alliance • Le concept de Dette Technique • L’initiative “Technical Debt” de l’Agile Alliance • Le jeu “Dice of Debt” • Exemples de livrables de l'initiative Agenda
  • 12. “Dice of Debt” : Introduction Principes du jeu Vous appartenez à une équipe de développement travaillant sur un projet de 10 sprints. Votre objectif est de créer le plus possible de valeur. La dette technique (D.T.) peut réduire considérablement cette valeur. Heureusement vous pouvez prendre des mesures pour la réduire. Ces mesures qui permettent de réduire votre dette ne sont pas gratuites. C'est à vous de décider laquelle sera la plus rentable.
  • 13. “Dice of Debt” : Les règles • A chaque tour (qui représente un sprint), votre équipe dispose d'une capacité limitée de création. Cette capacité est représentée par 12 dés. • Au 1° tour, votre capacité est de 8 dés qui créent de la valeur ajoutée et de 4 dés qui génèrent de la dette technique. • A chaque tour, vous jetez les dés “Valeur Ajoutée” et retenez le total obtenu : VA. Ensuite vous jouez les dés “Dette Technique” et vous totalisez le résultat DT. La valeur ajoutée nette (VAN) est égale à VA – DT. • Vous pouvez réduire votre D.T. et son impact, c'est un investissement qui réduit votre capacité à court terme de produire de la VA. Vous avez le choix entre 4 mesures possibles. • Vous ne pouvez investir qu'en une seule mesure à la fois. Ce n'est qu'à la fin de la période d'investissement relative à une mesure que vous en tirerez les bénéfices. A ce moment là vous pouvez investir dans une autre mesure (si vous le souhaitez).
  • 14. “Dice of Debt” : Réduire la dette  Réduction de la complexité (et du copier/coller)  Coût : 2 dés VA pendant 3 tours  Bénéfice : Transforme 2 dés DT en 2 dés VA pour le reste de la partie  Revue de pair  Coût : 3 dés VA pendant 2 tours  Bénéfice : Transforme 1 dé DT en 1 dé VA pour le reste de la partie  Intégration continue (y compris analyse statique du code)  Coût : 1 dé VA pendant 2 tours  Bénéfice : Rejouer à chaque tour 1 dé DT (que vous choisissez) pour le reste de la partie  Amélioration des tests (de leur taux de couverture)  Coût : 1 dé VA pendant 3 tours  Bénéfice : Soustraire 3 du TD de chaque tour pendant le reste de la partie
  • 15. “Dice of Debt” : La feuille de jeu
  • 16. Remplir la feuille de jeu X X 1 1 7 7 4 4 -3 -3 -3 -3 -3 -3 -3 -3 7 7 4 4 26 9 17 17 30 12 18 35
  • 17. Remplir la feuille de jeu X X 1 1 7 7 4 4 -3 -3 -3 -3 -3 -3 -3 -3 7 7 4 4 26 9 17 17 X X 3 3 5 5 4 4 30 12 18 35
  • 18. “Dice of Debt” : La table de jeux Dés investis (ne sont pas joués) Dés VA Dés TD
  • 19. “Dice of Debt” : La feuille de suivi
  • 20. “Dice of Debt” : Résultats SCORE max possible : 501 SCORE moyen : 206,5 Record actuel : 258
  • 21. “Dice of Debt” : Debriefing
  • 22. • L’Agile Alliance • Le concept de Dette Technique • L’initiative “Technical Debt” de l’Agile Alliance • Le jeu “Dice of Debt” • Exemples de livrables de l'initiative Agenda
  • 23. You will always face some Technical Debt • Some amount is to be expected • EX: Unintentional TD • The amount of TD will never be zero • But it has to be manageable • There can be situations in which you want to take on TD • EX: Architectural experiment, don’t want to take the time to “do it right” if it doesn’t work out • …As long as you clean it up • Of course, the problem is, people usually don’t 23
  • 24. Address the individual sources: the code 24 Name Good practice Affects Rationale Remediation Tested-CCOV A file has an acceptable level of code coverage. Reliability Unit tests verify that the code performs as expected without errors. Write tests in order to cover uncovered lines. Test variable values. Clear-INVL A "for" loop iterator is not modified in the body of the loop. Reliability Modifying the loop iterator inside the loop may lead to unreliable behavior. Code is also more difficult to understand. Restructure the code. Clear-DEST All "if"/"for"/"while" structures are delimited by curly braces. Changeability Using curly braces for control structures helps to better understand the code. Enclose the core of the structure with curly braces. Clear-CLDO Public classes and public methods are documented. Maintainability Code is easier to understand Identify public classes and public methods without documentation. Write additional meaningful comments. Assess your TD with the Agile Alliance Debt Analysis Model (A2DAM)
  • 25. A2DAM • Une liste de base de bonnes pratiques relatives au code • Toutes les pratiques • Sont vérifiables par des analyseurs de code • Ont été revues par des experts provenant de 10 sociétés éditeurs d’outils d’ analyse de code • Sont caractérisées avec leur impact, leur coût de remédiation…. A2DAM • Faites le test en ligne
  • 26. Address the individual sources: the team • Many project management-level measures, such as… • Follow the Boy Scout Rule • Make code review part of the done criteria • Dedicate some percentage of each sprint to TD reduction and prevention • Do static code analysis at some interval • … 26 Get advice from Project Management and Technical Debt document from the TD AA initiative
  • 27. Address the individual sources: the team 27
  • 28. The conclusion should be obvious 28 Short-term investment in technical debt reduction and prevention allows for increased productivity in the future Technical debt just keeps accumulating. Our productivity plummets.
  • 29. Questions ? N'oubliez pas de donner votre feedback !