Merci à nos sponsors #AgileTourLille
Alliés contre les défauts
Pourquoi et comment nous relisons ensemble le code que nous...
Alliés contre les défauts
Pourquoi et comment nous relisons, ensemble,
le code que nous produisons.
Qui sommes nous ?
Antoine Blancke
Développeur au Web Center AXA
https://www.axawebcenter.fr/
Julien Jakubowski
Consultant-...
Le WebCenter d’AXA
10 équipes de développement
150 développeurs presque tous internes
Objectif : être une référence dans l...
AXA et OCTO
Nicolas Moreau, DG AXA France : “AXA France a pour ambition de devenir la
meilleure société de services du mar...
AXA et OCTO
14 J de formation par développeur sur 3 mois + accompagnement de 9 mois
sur ces pratiques :
● Revue de code
● ...
La revue de code et vous ?
● Qui fait relire son code par un collègue ?
● Régulièrement ?
● Par n’importe quel développeur...
Les revues de code avant…
Audit de code fait par un Tech Leader à chaque fin de sprint
Pair programming / peer review pour...
Maintenant au WebCenter
Chaque ligne de code est revue avant la mise en production
Toute l’équipe de dev revoit le code
Pe...
5% du budget ???
A quelles réactions s’attendre quand on demande 5% du budget de dev ?
“t’es gentil, mais non”
http://meme...
La revue de code... c’est trop
cher !
La revue de code... c’est trop
cher ?
Mais combien vous coûtent les
défauts ?
Combien peuvent coûter les défauts ?
Coût d’analyse Coût de correction Autres coûts
0,25 JH 0,5 JH 0,5 JH
20 JH 2 JH 50 JH...
Trouver un maximum de défauts, au plus tôt
Revue de code ⇒ 50% de réduction des défauts
Exemple chez CISCO :
Le R.O.I. de la revue de code
R.O.I. de 4 pour 1
Raytheon:
- sans revue : 43% du coût des projets logiciels = correction d...
Qui le fait ?
Communication à propos du code
Qualité intrinsèque du code
Propriété collective du code
Facilite l’apprentissage
Revue collective Revue par un pair Pair programming
Efficience (nombre de
défauts détectés)
Propriété collective du
code
A...
https://www.flickr.com/photos/peterkatuch/
Une pratique ancienne
Concrètement, ça se passe
comment au WebCenter ?
Checklist des standards
Kanban : Développement fini
Préparation de la revue
❏Invitation de l’équipe de dév (au moins un jour à l’avance)
❏Gérer la logistique : Salle + matéri...
Kanban : Code Review en cours
La réunion de revue
La réunion de revue
Et ensuite ?
Nous statuons ensemble sur le sort du code
Les défauts sont consignés et intégrés dans notre flux Kanban
Les ...
Kanban : Code Review - Fini
C’est bien bisounours tout ça…
Dur avec le code, doux avec les gens
Tu as fait une erreur
!
Ton code c’est de la
@(§"* !
Je crois que j’ai
trouvé un bug ...
Le modérateur qui perd le contrôle
http://static.tvtropes.org/pmwiki/pub/images/1084894-440px_hulk_13_super.jpg
Pas de time keeper
Rétro speed boat sur la pratique de revue
Ce qui est difficile, surtout au début
Avoir peur d’être jugé personnellement
Ne pas oser le feedback sur le code
Faire de...
Ce que nous avons appris
Critiquer le code et non la personne : changement de culture –
Egoless programming
Au début, fixe...
Pour conclure...
Résultats après 4 mois de pratique
Pour une release de début Février à fin Mai sur une équipe projet :
20 revues de code c...
Pour en savoir plus
http://blog.octo.com/revue-de-code-quel-format-choisir/
http://blog.octo.com/comment-rater-vos-revues-...
Pour en savoir plus
Antoine
Blancke
Michel Domenjoud Julien Jakubowski
⇒ Stands OCTO et AXA
⇒ Meetup Software Craftsmanshi...
Prochain SlideShare
Chargement dans…5
×

Agile tour 2015 alliés contre les défauts

2 069 vues

Publié le

Pourquoi et comment nous relisons ensemble tout le code que nous produisons - retour d'expérience du WebCenter AXA sur la revue de code, accompagnés par Octo.

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

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

Aucune remarque pour cette diapositive

Agile tour 2015 alliés contre les défauts

  1. 1. Merci à nos sponsors #AgileTourLille Alliés contre les défauts Pourquoi et comment nous relisons ensemble le code que nous produisons
  2. 2. Alliés contre les défauts Pourquoi et comment nous relisons, ensemble, le code que nous produisons.
  3. 3. Qui sommes nous ? Antoine Blancke Développeur au Web Center AXA https://www.axawebcenter.fr/ Julien Jakubowski Consultant-codeur – Octo à Lille http://www.octo.com/
  4. 4. Le WebCenter d’AXA 10 équipes de développement 150 développeurs presque tous internes Objectif : être une référence dans la qualité / maintenabilité
  5. 5. AXA et OCTO Nicolas Moreau, DG AXA France : “AXA France a pour ambition de devenir la meilleure société de services du marché” Cela implique d’être excellent dans la qualité des logiciels produits au WebCenter. Mise en place d’un modèle de suivi de l’amélioration de la qualité basé sur 2 indicateurs de résultat (= les KPI)
  6. 6. AXA et OCTO 14 J de formation par développeur sur 3 mois + accompagnement de 9 mois sur ces pratiques : ● Revue de code ● Développement piloté par les tests (TDD) ● Travailler sur le code existant (legacy code) ● Standards de qualité (clean code) ● Spécification par l’exemple (BDD) ● Communication et feedback efficace
  7. 7. La revue de code et vous ? ● Qui fait relire son code par un collègue ? ● Régulièrement ? ● Par n’importe quel développeur ? ● Par toute l’équipe en même temps ?
  8. 8. Les revues de code avant… Audit de code fait par un Tech Leader à chaque fin de sprint Pair programming / peer review pour les tâches compliquées Relecture partielle du code : des défauts nous échappaient Pas d’appropriation du standard : l’équipe apprend peu de ses revues
  9. 9. Maintenant au WebCenter Chaque ligne de code est revue avant la mise en production Toute l’équipe de dev revoit le code Pendant les revues, l’équipe ne code pas ⇒ prend 5% du budget de dev des projets.
  10. 10. 5% du budget ??? A quelles réactions s’attendre quand on demande 5% du budget de dev ? “t’es gentil, mais non” http://memegenerator.net/Correction-Guy “ça va pas la tête ? On ne tiendra jamais le planning !” http://memegenerator.net/Anxiety-Cat
  11. 11. La revue de code... c’est trop cher !
  12. 12. La revue de code... c’est trop cher ? Mais combien vous coûtent les défauts ?
  13. 13. Combien peuvent coûter les défauts ? Coût d’analyse Coût de correction Autres coûts 0,25 JH 0,5 JH 0,5 JH 20 JH 2 JH 50 JH 40 JH 25 JH 20 JH 150 JH 15 JH 200 JH 0,5 JH 1 JH 100 000 € 45 JH 4 JH 10 000 000 €
  14. 14. Trouver un maximum de défauts, au plus tôt Revue de code ⇒ 50% de réduction des défauts Exemple chez CISCO :
  15. 15. Le R.O.I. de la revue de code R.O.I. de 4 pour 1 Raytheon: - sans revue : 43% du coût des projets logiciels = correction de défauts - après que les revues soient généralisées : 5% du coût
  16. 16. Qui le fait ?
  17. 17. Communication à propos du code
  18. 18. Qualité intrinsèque du code
  19. 19. Propriété collective du code
  20. 20. Facilite l’apprentissage
  21. 21. Revue collective Revue par un pair Pair programming Efficience (nombre de défauts détectés) Propriété collective du code Amélioration de la qualité, évolution des standards Facilité de mise en oeuvre A A A B B B A A A Et les autres formats de revue ? C A B Les formats de revue
  22. 22. https://www.flickr.com/photos/peterkatuch/ Une pratique ancienne
  23. 23. Concrètement, ça se passe comment au WebCenter ?
  24. 24. Checklist des standards
  25. 25. Kanban : Développement fini
  26. 26. Préparation de la revue ❏Invitation de l’équipe de dév (au moins un jour à l’avance) ❏Gérer la logistique : Salle + matériels (vidéoprojecteur, grand écran) ❏Indiquer les stories qui vont passer en revue ❏Préparer le code à présenter
  27. 27. Kanban : Code Review en cours
  28. 28. La réunion de revue
  29. 29. La réunion de revue
  30. 30. Et ensuite ? Nous statuons ensemble sur le sort du code Les défauts sont consignés et intégrés dans notre flux Kanban Les standards sont mis à jour au besoin Les défauts sont corrigés et validés avec une peer-review
  31. 31. Kanban : Code Review - Fini
  32. 32. C’est bien bisounours tout ça…
  33. 33. Dur avec le code, doux avec les gens Tu as fait une erreur ! Ton code c’est de la @(§"* ! Je crois que j’ai trouvé un bug quand on met une chaîne vide. Ce code ne respecte pas nos standards, on avait dit pas plus de 30 lignes par méthode.
  34. 34. Le modérateur qui perd le contrôle http://static.tvtropes.org/pmwiki/pub/images/1084894-440px_hulk_13_super.jpg
  35. 35. Pas de time keeper
  36. 36. Rétro speed boat sur la pratique de revue
  37. 37. Ce qui est difficile, surtout au début Avoir peur d’être jugé personnellement Ne pas oser le feedback sur le code Faire des remarques peu pertinentes Abandonner la pratique (pression projet)
  38. 38. Ce que nous avons appris Critiquer le code et non la personne : changement de culture – Egoless programming Au début, fixer le rôle de modérateur sur certaines personnes Ne pas hésiter à échanger sur le code même avant les revues Il faut des leaders pour maintenir la pratique  tech lead
  39. 39. Pour conclure...
  40. 40. Résultats après 4 mois de pratique Pour une release de début Février à fin Mai sur une équipe projet : 20 revues de code collectives 126 défauts remontés Parmi ceux-là, 5 anomalies très sévères ! 6,6 défauts/revue (hors typo) Des standards qui évoluent continuellement Une montée en compétence plus rapide des nouveaux arrivants sur le projet
  41. 41. Pour en savoir plus http://blog.octo.com/revue-de-code-quel-format-choisir/ http://blog.octo.com/comment-rater-vos-revues-de-code-episode-1/ (série de 3 articles)
  42. 42. Pour en savoir plus Antoine Blancke Michel Domenjoud Julien Jakubowski ⇒ Stands OCTO et AXA ⇒ Meetup Software Craftsmanship Lille "Instead of asking why a piece of software is using 1970s technology, start asking why software is ignoring 40 years of accumulated wisdom."

×