SlideShare une entreprise Scribd logo
1  sur  14
Télécharger pour lire hors ligne
www.octo.com - www.usievents.com 1@mdomenjoud #AgileTourLille #CodeReview
RATEZ RÉUSSISSEZ VOS REVUES
DE CODE EN 5 LEÇONS
Michel DOMENJOUD
Agile Tour Lille – 15 octobre 2015
www.octo.com - www.usievents.com 2@mdomenjoud #AgileTourLille #CodeReview
Développeur, in love with code since 2003.
Tech Lead – Coach Craft chez Octo Technology
@mdomenjoud #BetterPlacesWithBetterCode
MICHEL DOMENJOUD
www.octo.com - www.usievents.com 3@mdomenjoud #AgileTourLille #CodeReview
…la revue de code !
S’il n’y avait qu’une seule chose à garder…
www.octo.com - www.usievents.com 4@mdomenjoud #AgileTourLille #CodeReview
Efficace depuis la nuit des temps
Un objectif : Détecter les défauts le plus tôt
possible
Jusqu’à 65% des défauts détectés
ROI de 4 pour 1
1h de revue → 4h de debug économisées
Des bénéfices conséquents :
Partager des standards
Renforcer la propriété collective du code
Faciliter l’apprentissage
Améliorer la communication autour du code
http://sail.cs.queensu.ca/publications/pubs/msr2014-mcintosh.pdf
http://www.reviewtechnik.de/NationalSoftwareQualityExperiment.pdf
www.octo.com - www.usievents.com 5@mdomenjoud #AgileTourLille #CodeReview
Revue par un pair
Pair programming
Revue collective
www.octo.com - www.usievents.com 6@mdomenjoud #AgileTourLille #CodeReview
Fail #1 : On croule toujours sous les bugs !
www.octo.com - www.usievents.com 7@mdomenjoud #AgileTourLille #CodeReview
Allez le plus vite
possible !
Allez-y les mains
dans les poches !
Ne demandez à
personne comment
s’y prendre !
- Prenez le temps, à un rythme soutenable
- Demandez une revue dès que possible
- Préparez la revue via une lecture à tête
reposée
- Utilisez des standards et checklists
partagés
- Formez vous ensemble
Pour passer à côté
des défauts Et pour les détecter ?
www.octo.com - www.usievents.com 8@mdomenjoud #AgileTourLille #CodeReview
Fail #2 Mon équipe ne progresse pas
www.octo.com - www.usievents.com 9@mdomenjoud #AgileTourLille #CodeReview
Ne vous parlez
surtout pas !
Corrigez tout à la
place de l’auteur !
N’écrivez pas vos
standards
- Échangez de vive voix pendant les revues
- L’auteur corrige, en binôme si nécessaire
- Ecrivez vos standards
- Faites les évoluer au fil des revues
Pour stagner au fil des
revues Et pour progresser ?
www.octo.com - www.usievents.com 10@mdomenjoud #AgileTourLille #CodeReview
Fail #3 : On se tape dessus
www.octo.com - www.usievents.com 11@mdomenjoud #AgileTourLille #CodeReview
Critiquez en priorité
les personnes !
Lancez toujours
une language /
framework war !
- Critiquez le code, pas le développeur
- Appuyez vous sur les principes Egoless
Programming
- C’est pas le moment
- Trouvez des compromis
- Choisissez un standard et écrivez-le
Pour être sûr de
s’engueuler Et pour une revue sereine ?
www.octo.com - www.usievents.com 12@mdomenjoud #AgileTourLille #CodeReview
Trois formats complémentaires
Revue par un pair
Revue
collective
Pair
programming
Démarrer une User Story,
Code complexe,
Code Legacy, Debug,
Apprendre
Etablir des standards
Code critique
Nouvelles technos
Tout le tempsRégulièrement A la demande
www.octo.com - www.usievents.com 13@mdomenjoud #AgileTourLille #CodeReview
5 leçons à
retenir
Leçon n°1 - Prenez le temps
Préparation à tête reposée
Rythme soutenable (max 1h30 & 300 LoC à la fois)
Leçon n°2 - Progressez ensemble
Échangez de vive voix pendant les revues
L’auteur corrige, en binôme si nécessaire
Leçon n°3 - Utilisez des standards
Utilisez des standards et checklists partagés
Faites les évoluer au fil des revues
Leçon n°4 - Critiquez le code, pas le dév.
Principes Egoless Programming
Leçon n°5 - Trouvez le(s) formats qui vous conviennent
et adaptez les à vos besoins
www.octo.com - www.usievents.com 14@mdomenjoud #AgileTourLille #CodeReview
Pour aller plus loin
http://blog.octo.com/revue-de-code-quel-format-choisir/
Série d’articles sur la revue de code
Better Places With Better Code

