Comment être Tech Lead dans une pizza team XXL sans finir sous l'eau ?

1OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
COMMENT ÊTRE TECH LEAD
DANS UNE PIZZA TEAM XXL
SANS FINIR SOUS L’EAU ?
Damien Beaufils
@damienbeaufils
2OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
QUI SUIS-JE ?
Damien Beaufils
Développeur passionné
#AgileTourLille #TechLead @damienbeaufils
3OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
OBJECTIF DE CETTE CONFÉRENCE
Quels rituels et pratiques de développement
quand on est une équipe > 10 personnes ?
Quel est rôle du Tech Lead
dans une équipe de cette taille ?
#AgileTourLille #TechLead @damienbeaufils
4OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
LE TECH LEAD : UN RÔLE AU SERVICE DE L’ÉQUIPE
☉ Guide son équipe vers l’excellence
☉ Porte la vision technique du produit
☉ Aide à la progression de l’équipe
☉ Favorise l’autonomie de l’équipe
☉ Passe au moins 30% de son temps à coder
☉ Idéalement un référent sur les pratiques
Software Craftsmanship
☉ N’est pas un super-héros ou un dictateur
#AgileTourLille #TechLead @damienbeaufils
5OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
CONTEXTE DU RETOUR D’EXPÉRIENCE
☉ Site web grand public
☉ Projet démarré depuis plus d’1 an, cycle itératif de 2 semaines
☉ Équipe composée de 10 développeur·euse·s + 1 Tech Lead
☉ Équipe mixte
> Homme / Femme
> Client / Prestataire
> Front / Back / OPS
#AgileTourLille #TechLead @damienbeaufils
6OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
ÉVOLUTION DU NOMBRE DE LIENS DE COMMUNICATION EN
FONCTION DE LA TAILLE DE L’ÉQUIPE
5 personnes
10 liens
3 personnes
3 liens
10 personnes
45 liens
#AgileTourLille #TechLead @damienbeaufils
7OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
PREMIÈRE SEMAINE : PHASE D’OBSERVATION
Observer en binômant,
tout en taisant son égo et ses réflexes
#AgileTourLille #TechLead @damienbeaufils
8OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
PREMIERS SIGNAUX FAIBLES (1/2)
☉ DES FAITS
> Commits le soir tard voire la nuit
> Une moyenne de 5 livrables par itération
> Nombre de bugs dans le backlog en augmentation
#AgileTourLille #TechLead @damienbeaufils
9OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
PREMIERS SIGNAUX FAIBLES (2/2)
☉ DES DIXITS
> « Le build est rouge mais c’est normal. Relance le et ça devrait
passer. »
> « Tester unitairement c’est compliqué sur ce projet. »
> « On reçoit tellement de mails de Jenkins qu’ils vont direct dans ma
corbeille. »
> « Hier j’ai passé mon après-midi à essayer de corriger le build. »
#AgileTourLille #TechLead @damienbeaufils
10OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
PROBLÉMATIQUES
☉ La propriété du code n’était pas collective
☉ Les pratiques de développement étaient hétérogènes
☉ La qualité du produit n’était ni mesurée ni suivie
#AgileTourLille #TechLead @damienbeaufils
11OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
COMMENT AMÉLIORER LA PROPRIÉTÉ COLLECTIVE DU CODE (1/3)
☉ RÉTROSPECTIVE TECHNIQUE
> 1 heure, tous les lundis
> Objectif : partager le maximum de
connaissances en un minimum de
temps
#AgileTourLille #TechLead @damienbeaufils
12OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
COMMENT AMÉLIORER LA PROPRIÉTÉ COLLECTIVE DU CODE (2/3)
☉ STANDARDS DE CODE
> Affichés sur une “Table de la loi”
> Doivent pouvoir être affichés sur un
mur et être compris sans difficulté
#AgileTourLille #TechLead @damienbeaufils
13OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
COMMENT AMÉLIORER LA PROPRIÉTÉ COLLECTIVE DU CODE (3/3)
☉ REVUE DE CODE
> Obligatoire et bloquante
> Agnostique de la techno
> Présentation orale des retours à l’auteur·e
☉ PAIR / MOB PROGRAMMING
> Obligatoire quand on travaille sur du code legacy
#AgileTourLille #TechLead @damienbeaufils
14OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
PROPRIÉTÉ COLLECTIVE DU CODE : QUEL INDICATEUR ?
Pourquoi avoir une propriété du code collective ?
Comment savoir si c’est le cas ?
N’importe qui peut partir en congés
n’importe quand
(Même le Tech Lead)
#AgileTourLille #TechLead @damienbeaufils
15OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
PROBLÉMATIQUES
La propriété du code n’était pas collective
Les pratiques de développement étaient hétérogènes
La qualité du produit n’était ni mesurée ni suivie
#AgileTourLille #TechLead @damienbeaufils
16OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
QUID DE LA QUALITÉ ?
On ne pilote que ce qu’on mesure,
mais quel aspect de la qualité mesurer ?
Le nombre de tests automatisés
et leurs typologies
#AgileTourLille #TechLead @damienbeaufils
17OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
LE MODÈLE DE LA PYRAMIDE DES TESTS
#AgileTourLille #TechLead @damienbeaufils
18OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
ATELIER AUTOUR DE LA STRATÉGIE DE TESTS AUTOMATISÉS
☉ DÉFINITION D’UN VOCABULAIRE COMMUN
> C’est quoi un TU ? Un TI ? Un TF ?
> Quels objectifs et intentions via ces tests ?
> Comment je les reconnais dans le code ?
> Est-ce que je peux tester autrement ? (i.e. plus bas dans la pyramide)
☉ LA COUVERTURE DE CODE
> Choix de ne pas la mesurer
#AgileTourLille #TechLead @damienbeaufils
19OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
PREMIÈRE MESURE DE LA PYRAMIDE DES TESTS EN JANVIER 2016
}
}
}
TF : 29%
TI : 53%
TU : 18%
© 2016 Starbound, Chucklefish Ltd
#AgileTourLille #TechLead @damienbeaufils
20OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
TEST DRIVEN DEVELOPMENT
☉ INVESTISSEMENT DANS UNE FORMATION À LA PRATIQUE DE TDD
> Pour toute l’équipe, quel que soit le niveau
> Formation de 3 jours
> Être capable de démontrer le ROI de TDD par des données factuelles
#AgileTourLille #TechLead @damienbeaufils
21OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
TEST DRIVEN DEVELOPMENT
☉ MAIS UNE FORMATION, ÇA COÛTE CHER ! ET MES FONCTIONNALITÉS ?!
> N est le nombre de personnes à former
> Si on passe 3 jours pour former individuellement chaque personne par de
l’accompagnement, cela coûte dans le meilleur des cas (3+3)xN j/h
> À l'opposé, si on fait une formation collective de 3 jours, cela coûterait 3+3xN j/h
> Former 10 personnes à TDD par une formation collective coûte donc environ
2 fois moins cher que de les former individuellement par de l’accompagnement
#AgileTourLille #TechLead @damienbeaufils
22OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
LE TECH LEAD : UN MENTOR
☉ MENTORER CHAQUE DÉVELOPPEUR·EUSE
VIA DES ONE-ON-ONE (O3)
> 30 minutes par personne, par itération
> Un moment privilégié d’échange, ritualisé
> Objectifs
+ Récupérer de l’information
+ Donner du feedback
+ Rechercher des axes de progression
+ Déléguer
#AgileTourLille #TechLead @damienbeaufils
23OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
ÊTRE ATTENTIF À LA COMMUNICATION DANS L’ÉQUIPE
☉ RECADRER LES DÉFAUTS DE COMMUNICATION
> Ex: “Ton code” vs. “Le code”
> Principes Egoless programming
☉ QUAND ON TRAVAILLE DANS UNE ÉQUIPE MIXTE HOMME/FEMME,
AVOIR UN DISCOURS APPELANT À LA DIVERSITÉ
> Ex: à l’oral, éviter le “Allez les gars !”. Proposition : “Allez l’équipe !”
#AgileTourLille #TechLead @damienbeaufils
24OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
PROBLÉMATIQUES
La propriété du code n’était pas collective
Les pratiques de développement étaient hétérogènes
La qualité du produit n’était ni mesurée ni suivie
#AgileTourLille #TechLead @damienbeaufils
25OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
QUID DES INDICATEURS ?
Le nombre de tests automatisés
et leurs typologies
Suivre et afficher ces indicateurs
#AgileTourLille #TechLead @damienbeaufils
26OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
MESURE DE LA PYRAMIDE DES TESTS
Formation
TDD
Instauration des
nouvelles pratiques
Formation
TDD
Instauration des
nouvelles pratiques
TU
TI
TF
#AgileTourLille #TechLead @damienbeaufils
27OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
MESURE DE LA PYRAMIDE DES TESTS
Formation
TDD
Instauration des
nouvelles pratiques
Formation
TDD
Instauration des
nouvelles pratiques
TU
TI
TF
#AgileTourLille #TechLead @damienbeaufils
28OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
L’IMPACT AU QUOTIDIEN
~200 tests en ~6 minutes
~1000 tests en ~3 minutes
~3000 tests en ~5 secondes
> À chaque fois qu’un·e développeur·euse fait évoluer le code, une majorité de
l’application est vérifiée automatiquement en moins de 5 secondes par des
tests unitaires, afin de garantir la non-régression
> Si l’équipe avait couvert tous les cas métiers par des tests fonctionnels, chaque
développeur·euse devrait attendre 120 minutes à chaque portion de code modifiée
> Les membres de l’équipe lanceraient alors les tests le midi et le soir, et passeraient
probablement ½ journée à débugger ce qui a été codé la ½ journée précédente
#AgileTourLille #TechLead @damienbeaufils
29OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
L'ÉVOLUTION DE LA QUALITÉ AUTREMENT QUE PAR LA TECHNIQUE
Formation
TDD
Formation
TDD
Formation
TDD
#AgileTourLille #TechLead @damienbeaufils
30OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
PROBLÉMATIQUES
La propriété du code n’était pas collective
Les pratiques de développement étaient hétérogènes
La qualité du produit n’était ni mesurée ni suivie
#AgileTourLille #TechLead @damienbeaufils
31OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
TAKE-AWAY
☉ Cherchez à avoir une propriété de
code collective grâce à des rituels
et des pratiques de partage
☉ Définissez un ou plusieurs aspects
de la qualité, mesurez-les,
suivez-les, affichez-les
☉ Mentorez et déléguez grâce à des
One-on-One ritualisés
#AgileTourLille #TechLead @damienbeaufils
32OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable
POUR ALLER PLUS LOIN
☉ Script de mesure de la pyramide des tests :
github.com/damienbeaufils/tests-pyramid-calculator
☉ Culture Code : un livre collectif sur la culture et
les pratiques Software Craftsmanship
☉ Disponible gratuitement en téléchargement :
www.octo.com/fr/publications/20-culture-code
#AgileTourLille #TechLead @damienbeaufils
1 sur 32

