Esclave de votre dette technique?

Esclave de votre dette technique?

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…

F209924610808dc55f985a99c6d380c3?s=128

Félix-Antoine Bourbonnais

November 09, 2013
Tweet

Transcript

  1. © 2013 Elapse Technologies © 2013 Elapse Technologies Esclave de

    votre dette technique ? Agile Tour Québec 6 novembre 2013 Image par JefferyTurner / Flickr
  2. Image par NASA Goddard Photo and Video / Flickr

  3. © 2013 Elapse Technologies Félix-Antoine Bourbonnais Ing. jr, PSM-I, M.Sc.

    Formateur et Coach Pascal Roy Ing., PMP, PSM-I. Vice-président et Coach Tests TDD BDD et ATDD Qualité Code propre Agilité Scrum et Pratiques de développement Architecture Design testable
  4. © 2013 Elapse Technologies Posez des questions… Participez !

  5. © 2013 Elapse Technologies LA DETTE TECHNIQUE ? Qu’est-ce que

  6. © 2013 Elapse Technologies Question Qui pense avoir de la

    dette technique ?
  7. C’est quoi ? Image par barsen / Flickr List designed

    by Nicholas Menghini from The Noun Project Mais au moins, avec une carte de crédit, vous pouvez connaître exactement votre niveau d’endettement
  8. La dette technique est tout ce qui rend le code

    difficile à manipuler La viscosité du code ! Image par jsj1771 / Flickr
  9. Pire… C’est de l’intérêt composé !

  10. © 2013 Elapse Technologies Imaginez un monde sans… C’est où

    ça ? Ça va faire la job! C’tait pas réglé ce bogue là ?!? Ah ouin ça fait ça ? J’sais pas pourquoi mais ça marche Mhehhh! Ça va toucher X, Y, Z, la BD puis la GUI C’est pas ma faute ! Comprends pas… Donnez donc ça au gars qui l’a fait…. Hey! Touche pas à ça !
  11. © 2013 Elapse Technologies Exemples: causes et symptômes Code pas

    propre Mauvais nommage 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
  12. © 2013 Elapse Technologies Le quadrant de la dette technique

  13. © 2013 Elapse Technologies POURQUOI ACCUMULONS-NOUS DE LA DETTE?

  14. © 2013 Elapse Technologies Le développement logiciel est complexe et

    demande de la connaissance Windows Vista: 5 ans, 10 000 employés 10 Milliards $$$ en salaires
  15. © 2013 Elapse Technologies Facteurs techniques influençant la dette technique

    ? Architecture Stratégie de tests 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
  16. © 2013 Elapse Technologies Facteurs de gestion influençant la dette

    technique ? Méconnaissance de la dette 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
  17. © 2013 Elapse Technologies IMPACTS DE LA DETTE Les

  18. © 2013 Elapse Technologies Confiance

  19. © 2013 Elapse Technologies Longévité et valeur produite

  20. © 2013 Elapse Technologies Votre promesse à vos clients est

    basée sur quelle courbe ?
  21. © 2013 Elapse Technologies Compétitivité et prédictibilité Image par nasmac,

    willg willg.photography, Jemal / Flickr Vous pensez avoir… Vous avez… Vous ignorez la dette… Vous payez votre dette… Vous voulez… Vous avez… Agilité Rétroaction
  22. © 2013 Elapse Technologies Développeurs: Aimez-vous vivre cela ? S’arracher

    les cheveux pour comprendre 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 ?
  23. © 2013 Elapse Technologies En résumé… Image par michael pollak

    / Flickr « If you don't spend 20% of your time paying down technical debt, you'll spend 100% chasing problems » -- Attribué à Marty Cagan @Agile2013
  24. © 2013 Elapse Technologies LIMITER LA DETTE ? Comment

  25. © 2013 Elapse Technologies Savoir la reconnaître Éduquer l’équipe et

    la gestion Image de Boykung / FreeDigitalPhotos.net"
  26. © 2013 Elapse Technologies La visualiser Mesurez-la !

  27. © 2013 Elapse Technologies Outils pour la repérer et la

    communiquer ? Outils d’analyse •Duplication •Métriques •Respect des normes Pratiques •TDD •Revues •Binômes Intégration continue
  28. © 2013 Elapse Technologies Un défi Demain, prenez 30 minutes

    pour rouler un outil d’analyse sur votre code…
  29. © 2013 Elapse Technologies Maintenant que vous l’avez repérée Comment

    la limiter ?
  30. © 2013 Elapse Technologies Pas de panique! Il y en

    aura toujours…
  31. © 2013 Elapse Technologies Écrire vite ou lire vite ?

    Un développeur passe plus de temps à lire du code qu’à en écrire…
  32. Codez proprement et chérissez votre code ! Image par Randi

    Deuro / Flickr
  33. © 2013 Elapse Technologies Pour être prêt, Il faut s’entraîner

    Image par will ockenden / Flickr
  34. © 2013 Elapse Technologies Pour être prêt à y faire

    face Collaborer Partager la propriété du code Maîtriser les principes architecturaux • SOLID • MVC/MVP/MVVM • Abstraction-Instabilité • Tell Don’t Ask • … Se vacciner contre la peur avoir des tests YAGNI et DRY
  35. © 2013 Elapse Technologies Évaluez les développeurs en fonction de

    la qualité du code (valorisation de la qualité interne) Image par Alan Cleaver / Flickr
  36. © 2013 Elapse Technologies Le développement logiciel… Ne créez pas

    un contexte propice à la dette… C’est un marathon pas un sprint courte piste ! Image par Peter Mooney / Flickr
  37. © 2013 Elapse Technologies Ne pas négocier la dette On

    pourrait sauver du temps en sautant cette étape… Aimeriez-vous cela?
  38. © 2013 Elapse Technologies De bonnes raisons d’en créer? Cela

    reposerait sur le principe qu’il serait plus long de bien faire…
  39. © 2013 Elapse Technologies COMMUNIQUER et la REMBOURSER Comment la

  40. © 2013 Elapse Technologies Communiquez et écoutez ! Image de

    stockimages / FreeDigitalPhotos.net List designed by Nicholas Menghini from The Noun Project Regarder le produit final n’est pas suffisant Relevé de dette
  41. © 2013 Elapse Technologies Maintenant vous devez vous entendre avec

    votre créancier… Comment ??
  42. © 2013 Elapse Technologies Arrêter de vous endetter !!

  43. © 2013 Elapse Technologies Comment payer une dette technique Réusiner

    (refactor)
  44. © 2013 Elapse Technologies Comment planifier votre réusinage?

  45. © 2013 Elapse Technologies Question Avez-vous de la difficulté à

    passer un User Story technique à votre PO ?
  46. © 2013 Elapse Technologies Ce n’est pas un User Story

    Ne devrait pas être traité comme un User Story 1
  47. © 2013 Elapse Technologies En pratique… C’est une tâche dans

    un User Story Ce qui n’est pas au niveau du PO
  48. © 2013 Elapse Technologies Ça ne sera pas fini demain!

    Petit à petit et en continu 2
  49. © 2013 Elapse Technologies Constat Le coût de la dette

    sera plus élevé sur ce que vous touchez souvent
  50. © 2013 Elapse Technologies Suivre le principe… Laisser le terrain

    plus propre que quand vous y êtes arrivé (pour chaque Story) Tout le monde… Continuellement…
  51. © 2013 Elapse Technologies Pas de Big Bang ! Image

    de imagerymajestic / FreeDigitalPhotos.net Image par Shalf / Flickr
  52. © 2013 Elapse Technologies

  53. © 2013 Elapse Technologies CONCLUSION

  54. © 2013 Elapse Technologies Mythe Faire moins bien ne prend

    pas moins de temps Ça dépend de l’entraînement
  55. © 2013 Elapse Technologies Vous avez deux choix… Image de

    wwarby et Arlington County / Flickr
  56. © 2013 Elapse Technologies Si vous préférez faire l’autruche… Trouvez-vous

    que c’est une bonne idée ? Image de Paragon Inspections
  57. Image de Paul Bica / Flickr « La seule façon

    d’aller vite est de bien faire » -- Robert C. Martin
  58. © 2013 Elapse Technologies C’est votre responsabilité de limiter la

    dette pour aller rapidement Ne demandez pas la permission… prenez-la !
  59. © 2013 Elapse Technologies « Patrimonialite aiguë » Vous ne

    voulez pas l’attraper! Lavez-vous les mains Patrimonialite n.f. Infection du système vieillissant Image de Y / Flickr
  60. © 2013 Elapse Technologies Nous rejoindre www.elapsetech.com fbourbonnais@elapsetech.com elapsetech.com/fab @fbourbonnais

    linkedin.com/in/fbourbonnais Félix-Antoine Bourbonnais pascal.roy@elapsetech.com elapsetech.com/pascal @pascalroy1967 ca.linkedin.com/in/roypa Pascal Roy
  61. © 2013 Elapse Technologies ELAPSE TECHNOLOGIES Présenté par

  62. © 2013 Elapse Technologies Elapse Technologies Formation Accompagnement (coaching) Conseils

    et diagnostics Votre allié en développement logiciel Agile Agilité (Scrum, Lean, XP) Qualité et tests automatisés Architecture Agile Pratiques de développement
  63. © 2013 Elapse Technologies Blogue Image: renjith krishnan / FreeDigitalPhotos.net

    Suivez nos professionnels sur developpementagile.com