Contenu connexe

Tendances

Remettons les tests au coeur des projets
Remettons les tests au coeur des projetsRemettons les tests au coeur des projets
Remettons les tests au coeur des projetsChristophe Gigax
 
Coding dojo en entreprise
Coding dojo en entrepriseCoding dojo en entreprise
Coding dojo en entrepriseNicolas Ledez
 
XebiCon'16 : La programmation concurrente en Go. Par Jérome Doucet et Diana O...
XebiCon'16 : La programmation concurrente en Go. Par Jérome Doucet et Diana O...XebiCon'16 : La programmation concurrente en Go. Par Jérome Doucet et Diana O...
XebiCon'16 : La programmation concurrente en Go. Par Jérome Doucet et Diana O...Publicis Sapient Engineering
 
Les Code Reviews : le guide de survie
Les Code Reviews : le guide de survieLes Code Reviews : le guide de survie
Les Code Reviews : le guide de survieNicolas VERINAUD
 
[Agile Testing Day] Techniques avancées de tests
[Agile Testing Day] Techniques avancées de tests[Agile Testing Day] Techniques avancées de tests
[Agile Testing Day] Techniques avancées de testsCellenza
 

Tendances (7)

Remettons les tests au coeur des projets
Remettons les tests au coeur des projetsRemettons les tests au coeur des projets
Remettons les tests au coeur des projets
 
Coding dojo en entreprise
Coding dojo en entrepriseCoding dojo en entreprise
Coding dojo en entreprise
 
DevOps
DevOpsDevOps
DevOps
 
XebiCon'16 : La programmation concurrente en Go. Par Jérome Doucet et Diana O...
XebiCon'16 : La programmation concurrente en Go. Par Jérome Doucet et Diana O...XebiCon'16 : La programmation concurrente en Go. Par Jérome Doucet et Diana O...
XebiCon'16 : La programmation concurrente en Go. Par Jérome Doucet et Diana O...
 
Les Code Reviews : le guide de survie
Les Code Reviews : le guide de survieLes Code Reviews : le guide de survie
Les Code Reviews : le guide de survie
 
Coding Dojo
Coding DojoCoding Dojo
Coding Dojo
 
[Agile Testing Day] Techniques avancées de tests
[Agile Testing Day] Techniques avancées de tests[Agile Testing Day] Techniques avancées de tests
[Agile Testing Day] Techniques avancées de tests
 

En vedette

High Performance Drupal with MariaDB
High Performance Drupal with MariaDBHigh Performance Drupal with MariaDB
High Performance Drupal with MariaDBMariaDB Corporation
 
Introduction aux bases de données
Introduction aux bases de donnéesIntroduction aux bases de données
Introduction aux bases de donnéesIsabelle Motte
 
Ms project 2 outils de gestion
Ms project 2  outils de gestionMs project 2  outils de gestion
Ms project 2 outils de gestionJoom La
 
Ms project 1 principes de gestion de projets
Ms project 1  principes de gestion de projetsMs project 1  principes de gestion de projets
Ms project 1 principes de gestion de projetsJoom La
 
Introduction Gestion Projet web
Introduction Gestion Projet webIntroduction Gestion Projet web
Introduction Gestion Projet webguest6d3f53
 
L'agilité organisationnelle
L'agilité organisationnelleL'agilité organisationnelle
L'agilité organisationnelleClaude Emond
 
Quickie Incanter/Clojure à Devoxx France 2012
Quickie Incanter/Clojure à Devoxx France 2012Quickie Incanter/Clojure à Devoxx France 2012
Quickie Incanter/Clojure à Devoxx France 2012Claude Falguiere
 
The Future of Everything
The Future of EverythingThe Future of Everything
The Future of EverythingCharbel Zeaiter
 

En vedette (12)

Tests unitaires
Tests unitairesTests unitaires
Tests unitaires
 
High Performance Drupal with MariaDB
High Performance Drupal with MariaDBHigh Performance Drupal with MariaDB
High Performance Drupal with MariaDB
 
Qui est GL Events
Qui est GL EventsQui est GL Events
Qui est GL Events
 