Recommandé

Gestion de projets agiles avec scrumv2 par
Gestion de projets agiles avec scrumv2Gestion de projets agiles avec scrumv2
Gestion de projets agiles avec scrumv2Pierre E. NEIS
2.4K vues157 diapositives
Soirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open source par
Soirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open sourceSoirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open source
Soirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open sourceFrançois Le Droff
1.5K vues51 diapositives
Agilité et Logiciels libres même combat ? par
Agilité et Logiciels libres même combat ?Agilité et Logiciels libres même combat ?
Agilité et Logiciels libres même combat ?keurvet
1.1K vues28 diapositives
Method XP par
Method XP Method XP
Method XP Mohamed Aymen Mejri
3.3K vues53 diapositives
Agile par
AgileAgile
AgileCédric GILLET
424 vues41 diapositives
Initiation Scrum par
Initiation ScrumInitiation Scrum
Initiation ScrumFrantz Degrigny
1.7K vues45 diapositives

Contenu connexe

Tendances

Agile En Seine 2017 - Retour d'expérience France Télévisions - Passer de fair... par
Agile En Seine 2017 - Retour d'expérience France Télévisions - Passer de fair...Agile En Seine 2017 - Retour d'expérience France Télévisions - Passer de fair...
Agile En Seine 2017 - Retour d'expérience France Télévisions - Passer de fair...Jean-Pierre Lambert
1.3K vues76 diapositives
Devops chez Voyages-Sncf.com par
Devops chez Voyages-Sncf.comDevops chez Voyages-Sncf.com
Devops chez Voyages-Sncf.comantony_guilloteau
622 vues44 diapositives
Scrum xp par
Scrum xpScrum xp
Scrum xpAbdelhakim Bachar
1.4K vues32 diapositives
Gestion de projets agiles avec scrum par
Gestion de projets agiles avec scrumGestion de projets agiles avec scrum
Gestion de projets agiles avec scrumPierre E. NEIS
15.9K vues130 diapositives
2011 XKE - Kanban in action par
2011 XKE - Kanban in action2011 XKE - Kanban in action
2011 XKE - Kanban in actionNathaniel Richand
9.2K vues28 diapositives
#10 convergence par
#10 convergence#10 convergence
#10 convergenceagnes_crepet
671 vues6 diapositives

