Download - Maitrisez votre dette_technique
![Page 1: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/1.jpg)
Maîtrisez votre dette technique
Par Nicolas Jozwiak
![Page 2: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/2.jpg)
2
BiographieBiographie
Nicolas Jozwiak
8 ans d’expérience
Coach et craftsman
![Page 3: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/3.jpg)
3
![Page 4: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/4.jpg)
4
AgendaAgenda
Définition dette financière / dette
technique
A
F Stratégies
B Vocabulaire agile
C Conséquences sur les projets
D Mécanismes sous jacents
E Résorber la dette
![Page 5: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/5.jpg)
Définitions
1
![Page 6: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/6.jpg)
6
Dette financièreDéfinitionsDéfinitions
![Page 7: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/7.jpg)
7
Dette techniqueDéfinitionsDéfinitions
• Code Smell
• Dette naturelle
• Dette intentionnelle
Ward Cunningham
![Page 8: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/8.jpg)
Vocabulaire
2
![Page 9: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/9.jpg)
9
Un peu de vocabulaireUn peu de vocabulaire
• Vélocité
‣ Représente la capacité d’une équipe à délivrer un certain nombre de fonctionnalités, exprimée en Story Point pour une période définie
• Story Point
‣ Unité de mesure relative pour connaître la difficulté des fonctionnalités
• Itération / Sprint
‣ Période de travail
![Page 10: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/10.jpg)
Conséquences
3
![Page 11: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/11.jpg)
11
Les conséquencesLes conséquences
![Page 12: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/12.jpg)
12
Les conséquencesLes conséquences
![Page 13: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/13.jpg)
13
Les conséquencesLes conséquences
![Page 14: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/14.jpg)
Mécanismes
4
![Page 15: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/15.jpg)
15
Les mécanismes sous jacentsLes mécanismes sous jacents
![Page 16: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/16.jpg)
16
Les mécanismes sous jacentsLes mécanismes sous jacents
• Prise de conscience en catastrophe
‣ Maintenances longues
‣ Evolutions difficiles à mettre en place
‣ Manque de fiabilité
![Page 17: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/17.jpg)
17
Les mécanismes sous jacentsLes mécanismes sous jacents
• Pourquoi une maintenance ou évolution peut prendre beaucoup de temps à développer ?
‣ La tolérance aux changements
![Page 18: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/18.jpg)
18
Tolérance aux changementsTolérance aux changements
• Comment juger de la tolérance aux changement d’un code ?
‣ La conception
‣ La lisibilité du code
‣ Les tests
![Page 19: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/19.jpg)
19
Tolérance aux changementsTolérance aux changements
• Conception
‣ SOLID
‣ Domain Driven Design
• Découpage cohérent et clair de l’application
![Page 20: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/20.jpg)
20
Tolérance aux changementsTolérance aux changements
• Lisibilité
‣ Interaction humain / machine
• Tests
‣ Garants de l’application
‣ Mise en place prend du temps
![Page 21: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/21.jpg)
21
Tolérance aux changementsTolérance aux changements
• Le Test Driven Development (TDD)
‣ Ecrire les tests avant les développements
![Page 22: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/22.jpg)
Résorber la dette
5
![Page 23: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/23.jpg)
23
Les bonnes pratiques de développementsLes bonnes pratiques de développements
• Extreme programming (XP)
‣ Refactoring
‣ Pair Programming
‣ Revue de code
![Page 24: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/24.jpg)
24
RefactoringRefactoring
![Page 25: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/25.jpg)
25
Pair programmingPair programming
![Page 26: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/26.jpg)
26
Revue de codeRevue de code
![Page 27: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/27.jpg)
27
![Page 28: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/28.jpg)
28
![Page 29: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/29.jpg)
Stratégies
6
![Page 30: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/30.jpg)
30
Les stratégiesLes stratégies
• Démarrage d’un nouveau projet
![Page 31: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/31.jpg)
31
Les stratégiesLes stratégies
• Intervention sur des projets existants
‣ À quel moment
appliquer les bonnes
pratiques ?
‣ Quelles stratégies
s’offrent à nous ?
![Page 32: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/32.jpg)
32
Les stratégiesLes stratégies
• Gérer la dette au quotidien
‣ Appliquer les bonnes pratiques dans les cycles
de
développements‣ Stratégie à long terme
![Page 33: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/33.jpg)
33
Les stratégiesLes stratégies
• Refactorings mineurs
‣ Intégration au fil de l’eau
» Peu de conséquences sur le comportement de l’application
» Renommages, factorisations, etc
![Page 34: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/34.jpg)
34
Les stratégiesLes stratégies
• Refactorings majeurs
‣ Impacts importants
» Ne pas mettre en péril l’application
![Page 35: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/35.jpg)
35
Les stratégiesLes stratégies
• Refactorings de longues durées
‣ Migration d’une technologie
» Outils de gestion de versions (SVN, GIT)
![Page 36: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/36.jpg)
36
Les stratégiesLes stratégies
• Recoder
![Page 37: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/37.jpg)
Conclusion
6
![Page 38: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/38.jpg)
38
ConclusionConclusion
• Réduire la dette au quotidien
• Dette introduite au quotidien
‣ Dette toxique
• Impossible à supprimer totalement
‣ Bonnes pratiques, outils et stratégies nous
permettent
de grandement l’atténuer
![Page 39: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/39.jpg)
39
ConclusionConclusion
• Restreindre les livraisons
‣ Garder un niveau de qualité
suffisant
• Craftsmanship
![Page 40: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/40.jpg)
40
ConclusionConclusion
![Page 41: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/41.jpg)
YOUFOR watching
THANK
Merci!
![Page 42: Maitrisez votre dette_technique](https://reader031.vdocuments.pub/reader031/viewer/2022013003/5469c021af7959653c8b51cf/html5/thumbnails/42.jpg)
42
BibliographieBibliographie• Kyle Brown - Paying back technical debt, 2010
http://www.ibm.com/developerworks/websphere/techjournal/1001_col_brown/ 1001_col_brown.html
• Martin Fowler – Technical Debt, 2009 - http://martinfowler.com/bliki/TechnicalDebt.html
• Steve McConnell – Technical Debt, 2007 -
http://blogs.construx.com/blogs/stevemcc/archive/2007/11/01/technical-debt-2.aspx
• Tom Brazier - Managing Technical Debt, 2007 - http://accu.org/index.php/journals/1301
• Kane Mar – Technical Debt and Design Death, 2006 -
http://www.scrumalliance.org/articles/14-technical-debt-and-design-death
• Principle of OOD - http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod
• Working Effectively with Legacy Code, Michael Feathers, 2004