Introduction aux bases de données
Introduction aux bases de donnéesIntroduction aux bases de données
Introduction aux bases de données
 
UML4
UML4UML4
UML4
 
Ms project 2 outils de gestion
Ms project 2  outils de gestionMs project 2  outils de gestion
Ms project 2 outils de gestion
 
Ms project 1 principes de gestion de projets
Ms project 1  principes de gestion de projetsMs project 1  principes de gestion de projets
Ms project 1 principes de gestion de projets
 
Introduction Gestion Projet web
Introduction Gestion Projet webIntroduction Gestion Projet web
Introduction Gestion Projet web
 
Introduction à XML
Introduction à XMLIntroduction à XML
Introduction à XML
 
L'agilité organisationnelle
L'agilité organisationnelleL'agilité organisationnelle
L'agilité organisationnelle
 
Quickie Incanter/Clojure à Devoxx France 2012
Quickie Incanter/Clojure à Devoxx France 2012Quickie Incanter/Clojure à Devoxx France 2012
Quickie Incanter/Clojure à Devoxx France 2012
 
The Future of Everything
The Future of EverythingThe Future of Everything
The Future of Everything
 

Similaire à Agile Tour Lille 2015 - Ratez vos revues de code

NDepend 5 en action par son créateur
NDepend 5 en action par son créateurNDepend 5 en action par son créateur
NDepend 5 en action par son créateurMicrosoft
 
Agile tour 2015 alliés contre les défauts
Agile tour 2015   alliés contre les défautsAgile tour 2015   alliés contre les défauts
Agile tour 2015 alliés contre les défautsJulien Jakubowski
 
Agile tour Lille 2015 allies ensemble contre les defauts
Agile tour Lille 2015 allies ensemble contre les defautsAgile tour Lille 2015 allies ensemble contre les defauts
Agile tour Lille 2015 allies ensemble contre les defautsAntoine Blk
 
10 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 810 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 8Microsoft
 
[BreizhCamp 2016] La relecture de code : avant tout des pratiques
[BreizhCamp 2016] La relecture de code : avant tout des pratiques[BreizhCamp 2016] La relecture de code : avant tout des pratiques
[BreizhCamp 2016] La relecture de code : avant tout des pratiquesEric SIBER
 
[Agile Laval 2016] La relecture de code : avant tout des pratiques
[Agile Laval 2016] La relecture de code : avant tout des pratiques[Agile Laval 2016] La relecture de code : avant tout des pratiques
[Agile Laval 2016] La relecture de code : avant tout des pratiquesEric SIBER
 
Agilité, Tests Et Industrialisation
Agilité, Tests Et IndustrialisationAgilité, Tests Et Industrialisation
Agilité, Tests Et IndustrialisationPHPPRO
 
SEO : Identifier les concurrents qui sont meilleurs que moi
SEO : Identifier les concurrents qui sont meilleurs que moiSEO : Identifier les concurrents qui sont meilleurs que moi
SEO : Identifier les concurrents qui sont meilleurs que moiNicolas AUDEMAR
 
Optimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJSOptimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJSMicrosoft
 
La relecture de code : avant tout des pratiques
La relecture de code : avant tout des pratiquesLa relecture de code : avant tout des pratiques
La relecture de code : avant tout des pratiquesEric SIBER
 
Soirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec SonarSoirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec SonarElsassJUG
 
La Meta-programmation
La Meta-programmation La Meta-programmation
La Meta-programmation Microsoft
 
Construire un produit open source, en mode lean, agile et open standards
Construire un produit open source, en mode lean, agile et open standardsConstruire un produit open source, en mode lean, agile et open standards
Construire un produit open source, en mode lean, agile et open standardsNyco
 
20131024 qualité de code et sonar - mug lyon
20131024   qualité de code et sonar - mug lyon20131024   qualité de code et sonar - mug lyon
20131024 qualité de code et sonar - mug lyonClement Bouillier
 
Revues de code forum php
Revues de code forum phpRevues de code forum php
Revues de code forum phpALTER WAY
 
Meetup #1 low-code, Pourquoi ? Pour qui ? Comment ? Rencontrons-nous !
Meetup #1 low-code, Pourquoi ? Pour qui ? Comment ? Rencontrons-nous !Meetup #1 low-code, Pourquoi ? Pour qui ? Comment ? Rencontrons-nous !
Meetup #1 low-code, Pourquoi ? Pour qui ? Comment ? Rencontrons-nous !Simplicité Software
 