Tendances(20)

Agile En Seine 2017 - Retour d'expérience France Télévisions - Passer de fair... par Jean-Pierre Lambert
Agile En Seine 2017 - Retour d'expérience France Télévisions - Passer de fair...Agile En Seine 2017 - Retour d'expérience France Télévisions - Passer de fair...
Agile En Seine 2017 - Retour d'expérience France Télévisions - Passer de fair...
Gestion de projets agiles avec scrum par Pierre E. NEIS
Gestion de projets agiles avec scrumGestion de projets agiles avec scrum
Gestion de projets agiles avec scrum
Pierre E. NEIS15.9K vues
Rex d'une vague ScrumBan au meetup Culture Kanban par Couthaïer FARFRA
Rex d'une vague ScrumBan au meetup Culture KanbanRex d'une vague ScrumBan au meetup Culture Kanban
Rex d'une vague ScrumBan au meetup Culture Kanban
Couthaïer FARFRA1.1K vues
Les Bases des Méthodes Lean/Agile par AgileCoach.net
Les Bases des Méthodes Lean/AgileLes Bases des Méthodes Lean/Agile
Les Bases des Méthodes Lean/Agile
AgileCoach.net8.2K vues
Devops, un tour d'horizon - Eutelsat 2018 par Ludovic Piot
Devops, un tour d'horizon -  Eutelsat 2018Devops, un tour d'horizon -  Eutelsat 2018
Devops, un tour d'horizon - Eutelsat 2018
Ludovic Piot335 vues
Gestion de projets agiles avec scrum actiskills par Pierre E. NEIS
Gestion de projets agiles avec scrum actiskillsGestion de projets agiles avec scrum actiskills
Gestion de projets agiles avec scrum actiskills
Pierre E. NEIS6.5K vues
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric... par ENSIBS
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
ENSIBS3K vues
Guillaume St Etienne : Services et Contrats Agiles par agiletourbordeaux
Guillaume St Etienne : Services et Contrats AgilesGuillaume St Etienne : Services et Contrats Agiles
Guillaume St Etienne : Services et Contrats Agiles
Scrum - Une méthode agile sous la loupe ... par Bilel McSam
Scrum  - Une méthode agile sous la loupe ...Scrum  - Une méthode agile sous la loupe ...
Scrum - Une méthode agile sous la loupe ...
Bilel McSam2K vues
Présentation scrum pour cours leeaarn par Gautier Pialat
Présentation scrum pour cours leeaarnPrésentation scrum pour cours leeaarn
Présentation scrum pour cours leeaarn
Gautier Pialat3.2K vues

