Your SlideShare is downloading. ×
0
Esclave de votre
dette technique ?

Agile Tour Québec

6 novembre 2013

© 2013 Elapse Technologies

Image par JefferyTurne...
Image par NASA Goddard Photo and Video / Flickr
Félix-Antoine
Bourbonnais
Ing. jr, PSM-I, M.Sc.

Formateur et Coach

Tests
Qualité

Pascal Roy

Code propre

Ing., PMP, PS...
Participez !

© 2013 Elapse Technologies

Posez des questions…
LA DETTE TECHNIQUE ?

© 2013 Elapse Technologies

Qu’est-ce que
Question

© 2013 Elapse Technologies

Qui pense avoir de la dette
technique ?
C’est quoi ?

Mais au moins, avec une carte de
crédit, vous pouvez connaître

exactement votre

niveau d’endettement
Image...
La dette technique est tout ce qui
rend le code difficile à

La

Image par jsj1771 / Flickr

manipuler

viscosité du code ...
Pire…

C’est de l’intérêt composé !
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 à ...
Exemples: causes et symptômes
Architecture
couplée

Duplications

SQL dans
le UI

Pas d’abstraction

Petite rustine
(patch...
Le quadrant de la dette technique

© 2013 Elapse Technologies
© 2013 Elapse Technologies

POURQUOI ACCUMULONS-NOUS DE LA DETTE?
connaissance
Windows Vista:
5 ans, 10 000 employés
10 Milliards $$$ en salaires

© 2013 Elapse Technologies

Le développem...
Facteurs techniques
influençant la dette technique ?
Les outils
changent
souvent

Manque
d’expertise

Manque de
rigueur et...
Facteurs de gestion
influençant la dette technique ?
Pression d’affaires

Estimés imposés ou
irréalistes

Manque de
collab...
IMPACTS DE LA DETTE

© 2013 Elapse Technologies

Les
Confiance

© 2013 Elapse Technologies
Longévité et valeur produite

© 2013 Elapse Technologies
© 2013 Elapse Technologies

Votre promesse à vos clients est
basée sur quelle courbe ?
Compétitivité et prédictibilité
Vous pensez avoir…

Vous ignorez la dette…

Vous avez…

© 2013 Elapse Technologies

Agilit...
Développeurs:

Aimez-vous vivre cela ?

Des heures de
déverminage
sous pression

Stress des
livraisons

Impression de
tour...
En résumé…

-- Attribué à Marty Cagan @Agile2013

Image par michael pollak / Flickr

© 2013 Elapse Technologies

« If you ...
LIMITER LA DETTE ?

© 2013 Elapse Technologies

Comment
Savoir la reconnaître

l’équipe et la gestion

Image de Boykung / FreeDigitalPhotos.net"

© 2013 Elapse Technologies

Éduq...
La visualiser

© 2013 Elapse Technologies

Mesurez-la !
Outils pour la repérer et la communiquer ?
Outils d’analyse
• Duplication
• Métriques
• Respect des normes
© 2013 Elapse T...
Un défi

© 2013 Elapse Technologies

Demain, prenez 30 minutes
pour rouler un
outil d’analyse sur votre
code…
Comment la limiter ?

© 2013 Elapse Technologies

Maintenant que vous l’avez repérée
Pas de panique!
Il y en aura toujours…

© 2013 Elapse Technologies
Écrire vite ou lire vite ?

temps à lire du code
qu’à en écrire…

© 2013 Elapse Technologies

Un développeur passe plus de
Codez proprement et

chérissez votre code !
Image par Randi Deuro / Flickr
Pour être prêt,

s’entraîner

Image par will ockenden / Flickr

© 2013 Elapse Technologies

Il faut
Pour être prêt à y faire face

Collaborer

avoir des

tests

propriété du code

YAGNI et
DRY

architecturaux
• SOLID
• MVC...
(valorisation de la qualité interne)

Image par Alan Cleaver / Flickr

© 2013 Elapse Technologies

Évaluez les développeur...
Le développement logiciel…

C’est un marathon
pas un sprint courte piste !

Image par Peter Mooney / Flickr

© 2013 Elapse...
Ne pas négocier la dette

Aimeriez-vous cela?

© 2013 Elapse Technologies

On pourrait sauver du
temps en sautant cette
ét...
De bonnes raisons d’en créer?

© 2013 Elapse Technologies

Cela reposerait sur le principe qu’il
serait plus long de bien ...
COMMUNIQUER et la REMBOURSER

© 2013 Elapse Technologies

Comment la
Communiquez et écoutez !
Relevé de
dette

© 2013 Elapse Technologies

Regarder le produit
final n’est pas
suffisant
Image ...
Comment ??

© 2013 Elapse Technologies

Maintenant vous devez vous
entendre avec votre créancier…
© 2013 Elapse Technologies

Arrêter de vous endetter !!
Comment payer une dette technique

© 2013 Elapse Technologies

Réusiner
(refactor)
© 2013 Elapse Technologies

Comment planifier votre
réusinage?
Question

© 2013 Elapse Technologies

Avez-vous de la difficulté à passer
un User Story technique
à votre PO ?
Ce n’est pas un User Story
1

© 2013 Elapse Technologies

Ne devrait pas être traité comme
un User Story
En pratique…

Ce qui n’est pas au niveau du PO

© 2013 Elapse Technologies

C’est une tâche dans
un User Story
Ça ne sera pas fini demain!
2

© 2013 Elapse Technologies

Petit à petit et en continu
Constat

© 2013 Elapse Technologies

Le coût de la dette sera plus élevé
sur ce que vous touchez souvent
Suivre le principe…

(pour chaque Story)
Tout le monde…
Continuellement…

© 2013 Elapse Technologies

Laisser le terrain p...
Pas de Big Bang !

© 2013 Elapse Technologies

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

CONCLUSION
Mythe

Faire moins bien

Ça dépend de l’entraînement

© 2013 Elapse Technologies

ne prend pas moins de temps
Vous avez deux choix…

© 2013 Elapse Technologies

Image de wwarby et Arlington County / Flickr
Si vous préférez faire l’autruche…

Image de Paragon Inspections

© 2013 Elapse Technologies

Trouvez-vous que c’est
une b...
« La seule façon d’aller vite
est de bien faire »
-- Robert C. Martin

Image de Paul Bica / Flickr
Ne demandez pas la permission…
prenez-la !

© 2013 Elapse Technologies

C’est votre responsabilité de
limiter la dette pou...
« Patrimonialite aiguë »

Vous ne voulez pas l’attraper!

Patrimonialite n.f.
Infection du système vieillissant

Image de ...
Nous rejoindre
www.elapsetech.com

Félix-Antoine Bourbonnais

Pascal Roy
pascal.roy@elapsetech.com

elapsetech.com/fab

el...
© 2013 Elapse Technologies

Présenté par

ELAPSE TECHNOLOGIES
Elapse Technologies
Votre allié en développement logiciel Agile

Formation
Accompagnement (coaching)

Agilité (Scrum, Lean...
Blogue

Suivez nos professionnels sur
developpementagile.com
© 2013 Elapse Technologies

Image: renjith krishnan / FreeDig...
Upcoming SlideShare
Loading in...5
×

Esclave de votre dette technique?

2,325

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
2,325
On Slideshare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
20
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×