10 ans de Code (Agile Bordeaux 2019).pptx
10 ans de Code (Agile Bordeaux 2019).pptx10 ans de Code (Agile Bordeaux 2019).pptx
10 ans de Code (Agile Bordeaux 2019).pptxGuillaume Saint Etienne
 
Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?Microsoft
 
Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...
Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...
Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...SEO CAMP
 
Synergies entre DEV et SEO (SeoCampus 2019)
Synergies entre DEV et SEO (SeoCampus 2019)Synergies entre DEV et SEO (SeoCampus 2019)
Synergies entre DEV et SEO (SeoCampus 2019)LVLUP
 

Similaire à Agile Tour Lille 2015 - Ratez vos revues de code (20)

NDepend 5 en action par son créateur
NDepend 5 en action par son créateurNDepend 5 en action par son créateur
NDepend 5 en action par son créateur
 
Agile tour 2015 alliés contre les défauts
Agile tour 2015   alliés contre les défautsAgile tour 2015   alliés contre les défauts
Agile tour 2015 alliés contre les défauts
 
Agile tour Lille 2015 allies ensemble contre les defauts
Agile tour Lille 2015 allies ensemble contre les defautsAgile tour Lille 2015 allies ensemble contre les defauts
Agile tour Lille 2015 allies ensemble contre les defauts
 
10 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 810 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 8
 
[BreizhCamp 2016] La relecture de code : avant tout des pratiques
[BreizhCamp 2016] La relecture de code : avant tout des pratiques[BreizhCamp 2016] La relecture de code : avant tout des pratiques
[BreizhCamp 2016] La relecture de code : avant tout des pratiques
 
[Agile Laval 2016] La relecture de code : avant tout des pratiques
[Agile Laval 2016] La relecture de code : avant tout des pratiques[Agile Laval 2016] La relecture de code : avant tout des pratiques
[Agile Laval 2016] La relecture de code : avant tout des pratiques
 
Agilité, Tests Et Industrialisation
Agilité, Tests Et IndustrialisationAgilité, Tests Et Industrialisation
Agilité, Tests Et Industrialisation
 
SEO : Identifier les concurrents qui sont meilleurs que moi
SEO : Identifier les concurrents qui sont meilleurs que moiSEO : Identifier les concurrents qui sont meilleurs que moi
SEO : Identifier les concurrents qui sont meilleurs que moi
 
Optimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJSOptimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJS
 
La relecture de code : avant tout des pratiques
La relecture de code : avant tout des pratiquesLa relecture de code : avant tout des pratiques
La relecture de code : avant tout des pratiques
 
Soirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec SonarSoirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec Sonar
 
La Meta-programmation
La Meta-programmation La Meta-programmation
La Meta-programmation
 
Construire un produit open source, en mode lean, agile et open standards
Construire un produit open source, en mode lean, agile et open standardsConstruire un produit open source, en mode lean, agile et open standards
Construire un produit open source, en mode lean, agile et open standards
 
20131024 qualité de code et sonar - mug lyon
20131024   qualité de code et sonar - mug lyon20131024   qualité de code et sonar - mug lyon
20131024 qualité de code et sonar - mug lyon
 
Revues de code forum php
Revues de code forum phpRevues de code forum php
Revues de code forum php
 
Meetup #1 low-code, Pourquoi ? Pour qui ? Comment ? Rencontrons-nous !
Meetup #1 low-code, Pourquoi ? Pour qui ? Comment ? Rencontrons-nous !Meetup #1 low-code, Pourquoi ? Pour qui ? Comment ? Rencontrons-nous !
Meetup #1 low-code, Pourquoi ? Pour qui ? Comment ? Rencontrons-nous !
 
10 ans de Code (Agile Bordeaux 2019).pptx
10 ans de Code (Agile Bordeaux 2019).pptx10 ans de Code (Agile Bordeaux 2019).pptx
10 ans de Code (Agile Bordeaux 2019).pptx
 
Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?
 
Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...
Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...
Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P...
 
Synergies entre DEV et SEO (SeoCampus 2019)
Synergies entre DEV et SEO (SeoCampus 2019)Synergies entre DEV et SEO (SeoCampus 2019)
Synergies entre DEV et SEO (SeoCampus 2019)
 