Similaire à Comment être Tech Lead dans une pizza team XXL sans finir sous l'eau ?

NDepend 5 en action par son créateur par
NDepend 5 en action par son créateurNDepend 5 en action par son créateur
NDepend 5 en action par son créateurMicrosoft
1.4K vues20 diapositives
Développement artisanal d'un logiciel en 20 itérations - Paris Web 2016 par
Développement artisanal d'un logiciel en 20 itérations - Paris Web 2016Développement artisanal d'un logiciel en 20 itérations - Paris Web 2016
Développement artisanal d'un logiciel en 20 itérations - Paris Web 2016Damien Beaufils
504 vues37 diapositives
Des conférences à voir et à revoir par
Des conférences à voir et à revoirDes conférences à voir et à revoir
Des conférences à voir et à revoirAnthony Maison
51 vues40 diapositives
Human Talks Grenoble - 11/12/2012 - TDD par
Human Talks Grenoble - 11/12/2012 - TDDHuman Talks Grenoble - 11/12/2012 - TDD
Human Talks Grenoble - 11/12/2012 - TDDXavier NOPRE
2.4K vues45 diapositives
Happy dev ... & ops par
Happy dev ... & opsHappy dev ... & ops
Happy dev ... & opsQuentin Adam
881 vues54 diapositives
Développer en mode kick-ass à Scrum Day par
Développer en mode kick-ass à Scrum DayDévelopper en mode kick-ass à Scrum Day
Développer en mode kick-ass à Scrum DaySamuel Le Berrigaud
1.8K vues111 diapositives

