La dette techniqueFrancois Wauquier @wokierAurélien Pelletier @toutantic#AgileFrance
Cest la crise !
Ward Explain Debt Metaphor
3,93 %TEG FIXE
Entropie logicielleEntropieTemps
Entropie logicielleEntropieTemps
Entropie logicielleEntropieTemps
Vélocité / Dette TechniqueTemps
Vélocité / Dette TechniqueTemps
Vélocité / Dette TechniqueTemps
Vélocité / Dette TechniqueTemps
Vélocité / Dette TechniqueTemps
Délais pour corrigerun bug en production● Minute● Heure● Jour● Semaine● ...
Taille du Bug Tracker
Temps dintégrationdun nouveau développeur
Build longhttp://xkcd.com/303/
Environnement obsolète
Quadrant de Martin FowlerAventureux PrudentDélibéréPas le temps dedesignerNous devonslivrer et assumerNégligeantCest quoi ...
Dette technique
Vélocité en chute libre
Faillite
Motivation
Problème
Planning GameComplexitéXLValeur métier0
Comportements déquipe● Endettement● Economie● Remboursement
[Effet][Description...][Avantage][Inconvénient][Pattern]SM L
ComportementsEndettement
Livrer des story presque finiEndettementFaire la demo, livrer mais ne pas clore la storypour rattrapper le retard dans le ...
Sprint de livraisonEndettementRéaliser des storypresque finie etdédier un sprint à lapréparation de la miseen production.-...
Story TechniqueEndettement● Intégrer au backlogdes Story Technique● Valeur métier : 0● Définir des règlesavec le PO+ Endet...
Livrer et oublierEndettementLivrer en létat à la fin du sprint- Le code n oubliera pas...L
Livrer et oublierEndettementLivrer en létat à la fin du sprint- Le code n oubliera pas...
ComportementsEconomies
"Definition Of Done" forteEconomiesNe pas livrer une story qui ne respecte pastous les critères Done Done+ Qualité- Risque...
TDDEconomies● Test● Code● Refactor+ Couverture+ Documentation+ Design
BinomageEconomies
Revue de code à chaudEconomiesRevue sur place avant commit+ Au plus proche
Revue de code à froidEconomiesRevue à distance● Pull Request● Document de revue de code+ Outillage- Moins formateur que Bi...
Quick StartEconomies● Documentation proche du code○ README / Getting started● Utilisation de standards○ git clone○ vagrant...
Règles de codeEconomies● Style● Design○ Single Responsibility Principle○ Couches / Couplage faible○ Communication adaptée+...
ComportementsRemboursement
Remboursement OpportunisteRemboursementProfiter dune évolution fonctionnelle pourrembourserSeule la User Story est visible...
Remboursement OpportunisteRemboursementProfiter dune évolution fonctionnelle pourrembourserSeule la User Story est visible...
Remboursement"Le camp doit être pluspropre que lorsque lonest arrivé"Baden Powell+ Amélioration progressive- Pas visibleSB...
RefactoringRemboursementRemaniement de code pour● le rendre plus lisible● éviter les duplications● faciliter la maintenanc...
Bug DayEconomieL
Objectif de couvertureRemboursementDéfinir un nouveau seuil minimum decouverture+ Rattrape le retardL
AutomatiserRemboursement● Livraison● Tests Fonctionnels● Documentation● Installation Poste Dev+ Gain temps- Coût du Ticket...
AccélérerRemboursementAccélérer ce qui est déjà automatiséDéfinir stratégie de tests automatiques+ Gain tempsS
Migration VersionRemboursement● Suivre les versions stables par petit pas+ Bénéficier des correctionsS
OutilsAnalyse de code
Informatif
Analyse de code (informatif)● IDE vérification active● IDE vérification à la demande● Contrôle durant IC build séparé● Out...
Poka Yoke
Poka Yoke
Analyse de code (Poka Yoke)● Contrôle durant IC build principal● Contrôle au commit○ Server-less Continuous Integration○ U...
Do Thing Right, but...DoRightThingDoThingRightFast
MerciFrancois Wauquier @wokierAurélien Pelletier @toutantic#AgileFrance
http://c2.com/cgi/wiki?WardExplainsDebtMetaphorhttp://martinfowler.com/bliki/TechnicalDebt.htmlhttp://www.targetprocess.co...
Agile france 2013 - Dette Technique
Agile france 2013 - Dette Technique
Agile france 2013 - Dette Technique
Agile france 2013 - Dette Technique
Agile france 2013 - Dette Technique
Agile france 2013 - Dette Technique
Agile france 2013 - Dette Technique
Agile france 2013 - Dette Technique
Agile france 2013 - Dette Technique
Agile france 2013 - Dette Technique
Agile france 2013 - Dette Technique
Agile france 2013 - Dette Technique
Prochain SlideShare
Chargement dans…5
×