Agile Tour Lille 2015 - Ratez vos revues de code

  • 1. www.octo.com - www.usievents.com 1@mdomenjoud #AgileTourLille #CodeReview RATEZ RÉUSSISSEZ VOS REVUES DE CODE EN 5 LEÇONS Michel DOMENJOUD Agile Tour Lille – 15 octobre 2015
  • 2. www.octo.com - www.usievents.com 2@mdomenjoud #AgileTourLille #CodeReview Développeur, in love with code since 2003. Tech Lead – Coach Craft chez Octo Technology @mdomenjoud #BetterPlacesWithBetterCode MICHEL DOMENJOUD
  • 3. www.octo.com - www.usievents.com 3@mdomenjoud #AgileTourLille #CodeReview …la revue de code ! S’il n’y avait qu’une seule chose à garder…
  • 4. www.octo.com - www.usievents.com 4@mdomenjoud #AgileTourLille #CodeReview Efficace depuis la nuit des temps Un objectif : Détecter les défauts le plus tôt possible Jusqu’à 65% des défauts détectés ROI de 4 pour 1 1h de revue → 4h de debug économisées Des bénéfices conséquents : Partager des standards Renforcer la propriété collective du code Faciliter l’apprentissage Améliorer la communication autour du code http://sail.cs.queensu.ca/publications/pubs/msr2014-mcintosh.pdf http://www.reviewtechnik.de/NationalSoftwareQualityExperiment.pdf
  • 5. www.octo.com - www.usievents.com 5@mdomenjoud #AgileTourLille #CodeReview Revue par un pair Pair programming Revue collective
  • 6. www.octo.com - www.usievents.com 6@mdomenjoud #AgileTourLille #CodeReview Fail #1 : On croule toujours sous les bugs !
  • 7. www.octo.com - www.usievents.com 7@mdomenjoud #AgileTourLille #CodeReview Allez le plus vite possible ! Allez-y les mains dans les poches ! Ne demandez à personne comment s’y prendre ! - Prenez le temps, à un rythme soutenable - Demandez une revue dès que possible - Préparez la revue via une lecture à tête reposée - Utilisez des standards et checklists partagés - Formez vous ensemble Pour passer à côté des défauts Et pour les détecter ?
  • 8. www.octo.com - www.usievents.com 8@mdomenjoud #AgileTourLille #CodeReview Fail #2 Mon équipe ne progresse pas
  • 9. www.octo.com - www.usievents.com 9@mdomenjoud #AgileTourLille #CodeReview Ne vous parlez surtout pas ! Corrigez tout à la place de l’auteur ! N’écrivez pas vos standards - Échangez de vive voix pendant les revues - L’auteur corrige, en binôme si nécessaire - Ecrivez vos standards - Faites les évoluer au fil des revues Pour stagner au fil des revues Et pour progresser ?
  • 10. www.octo.com - www.usievents.com 10@mdomenjoud #AgileTourLille #CodeReview Fail #3 : On se tape dessus
  • 11. www.octo.com - www.usievents.com 11@mdomenjoud #AgileTourLille #CodeReview Critiquez en priorité les personnes ! Lancez toujours une language / framework war ! - Critiquez le code, pas le développeur - Appuyez vous sur les principes Egoless Programming - C’est pas le moment - Trouvez des compromis - Choisissez un standard et écrivez-le Pour être sûr de s’engueuler Et pour une revue sereine ?
  • 12. www.octo.com - www.usievents.com 12@mdomenjoud #AgileTourLille #CodeReview Trois formats complémentaires Revue par un pair Revue collective Pair programming Démarrer une User Story, Code complexe, Code Legacy, Debug, Apprendre Etablir des standards Code critique Nouvelles technos Tout le tempsRégulièrement A la demande
  • 13. www.octo.com - www.usievents.com 13@mdomenjoud #AgileTourLille #CodeReview 5 leçons à retenir Leçon n°1 - Prenez le temps Préparation à tête reposée Rythme soutenable (max 1h30 & 300 LoC à la fois) Leçon n°2 - Progressez ensemble Échangez de vive voix pendant les revues L’auteur corrige, en binôme si nécessaire Leçon n°3 - Utilisez des standards Utilisez des standards et checklists partagés Faites les évoluer au fil des revues Leçon n°4 - Critiquez le code, pas le dév. Principes Egoless Programming Leçon n°5 - Trouvez le(s) formats qui vous conviennent et adaptez les à vos besoins
  • 14. www.octo.com - www.usievents.com 14@mdomenjoud #AgileTourLille #CodeReview Pour aller plus loin http://blog.octo.com/revue-de-code-quel-format-choisir/ Série d’articles sur la revue de code Better Places With Better Code