Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

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

408 vues

Publié le

Conférence Agile Tour Lille 2017

Être Tech Lead, c'est être au service de l'équipe en étant à la fois formateur, facilitateur, expert et coach. Mais quand l'équipe projet est composée de 15 personnes, dont 10 développeur·euse·s, comment remplir ce rôle tout en continuant à prendre le temps de développer avec l'équipe, et ce sans finir sous l'eau ?
Dans cette conférence, je vous partagerai un retour d'expérience dans lequel je présenterai les pratiques et mesures qui ont été mises en place pour améliorer la propriété collective du code, la qualité du produit mais également l'autonomie de cette équipe de développement.

Publié dans : Logiciels
  • Soyez le premier à commenter

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

  1. 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. 2. 2OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable QUI SUIS-JE ? Damien Beaufils Développeur passionné #AgileTourLille #TechLead @damienbeaufils
  3. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 17. 17OCTO © 2017 - Reproduction interdite sans autorisation écrite préalable LE MODÈLE DE LA PYRAMIDE DES TESTS #AgileTourLille #TechLead @damienbeaufils
  18. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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

×