Similaire à Comment être Tech Lead dans une pizza team XXL sans finir sous l'eau ?(20)

NDepend 5 en action par son créateur par Microsoft
NDepend 5 en action par son créateurNDepend 5 en action par son créateur
NDepend 5 en action par son créateur
Microsoft1.4K vues
Développement artisanal d'un logiciel en 20 itérations - Paris Web 2016 par Damien Beaufils
Développement artisanal d'un logiciel en 20 itérations - Paris Web 2016Développement artisanal d'un logiciel en 20 itérations - Paris Web 2016
Développement artisanal d'un logiciel en 20 itérations - Paris Web 2016
Damien Beaufils504 vues
Des conférences à voir et à revoir par Anthony Maison
Des conférences à voir et à revoirDes conférences à voir et à revoir
Des conférences à voir et à revoir
Anthony Maison51 vues
Human Talks Grenoble - 11/12/2012 - TDD par Xavier NOPRE
Human Talks Grenoble - 11/12/2012 - TDDHuman Talks Grenoble - 11/12/2012 - TDD
Human Talks Grenoble - 11/12/2012 - TDD
Xavier NOPRE2.4K vues
Synergie entre développeur et consultant SEO - Didier Sampaolo - SEOcamp'us P... par SEO CAMP
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 CAMP2.4K vues
Synergies entre DEV et SEO (SeoCampus 2019) par LVLUP
Synergies entre DEV et SEO (SeoCampus 2019)Synergies entre DEV et SEO (SeoCampus 2019)
Synergies entre DEV et SEO (SeoCampus 2019)
LVLUP270 vues
Comment être agile dans un contexte non lié aux TI ? par Pyxis Technologies
Comment être agile dans un contexte non lié aux TI ?Comment être agile dans un contexte non lié aux TI ?
Comment être agile dans un contexte non lié aux TI ?
Pyxis Technologies3.3K vues
Vincent Biret Societic devops Sherbrooke par Vincent Biret
Vincent Biret Societic devops SherbrookeVincent Biret Societic devops Sherbrooke
Vincent Biret Societic devops Sherbrooke
Vincent Biret422 vues
L'agilité en entreprise avec TFS 2013 par Microsoft
L'agilité en entreprise avec TFS 2013L'agilité en entreprise avec TFS 2013
L'agilité en entreprise avec TFS 2013
Microsoft2.3K vues
Le DevOps : La clé de la transformation digitale ? par Amico Fabien
Le DevOps : La clé de la transformation digitale ?Le DevOps : La clé de la transformation digitale ?
Le DevOps : La clé de la transformation digitale ?
Amico Fabien2K vues
dev et admin sys : une cohabitation simplifiée par Nicolas Silberman
dev et admin sys : une cohabitation simplifiéedev et admin sys : une cohabitation simplifiée
dev et admin sys : une cohabitation simplifiée
Nicolas Silberman1.3K vues
DevSecOps : de la théorie à la pratique par bertrandmeens
DevSecOps : de la théorie à la pratiqueDevSecOps : de la théorie à la pratique
DevSecOps : de la théorie à la pratique
bertrandmeens2.8K vues
CARA - Software Craftsmanship : le chaînon manquant de l’agilité ? par florentpellet
CARA - Software Craftsmanship : le chaînon manquant de l’agilité ?CARA - Software Craftsmanship : le chaînon manquant de l’agilité ?
CARA - Software Craftsmanship : le chaînon manquant de l’agilité ?
florentpellet328 vues

