Slide 1

Slide 1 text

© 2013 Elapse Technologies © 2013 Elapse Technologies Esclave de votre dette technique ? Agile Tour Québec 6 novembre 2013 Image par JefferyTurner / Flickr

Slide 2

Slide 2 text

Image par NASA Goddard Photo and Video / Flickr

Slide 3

Slide 3 text

© 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

Slide 4

Slide 4 text

© 2013 Elapse Technologies Posez des questions… Participez !

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

© 2013 Elapse Technologies Question Qui pense avoir de la dette technique ?

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

La dette technique est tout ce qui rend le code difficile à manipuler La viscosité du code ! Image par jsj1771 / Flickr

Slide 9

Slide 9 text

Pire… C’est de l’intérêt composé !

Slide 10

Slide 10 text

© 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 !

Slide 11

Slide 11 text

© 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

Slide 12

Slide 12 text

© 2013 Elapse Technologies Le quadrant de la dette technique

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

© 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

Slide 15

Slide 15 text

© 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

Slide 16

Slide 16 text

© 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

Slide 17

Slide 17 text

© 2013 Elapse Technologies IMPACTS DE LA DETTE Les

Slide 18

Slide 18 text

© 2013 Elapse Technologies Confiance

Slide 19

Slide 19 text

© 2013 Elapse Technologies Longévité et valeur produite

Slide 20

Slide 20 text

© 2013 Elapse Technologies Votre promesse à vos clients est basée sur quelle courbe ?

Slide 21

Slide 21 text

© 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

Slide 22

Slide 22 text

© 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 ?

Slide 23

Slide 23 text

© 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

Slide 24

Slide 24 text

© 2013 Elapse Technologies LIMITER LA DETTE ? Comment

Slide 25

Slide 25 text

© 2013 Elapse Technologies Savoir la reconnaître Éduquer l’équipe et la gestion Image de Boykung / FreeDigitalPhotos.net"

Slide 26

Slide 26 text

© 2013 Elapse Technologies La visualiser Mesurez-la !

Slide 27

Slide 27 text

© 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

Slide 28

Slide 28 text

© 2013 Elapse Technologies Un défi Demain, prenez 30 minutes pour rouler un outil d’analyse sur votre code…

Slide 29

Slide 29 text

© 2013 Elapse Technologies Maintenant que vous l’avez repérée Comment la limiter ?

Slide 30

Slide 30 text

© 2013 Elapse Technologies Pas de panique! Il y en aura toujours…

Slide 31

Slide 31 text

© 2013 Elapse Technologies Écrire vite ou lire vite ? Un développeur passe plus de temps à lire du code qu’à en écrire…

Slide 32

Slide 32 text

Codez proprement et chérissez votre code ! Image par Randi Deuro / Flickr

Slide 33

Slide 33 text

© 2013 Elapse Technologies Pour être prêt, Il faut s’entraîner Image par will ockenden / Flickr

Slide 34

Slide 34 text

© 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

Slide 35

Slide 35 text

© 2013 Elapse Technologies Évaluez les développeurs en fonction de la qualité du code (valorisation de la qualité interne) Image par Alan Cleaver / Flickr

Slide 36

Slide 36 text

© 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

Slide 37

Slide 37 text

© 2013 Elapse Technologies Ne pas négocier la dette On pourrait sauver du temps en sautant cette étape… Aimeriez-vous cela?

Slide 38

Slide 38 text

© 2013 Elapse Technologies De bonnes raisons d’en créer? Cela reposerait sur le principe qu’il serait plus long de bien faire…

Slide 39

Slide 39 text

© 2013 Elapse Technologies COMMUNIQUER et la REMBOURSER Comment la

Slide 40

Slide 40 text

© 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

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

© 2013 Elapse Technologies Arrêter de vous endetter !!

Slide 43

Slide 43 text

© 2013 Elapse Technologies Comment payer une dette technique Réusiner (refactor)

Slide 44

Slide 44 text

© 2013 Elapse Technologies Comment planifier votre réusinage?

Slide 45

Slide 45 text

© 2013 Elapse Technologies Question Avez-vous de la difficulté à passer un User Story technique à votre PO ?

Slide 46

Slide 46 text

© 2013 Elapse Technologies Ce n’est pas un User Story Ne devrait pas être traité comme un User Story 1

Slide 47

Slide 47 text

© 2013 Elapse Technologies En pratique… C’est une tâche dans un User Story Ce qui n’est pas au niveau du PO

Slide 48

Slide 48 text

© 2013 Elapse Technologies Ça ne sera pas fini demain! Petit à petit et en continu 2

Slide 49

Slide 49 text

© 2013 Elapse Technologies Constat Le coût de la dette sera plus élevé sur ce que vous touchez souvent

Slide 50

Slide 50 text

© 2013 Elapse Technologies Suivre le principe… Laisser le terrain plus propre que quand vous y êtes arrivé (pour chaque Story) Tout le monde… Continuellement…

Slide 51

Slide 51 text

© 2013 Elapse Technologies Pas de Big Bang ! Image de imagerymajestic / FreeDigitalPhotos.net Image par Shalf / Flickr

Slide 52

Slide 52 text

© 2013 Elapse Technologies

Slide 53

Slide 53 text

© 2013 Elapse Technologies CONCLUSION

Slide 54

Slide 54 text

© 2013 Elapse Technologies Mythe Faire moins bien ne prend pas moins de temps Ça dépend de l’entraînement

Slide 55

Slide 55 text

© 2013 Elapse Technologies Vous avez deux choix… Image de wwarby et Arlington County / Flickr

Slide 56

Slide 56 text

© 2013 Elapse Technologies Si vous préférez faire l’autruche… Trouvez-vous que c’est une bonne idée ? Image de Paragon Inspections

Slide 57

Slide 57 text

Image de Paul Bica / Flickr « La seule façon d’aller vite est de bien faire » -- Robert C. Martin

Slide 58

Slide 58 text

© 2013 Elapse Technologies C’est votre responsabilité de limiter la dette pour aller rapidement Ne demandez pas la permission… prenez-la !

Slide 59

Slide 59 text

© 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

Slide 60

Slide 60 text

© 2013 Elapse Technologies Nous rejoindre www.elapsetech.com [email protected] elapsetech.com/fab @fbourbonnais linkedin.com/in/fbourbonnais Félix-Antoine Bourbonnais [email protected] elapsetech.com/pascal @pascalroy1967 ca.linkedin.com/in/roypa Pascal Roy

Slide 61

Slide 61 text

© 2013 Elapse Technologies ELAPSE TECHNOLOGIES Présenté par

Slide 62

Slide 62 text

© 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

Slide 63

Slide 63 text

© 2013 Elapse Technologies Blogue Image: renjith krishnan / FreeDigitalPhotos.net Suivez nos professionnels sur developpementagile.com