Esclave de votre dette technique?

3,822 views

Published on

Votre code est un trou noir? Chaque fonctionnalité est de plus en plus difficile à développer? Vous ne voulez plus toucher à un module sous peine de voir toute votre énergie aspirée?

Cette présentation vous permettra de prendre conscience de l’impact de la dette technique sur votre quotidien et sur votre capacité à livrer du logiciel fonctionnel et de qualité à chaque itération.

Comment soutenir le même niveau de productivité? Comment garder son code simple et facile à changer?

La présentation sera en trois volets : identifier ce qu’est la dette et ses impacts, quelles sont les techniques et pratiques pour éviter la « patrimonialite aigüe» (infection d’un système vieillissant) et finalement, comment gérer la dette déjà accumulée, y compris quelques trucs pour votre PO.

Non, la déprime n’est pas le destin de tous les projets vieillissants…

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,822
On SlideShare
0
From Embeds
0
Number of Embeds
3,008
Actions
Shares
0
Downloads
24
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Esclave de votre dette technique?

  1. 1. Esclave de votre dette technique ? Agile Tour Québec 6 novembre 2013 © 2013 Elapse Technologies Image par JefferyTurner / Flickr
  2. 2. Image par NASA Goddard Photo and Video / Flickr
  3. 3. Félix-Antoine Bourbonnais Ing. jr, PSM-I, M.Sc. Formateur et Coach Tests Qualité Pascal Roy Code propre Ing., PMP, PSM-I. Vice-président et Coach Agilité Scrum et Pratiques de développement Architecture Design testable © 2013 Elapse Technologies TDD BDD et ATDD
  4. 4. Participez ! © 2013 Elapse Technologies Posez des questions…
  5. 5. LA DETTE TECHNIQUE ? © 2013 Elapse Technologies Qu’est-ce que
  6. 6. Question © 2013 Elapse Technologies Qui pense avoir de la dette technique ?
  7. 7. C’est quoi ? Mais au moins, avec une carte de crédit, vous pouvez connaître exactement votre niveau d’endettement Image par barsen / Flickr List designed by Nicholas Menghini from The Noun Project
  8. 8. La dette technique est tout ce qui rend le code difficile à La Image par jsj1771 / Flickr manipuler viscosité du code !
  9. 9. Pire… C’est de l’intérêt composé !
  10. 10. Imaginez un monde sans… Ah ouin ça fait ça ? C’est pas ma faute ! C’est où ça ? Ça va faire la job! Hey! Touche pas à ça ! C’tait pas réglé ce bogue là ?!? Comprends pas… Donnez donc ça au gars qui l’a fait…. © 2013 Elapse Technologies Ça va toucher X, Y, Z, la BD puis la GUI J’sais pas pourquoi mais ça marche Mhehhh!
  11. 11. Exemples: causes et symptômes Architecture couplée Duplications SQL dans le UI Pas d’abstraction Petite rustine (patch) Plein de méthodes statiques Spaghetti Code qui ne parle pas… Domaine anémique On se dépêche à corriger la tonne de bogues © 2013 Elapse Technologies Mauvais nommage Code pas propre
  12. 12. Le quadrant de la dette technique © 2013 Elapse Technologies
  13. 13. © 2013 Elapse Technologies POURQUOI ACCUMULONS-NOUS DE LA DETTE?
  14. 14. connaissance Windows Vista: 5 ans, 10 000 employés 10 Milliards $$$ en salaires © 2013 Elapse Technologies Le développement logiciel est complexe et demande de la
  15. 15. Facteurs techniques influençant la dette technique ? Les outils changent souvent Manque d’expertise Manque de rigueur et de discipline Pas de tests Réusinage tardif ou manquant Oui mais ça marche… Cowboy coding © 2013 Elapse Technologies Architecture Stratégie de tests
  16. 16. Facteurs de gestion influençant la dette technique ? Pression d’affaires Estimés imposés ou irréalistes Manque de collaboration Non confiance envers les développeurs Ignorer les avertissements de l’équipe Considérer les développeurs comme des ressources… Peur des développeurs reliée à la relation de pouvoir Pas d’emphase sur la qualité interne © 2013 Elapse Technologies Méconnaissance de la dette
  17. 17. IMPACTS DE LA DETTE © 2013 Elapse Technologies Les
  18. 18. Confiance © 2013 Elapse Technologies
  19. 19. Longévité et valeur produite © 2013 Elapse Technologies
  20. 20. © 2013 Elapse Technologies Votre promesse à vos clients est basée sur quelle courbe ?
  21. 21. Compétitivité et prédictibilité Vous pensez avoir… Vous ignorez la dette… Vous avez… © 2013 Elapse Technologies Agilité Rétroaction Vous voulez… Image par nasmac, willg willg.photography, Jemal / Flickr Vous payez votre dette… Vous avez…
  22. 22. Développeurs: Aimez-vous vivre cela ? Des heures de déverminage sous pression Stress des livraisons Impression de tourner en rond Ce qui devrait prendre 5 minutes prend 3h Confiance dans le travail produit ? © 2013 Elapse Technologies S’arracher les cheveux pour comprendre
  23. 23. En résumé… -- Attribué à Marty Cagan @Agile2013 Image par michael pollak / Flickr © 2013 Elapse Technologies « If you don't spend 20% of your time paying down technical debt, you'll spend 100% chasing problems »
  24. 24. LIMITER LA DETTE ? © 2013 Elapse Technologies Comment
  25. 25. Savoir la reconnaître l’équipe et la gestion Image de Boykung / FreeDigitalPhotos.net" © 2013 Elapse Technologies Éduquer
  26. 26. La visualiser © 2013 Elapse Technologies Mesurez-la !
  27. 27. Outils pour la repérer et la communiquer ? Outils d’analyse • Duplication • Métriques • Respect des normes © 2013 Elapse Technologies Pratiques • TDD • Revues • Binômes Intégration continue
  28. 28. Un défi © 2013 Elapse Technologies Demain, prenez 30 minutes pour rouler un outil d’analyse sur votre code…
  29. 29. Comment la limiter ? © 2013 Elapse Technologies Maintenant que vous l’avez repérée
  30. 30. Pas de panique! Il y en aura toujours… © 2013 Elapse Technologies
  31. 31. Écrire vite ou lire vite ? temps à lire du code qu’à en écrire… © 2013 Elapse Technologies Un développeur passe plus de
  32. 32. Codez proprement et chérissez votre code ! Image par Randi Deuro / Flickr
  33. 33. Pour être prêt, s’entraîner Image par will ockenden / Flickr © 2013 Elapse Technologies Il faut
  34. 34. Pour être prêt à y faire face Collaborer avoir des tests propriété du code YAGNI et DRY architecturaux • SOLID • MVC/MVP/MVVM • Abstraction-Instabilité • Tell Don’t Ask •… © 2013 Elapse Technologies Se vacciner contre la peur Partager la Maîtriser les principes
  35. 35. (valorisation de la qualité interne) Image par Alan Cleaver / Flickr © 2013 Elapse Technologies Évaluez les développeurs en fonction de la qualité du code
  36. 36. Le développement logiciel… C’est un marathon pas un sprint courte piste ! Image par Peter Mooney / Flickr © 2013 Elapse Technologies Ne créez pas un contexte propice à la dette…
  37. 37. Ne pas négocier la dette Aimeriez-vous cela? © 2013 Elapse Technologies On pourrait sauver du temps en sautant cette étape…
  38. 38. De bonnes raisons d’en créer? © 2013 Elapse Technologies Cela reposerait sur le principe qu’il serait plus long de bien faire…
  39. 39. COMMUNIQUER et la REMBOURSER © 2013 Elapse Technologies Comment la
  40. 40. Communiquez et écoutez ! Relevé de dette © 2013 Elapse Technologies Regarder le produit final n’est pas suffisant Image de stockimages / FreeDigitalPhotos.net List designed by Nicholas Menghini from The Noun Project
  41. 41. Comment ?? © 2013 Elapse Technologies Maintenant vous devez vous entendre avec votre créancier…
  42. 42. © 2013 Elapse Technologies Arrêter de vous endetter !!
  43. 43. Comment payer une dette technique © 2013 Elapse Technologies Réusiner (refactor)
  44. 44. © 2013 Elapse Technologies Comment planifier votre réusinage?
  45. 45. Question © 2013 Elapse Technologies Avez-vous de la difficulté à passer un User Story technique à votre PO ?
  46. 46. Ce n’est pas un User Story 1 © 2013 Elapse Technologies Ne devrait pas être traité comme un User Story
  47. 47. En pratique… Ce qui n’est pas au niveau du PO © 2013 Elapse Technologies C’est une tâche dans un User Story
  48. 48. Ça ne sera pas fini demain! 2 © 2013 Elapse Technologies Petit à petit et en continu
  49. 49. Constat © 2013 Elapse Technologies Le coût de la dette sera plus élevé sur ce que vous touchez souvent
  50. 50. Suivre le principe… (pour chaque Story) Tout le monde… Continuellement… © 2013 Elapse Technologies Laisser le terrain plus propre que quand vous y êtes arrivé
  51. 51. Pas de Big Bang ! © 2013 Elapse Technologies Image de imagerymajestic / FreeDigitalPhotos.net Image par Shalf / Flickr
  52. 52. © 2013 Elapse Technologies
  53. 53. © 2013 Elapse Technologies CONCLUSION
  54. 54. Mythe Faire moins bien Ça dépend de l’entraînement © 2013 Elapse Technologies ne prend pas moins de temps
  55. 55. Vous avez deux choix… © 2013 Elapse Technologies Image de wwarby et Arlington County / Flickr
  56. 56. Si vous préférez faire l’autruche… Image de Paragon Inspections © 2013 Elapse Technologies Trouvez-vous que c’est une bonne idée ?
  57. 57. « La seule façon d’aller vite est de bien faire » -- Robert C. Martin Image de Paul Bica / Flickr
  58. 58. Ne demandez pas la permission… prenez-la ! © 2013 Elapse Technologies C’est votre responsabilité de limiter la dette pour aller rapidement
  59. 59. « Patrimonialite aiguë » Vous ne voulez pas l’attraper! Patrimonialite n.f. Infection du système vieillissant Image de Y / Flickr © 2013 Elapse Technologies Lavez-vous les mains
  60. 60. Nous rejoindre www.elapsetech.com Félix-Antoine Bourbonnais Pascal Roy pascal.roy@elapsetech.com elapsetech.com/fab elapsetech.com/pascal @fbourbonnais @pascalroy1967 linkedin.com/in/fbourbonnais ca.linkedin.com/in/roypa © 2013 Elapse Technologies fbourbonnais@elapsetech.com
  61. 61. © 2013 Elapse Technologies Présenté par ELAPSE TECHNOLOGIES
  62. 62. Elapse Technologies Votre allié en développement logiciel Agile Formation Accompagnement (coaching) Agilité (Scrum, Lean, XP) Qualité et tests automatisés Architecture Agile Pratiques de développement © 2013 Elapse Technologies Conseils et diagnostics
  63. 63. Blogue Suivez nos professionnels sur developpementagile.com © 2013 Elapse Technologies Image: renjith krishnan / FreeDigitalPhotos.net

×