Comment être Tech Lead dans une pizza team XXL sans finir sous l'eau ?

  • 1. 1OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable COMMENT ÊTRE TECH LEAD DANS UNE PIZZA TEAM XXL SANS FINIR SOUS L’EAU ? Damien Beaufils @damienbeaufils
  • 2. 2OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable QUI SUIS-JE ? Damien Beaufils Développeur passionné #AgileTourLille #TechLead @damienbeaufils
  • 3. 3OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable OBJECTIF DE CETTE CONFÉRENCE Quels rituels et pratiques de développement quand on est une équipe > 10 personnes ? Quel est rôle du Tech Lead dans une équipe de cette taille ? #AgileTourLille #TechLead @damienbeaufils
  • 4. 4OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable LE TECH LEAD : UN RÔLE AU SERVICE DE L’ÉQUIPE ☉ Guide son équipe vers l’excellence ☉ Porte la vision technique du produit ☉ Aide à la progression de l’équipe ☉ Favorise l’autonomie de l’équipe ☉ Passe au moins 30% de son temps à coder ☉ Idéalement un référent sur les pratiques Software Craftsmanship ☉ N’est pas un super-héros ou un dictateur #AgileTourLille #TechLead @damienbeaufils
  • 5. 5OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable CONTEXTE DU RETOUR D’EXPÉRIENCE ☉ Site web grand public ☉ Projet démarré depuis plus d’1 an, cycle itératif de 2 semaines ☉ Équipe composée de 10 développeur·euse·s + 1 Tech Lead ☉ Équipe mixte > Homme / Femme > Client / Prestataire > Front / Back / OPS #AgileTourLille #TechLead @damienbeaufils
  • 6. 6OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable ÉVOLUTION DU NOMBRE DE LIENS DE COMMUNICATION EN FONCTION DE LA TAILLE DE L’ÉQUIPE 5 personnes 10 liens 3 personnes 3 liens 10 personnes 45 liens #AgileTourLille #TechLead @damienbeaufils
  • 7. 7OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable PREMIÈRE SEMAINE : PHASE D’OBSERVATION Observer en binômant, tout en taisant son égo et ses réflexes #AgileTourLille #TechLead @damienbeaufils
  • 8. 8OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable PREMIERS SIGNAUX FAIBLES (1/2) ☉ DES FAITS > Commits le soir tard voire la nuit > Une moyenne de 5 livrables par itération > Nombre de bugs dans le backlog en augmentation #AgileTourLille #TechLead @damienbeaufils
  • 9. 9OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable PREMIERS SIGNAUX FAIBLES (2/2) ☉ DES DIXITS > « Le build est rouge mais c’est normal. Relance le et ça devrait passer. » > « Tester unitairement c’est compliqué sur ce projet. » > « On reçoit tellement de mails de Jenkins qu’ils vont direct dans ma corbeille. » > « Hier j’ai passé mon après-midi à essayer de corriger le build. » #AgileTourLille #TechLead @damienbeaufils
  • 10. 10OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable PROBLÉMATIQUES ☉ La propriété du code n’était pas collective ☉ Les pratiques de développement étaient hétérogènes ☉ La qualité du produit n’était ni mesurée ni suivie #AgileTourLille #TechLead @damienbeaufils
  • 11. 11OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable COMMENT AMÉLIORER LA PROPRIÉTÉ COLLECTIVE DU CODE (1/3) ☉ RÉTROSPECTIVE TECHNIQUE > 1 heure, tous les lundis > Objectif : partager le maximum de connaissances en un minimum de temps #AgileTourLille #TechLead @damienbeaufils
  • 12. 12OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable COMMENT AMÉLIORER LA PROPRIÉTÉ COLLECTIVE DU CODE (2/3) ☉ STANDARDS DE CODE > Affichés sur une “Table de la loi” > Doivent pouvoir être affichés sur un mur et être compris sans difficulté #AgileTourLille #TechLead @damienbeaufils
  • 13. 13OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable COMMENT AMÉLIORER LA PROPRIÉTÉ COLLECTIVE DU CODE (3/3) ☉ REVUE DE CODE > Obligatoire et bloquante > Agnostique de la techno > Présentation orale des retours à l’auteur·e ☉ PAIR / MOB PROGRAMMING > Obligatoire quand on travaille sur du code legacy #AgileTourLille #TechLead @damienbeaufils
  • 14. 14OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable PROPRIÉTÉ COLLECTIVE DU CODE : QUEL INDICATEUR ? Pourquoi avoir une propriété du code collective ? Comment savoir si c’est le cas ? N’importe qui peut partir en congés n’importe quand (Même le Tech Lead) #AgileTourLille #TechLead @damienbeaufils
  • 15. 15OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable PROBLÉMATIQUES La propriété du code n’était pas collective Les pratiques de développement étaient hétérogènes La qualité du produit n’était ni mesurée ni suivie #AgileTourLille #TechLead @damienbeaufils
  • 16. 16OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable QUID DE LA QUALITÉ ? On ne pilote que ce qu’on mesure, mais quel aspect de la qualité mesurer ? Le nombre de tests automatisés et leurs typologies #AgileTourLille #TechLead @damienbeaufils
  • 17. 17OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable LE MODÈLE DE LA PYRAMIDE DES TESTS #AgileTourLille #TechLead @damienbeaufils
  • 18. 18OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable ATELIER AUTOUR DE LA STRATÉGIE DE TESTS AUTOMATISÉS ☉ DÉFINITION D’UN VOCABULAIRE COMMUN > C’est quoi un TU ? Un TI ? Un TF ? > Quels objectifs et intentions via ces tests ? > Comment je les reconnais dans le code ? > Est-ce que je peux tester autrement ? (i.e. plus bas dans la pyramide) ☉ LA COUVERTURE DE CODE > Choix de ne pas la mesurer #AgileTourLille #TechLead @damienbeaufils
  • 19. 19OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable PREMIÈRE MESURE DE LA PYRAMIDE DES TESTS EN JANVIER 2016 } } } TF : 29% TI : 53% TU : 18% © 2016 Starbound, Chucklefish Ltd #AgileTourLille #TechLead @damienbeaufils
  • 20. 20OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable TEST DRIVEN DEVELOPMENT ☉ INVESTISSEMENT DANS UNE FORMATION À LA PRATIQUE DE TDD > Pour toute l’équipe, quel que soit le niveau > Formation de 3 jours > Être capable de démontrer le ROI de TDD par des données factuelles #AgileTourLille #TechLead @damienbeaufils
  • 21. 21OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable TEST DRIVEN DEVELOPMENT ☉ MAIS UNE FORMATION, ÇA COÛTE CHER ! ET MES FONCTIONNALITÉS ?! > N est le nombre de personnes à former > Si on passe 3 jours pour former individuellement chaque personne par de l’accompagnement, cela coûte dans le meilleur des cas (3+3)xN j/h > À l'opposé, si on fait une formation collective de 3 jours, cela coûterait 3+3xN j/h > Former 10 personnes à TDD par une formation collective coûte donc environ 2 fois moins cher que de les former individuellement par de l’accompagnement #AgileTourLille #TechLead @damienbeaufils
  • 22. 22OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable LE TECH LEAD : UN MENTOR ☉ MENTORER CHAQUE DÉVELOPPEUR·EUSE VIA DES ONE-ON-ONE (O3) > 30 minutes par personne, par itération > Un moment privilégié d’échange, ritualisé > Objectifs + Récupérer de l’information + Donner du feedback + Rechercher des axes de progression + Déléguer #AgileTourLille #TechLead @damienbeaufils
  • 23. 23OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable ÊTRE ATTENTIF À LA COMMUNICATION DANS L’ÉQUIPE ☉ RECADRER LES DÉFAUTS DE COMMUNICATION > Ex: “Ton code” vs. “Le code” > Principes Egoless programming ☉ QUAND ON TRAVAILLE DANS UNE ÉQUIPE MIXTE HOMME/FEMME, AVOIR UN DISCOURS APPELANT À LA DIVERSITÉ > Ex: à l’oral, éviter le “Allez les gars !”. Proposition : “Allez l’équipe !” #AgileTourLille #TechLead @damienbeaufils
  • 24. 24OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable PROBLÉMATIQUES La propriété du code n’était pas collective Les pratiques de développement étaient hétérogènes La qualité du produit n’était ni mesurée ni suivie #AgileTourLille #TechLead @damienbeaufils
  • 25. 25OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable QUID DES INDICATEURS ? Le nombre de tests automatisés et leurs typologies Suivre et afficher ces indicateurs #AgileTourLille #TechLead @damienbeaufils
  • 26. 26OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable MESURE DE LA PYRAMIDE DES TESTS Formation TDD Instauration des nouvelles pratiques Formation TDD Instauration des nouvelles pratiques TU TI TF #AgileTourLille #TechLead @damienbeaufils
  • 27. 27OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable MESURE DE LA PYRAMIDE DES TESTS Formation TDD Instauration des nouvelles pratiques Formation TDD Instauration des nouvelles pratiques TU TI TF #AgileTourLille #TechLead @damienbeaufils
  • 28. 28OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable L’IMPACT AU QUOTIDIEN ~200 tests en ~6 minutes ~1000 tests en ~3 minutes ~3000 tests en ~5 secondes > À chaque fois qu’un·e développeur·euse fait évoluer le code, une majorité de l’application est vérifiée automatiquement en moins de 5 secondes par des tests unitaires, afin de garantir la non-régression > Si l’équipe avait couvert tous les cas métiers par des tests fonctionnels, chaque développeur·euse devrait attendre 120 minutes à chaque portion de code modifiée > Les membres de l’équipe lanceraient alors les tests le midi et le soir, et passeraient probablement ½ journée à débugger ce qui a été codé la ½ journée précédente #AgileTourLille #TechLead @damienbeaufils
  • 29. 29OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable L'ÉVOLUTION DE LA QUALITÉ AUTREMENT QUE PAR LA TECHNIQUE Formation TDD Formation TDD Formation TDD #AgileTourLille #TechLead @damienbeaufils
  • 30. 30OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable PROBLÉMATIQUES La propriété du code n’était pas collective Les pratiques de développement étaient hétérogènes La qualité du produit n’était ni mesurée ni suivie #AgileTourLille #TechLead @damienbeaufils
  • 31. 31OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable TAKE-AWAY ☉ Cherchez à avoir une propriété de code collective grâce à des rituels et des pratiques de partage ☉ Définissez un ou plusieurs aspects de la qualité, mesurez-les, suivez-les, affichez-les ☉ Mentorez et déléguez grâce à des One-on-One ritualisés #AgileTourLille #TechLead @damienbeaufils
  • 32. 32OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable POUR ALLER PLUS LOIN ☉ Script de mesure de la pyramide des tests : github.com/damienbeaufils/tests-pyramid-calculator ☉ Culture Code : un livre collectif sur la culture et les pratiques Software Craftsmanship ☉ Disponible gratuitement en téléchargement : www.octo.com/fr/publications/20-culture-code #AgileTourLille #TechLead @damienbeaufils