Agile france 2013 - Dette Technique

2 222 vues

Publié le

Tenir un engagement et s’endetter techniquement ou ne pas transiger sur la qualité. Qui n’a jamais été confronté à ce dilemne ?

La dette technique est une puissante métaphore, présenté par Ward Cunningham en 1992 pour symboliser le fait que la dette s’accumule et que les interêts sont de plus en plus importants.

Pourtant cette dette est encore floue pour beaucoup d’équipes. Et il y a un lien évident mais parfois ignoré entre qualité et vélocité. En faisant toujours le choix de la dette, le risque est se rapprocher d’un code legacy dont l’équipe a perdu le contrôle.

Cette présentation en binôme vous donnera des clés pour visualiser et maitriser votre qualité avec de grandes exigences tout en restant concret et pragmatique. Nous vous proposerons différentes stratégies pour faire face à ce dilemme. Nous montrerons des exemples et des outils en java. Que votre application ait un mois ou 10ans, en repartant de cette session vous aurez des outils, des pratiques et du vocabulaire pour faire vos choix en connaissance de cause.

Devenez un fin gestionnaire de votre patrimoine de code.

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
2 222
Sur SlideShare
0
Issues des intégrations
0
Intégrations
337
Actions
Partages
0
Téléchargements
20
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Agile france 2013 - Dette Technique

  1. 1. La dette techniqueFrancois Wauquier @wokierAurélien Pelletier @toutantic#AgileFrance
  2. 2. Cest la crise !
  3. 3. Ward Explain Debt Metaphor
  4. 4. 3,93 %TEG FIXE
  5. 5. Entropie logicielleEntropieTemps
  6. 6. Entropie logicielleEntropieTemps
  7. 7. Entropie logicielleEntropieTemps
  8. 8. Vélocité / Dette TechniqueTemps
  9. 9. Vélocité / Dette TechniqueTemps
  10. 10. Vélocité / Dette TechniqueTemps
  11. 11. Vélocité / Dette TechniqueTemps
  12. 12. Vélocité / Dette TechniqueTemps
  13. 13. Délais pour corrigerun bug en production● Minute● Heure● Jour● Semaine● ...
  14. 14. Taille du Bug Tracker
  15. 15. Temps dintégrationdun nouveau développeur
  16. 16. Build longhttp://xkcd.com/303/
  17. 17. Environnement obsolète
  18. 18. Quadrant de Martin FowlerAventureux PrudentDélibéréPas le temps dedesignerNous devonslivrer et assumerNégligeantCest quoi cescouches ?Nous savonsmaintenantcomment nousaurions du faire
  19. 19. Dette technique
  20. 20. Vélocité en chute libre
  21. 21. Faillite
  22. 22. Motivation
  23. 23. Problème
  24. 24. Planning GameComplexitéXLValeur métier0
  25. 25. Comportements déquipe● Endettement● Economie● Remboursement
  26. 26. [Effet][Description...][Avantage][Inconvénient][Pattern]SM L
  27. 27. ComportementsEndettement
  28. 28. Livrer des story presque finiEndettementFaire la demo, livrer mais ne pas clore la storypour rattrapper le retard dans le sprint suivant+ Client est contentM
  29. 29. Sprint de livraisonEndettementRéaliser des storypresque finie etdédier un sprint à lapréparation de la miseen production.- Casse le rythmeL
  30. 30. Story TechniqueEndettement● Intégrer au backlogdes Story Technique● Valeur métier : 0● Définir des règlesavec le PO+ Endettement visibleVisible InvisibleValeurMétierForteUser Story ArchitectureValeurMétierFaibleBugStoryTechniqueL
  31. 31. Livrer et oublierEndettementLivrer en létat à la fin du sprint- Le code n oubliera pas...L
  32. 32. Livrer et oublierEndettementLivrer en létat à la fin du sprint- Le code n oubliera pas...
  33. 33. ComportementsEconomies
  34. 34. "Definition Of Done" forteEconomiesNe pas livrer une story qui ne respecte pastous les critères Done Done+ Qualité- Risque de paralysie
  35. 35. TDDEconomies● Test● Code● Refactor+ Couverture+ Documentation+ Design
  36. 36. BinomageEconomies
  37. 37. Revue de code à chaudEconomiesRevue sur place avant commit+ Au plus proche
  38. 38. Revue de code à froidEconomiesRevue à distance● Pull Request● Document de revue de code+ Outillage- Moins formateur que Binômage
  39. 39. Quick StartEconomies● Documentation proche du code○ README / Getting started● Utilisation de standards○ git clone○ vagrant up○ mvn clean install○ mvn jetty:run+ Gain de temps dintégration dun nouveau○ bower install○ npm install○ grunt server
  40. 40. Règles de codeEconomies● Style● Design○ Single Responsibility Principle○ Couches / Couplage faible○ Communication adaptée+ Facilité lecture de code+ Détection Bug simples
  41. 41. ComportementsRemboursement
  42. 42. Remboursement OpportunisteRemboursementProfiter dune évolution fonctionnelle pourrembourserSeule la User Story est visibleRien ne se fait sans valeur métier associée+ TransparentL
  43. 43. Remboursement OpportunisteRemboursementProfiter dune évolution fonctionnelle pourrembourserSeule la User Story est visibleRien ne se fait sans valeur métier associée+ TransparentL
  44. 44. Remboursement"Le camp doit être pluspropre que lorsque lonest arrivé"Baden Powell+ Amélioration progressive- Pas visibleSBoy Scout
  45. 45. RefactoringRemboursementRemaniement de code pour● le rendre plus lisible● éviter les duplications● faciliter la maintenance● permettre lextension+ Qualité- Nécessite bonne couverture AVANTL
  46. 46. Bug DayEconomieL
  47. 47. Objectif de couvertureRemboursementDéfinir un nouveau seuil minimum decouverture+ Rattrape le retardL
  48. 48. AutomatiserRemboursement● Livraison● Tests Fonctionnels● Documentation● Installation Poste Dev+ Gain temps- Coût du Ticket dentréeL
  49. 49. AccélérerRemboursementAccélérer ce qui est déjà automatiséDéfinir stratégie de tests automatiques+ Gain tempsS
  50. 50. Migration VersionRemboursement● Suivre les versions stables par petit pas+ Bénéficier des correctionsS
  51. 51. OutilsAnalyse de code
  52. 52. Informatif
  53. 53. Analyse de code (informatif)● IDE vérification active● IDE vérification à la demande● Contrôle durant IC build séparé● Outils Externe (ex: Sonar)Distance du développeurIDE IntégrationContinueOutilExterneBuildLocal
  54. 54. Poka Yoke
  55. 55. Poka Yoke
  56. 56. Analyse de code (Poka Yoke)● Contrôle durant IC build principal● Contrôle au commit○ Server-less Continuous Integration○ Unbreakable buildDistance du développeurIDE IntégrationContinueOutilExterneBuildLocal
  57. 57. Do Thing Right, but...DoRightThingDoThingRightFast
  58. 58. MerciFrancois Wauquier @wokierAurélien Pelletier @toutantic#AgileFrance
  59. 59. http://c2.com/cgi/wiki?WardExplainsDebtMetaphorhttp://martinfowler.com/bliki/TechnicalDebt.htmlhttp://www.targetprocess.com/rightthing.htmlhttp://www.andrejkoelewijn.com/blog/2010/11/25/lac2010-technical-debt/http://www.infoq.com/articles/managing-technical-debtSources

×