SlideShare uma empresa Scribd logo
1 de 52
Et si on Jouait au TDD ?

Librement inspiré du jeu
“99 tests balloons”*
François-Xavier Maquaire
This content is licensed under a Creative Commons Attribution 3.0 License.
fmaquaire@gmail.com
*Jeu créé par Michael McCullough : http://tastycupcakes.org/2009/06/99-test-balloons/
remercie pour l’organisation de

ses sponsors pour leur soutien
Persona
François-Xavier MAQUAIRE
Ils ne savaient pas que c’était impossible alors ils l’ont fait. Mark Twain.

FX

Partager
Echanger
Confronter
Communiquer
Jouer
S’amuser

34 ans
Thales Services Rennes
Agiliste depuis 2009
Coach et formateur (Scrum, Kanban)
Référant agile (Communauté Agile Thales Services)
Co-organisateur Agile Tour Rennes 2013
francois-xavier.maquaire@thalesgroup.com

J'ai trouvé dans l'agilité les valeurs autour de l'humain
dont j'ai besoin pour être performant : motivation,
montée en compétence, échanges, communication,
confiance, transparence, travail en équipe,
engagement et estime de soi ... l'agilité m'apporte tout
cela.
Introduction

• Cette session n’est pas :
o Un coding dojo
o Un retour d’expérience
o Animé par un expert du TDD 

• C’est un JEU !
• Objectifs ?
o Passer un bon moment
o…

o Voir la conclusion
05/11/10

www.agiletour.org
Le jeu

• Formons les équipes
oUn facilitateur par équipe
oUn nom d’équipe
oUn espace de démonstration par équipe

• Un tableau pour compter les points
• Un tableau pour le debrief
• Feedback Door
• Déroulement

Le jeu

o 4 itérations de 11 minutes
o Chaque itération
• Expression du besoin : 2’
• Production ~2’ = posé sur la table de démonstration
avant la fin de la durée définie
• Démo 2’
o

Pour chaque ballon présenté :
 2 point pour un ballon OK
 -1 point pour un ballon KO

• Debrief : 6’
On ne touche à rien
en dehors des
phases de réalisation
= chrono déclenché !
05/11/10

www.agiletour.org
Itération 1

• Je veux des ballons pour mon client de toute
urgence !
o Il m’a très clairement dessiné ce qu’il voulait, c’est

très simple …

• 30 secondes seulement de temps de production
05/11/10

www.agiletour.org
Démo

• Le client accepte ou non les livraisons

• Le facilitateur de chaque équipe va reporter les
points

05/11/10

www.agiletour.org
Debrief

• 2’ chaque équipe discute des problèmes
rencontrés
• 2’ le facilitateur de chaque équipe remonte le
principal problème (non exposé par une autre
équipe)
• 2’ les messages que j’aimerais partager 

05/11/10

www.agiletour.org
Debrief Itération 1

• KISS !
o Nous avons tous tendance à vouloir nous faire plaisir …

et à utiliser ce que nous avons à disposition:
• un petit algorithme complexe par ici,
• une définition de besoin plaquée or par-là,
• bien souvent la problématique peut être traitée beaucoup
plus simplement
• Biais cognitif : biais de disponibilité
• Importance du « Afin de » dans le template d’une US (En
tant que, je souhaite, afin de)
Debrief Itération 1
Nouveau besoin client

• Un nouveau projet démarre
• A partir de maintenant, nous allons faire de
l’itératif, incrémental.
• Nous avons 3 itérations pour y arriver !

05/11/10

www.agiletour.org
Itération 2

• Prenons le temps de mieux regarder ce que veut
le client :
o Alternance de deux dessins sur des ballons de

baudruche
o Les ballons seront reliés entre eux par de la ficelle

• 2 minutes de temps de production
05/11/10

www.agiletour.org
Alternance des dessins sur les ballons
reliés par une ficelle
Les dessins
Critères d’acceptance ?

05/11/10

www.agiletour.org
CA Dessin

3 cm

2,5 cm

4 cm

3
cm

1 cm

10 cm

1 cm

3 cm

4,5
cm

4,5 cm
4,5
cm
4,5 cm

3
cm
Démo

• Le client accepte ou non les livraisons

• Le facilitateur de chaque équipe va reporter les
points

05/11/10

www.agiletour.org
Debrief

• 2’ chaque équipe discute des problèmes
rencontrés
o Comment percevez-vous le décompte des points négatifs ?

• 2’ le facilitateur de chaque équipe expose le
principal problème (non exposé par une autre
équipe)
• 2’ les messages que j’aimerais partager 

05/11/10

www.agiletour.org
Debrief Itération 2

• Critères d’Acceptation (CA)
o Il faut rendre explicite les principaux éléments qui vont nous permettre de

dire si oui ou non, l’équipe produit ce que souhaite le PO.
o Il faut définir le niveau de qualité associé !

• Tests d’Acceptation
o Décrire les tests qui vont permettre de valider les CA permet de spécifier

par l’exemple et de lever les ambiguïtés.
o Plus long que d’écrire des CAs.

• Et si vous passiez au Test Driven Drawing ?
Debrief Itération 2
CODEZ ECOLO !

• « réduisez vos déchets en
commençant par écrire vos
tests »©

© : citation de Mathieu Cans 
Les dessins
Itération 3

• Discutons Critères d’Acceptation et Tests
d’Acceptation, afin de :
o Rendre explicites les critères d’acceptation avec le PO
o Travailler sur des Tests d’Acceptation
o Expérimenter le TDD

• 2 minutes de temps de production
Démo

• Le client accepte ou non les livraisons

• Le facilitateur de chaque équipe va reporter les
points

05/11/10

www.agiletour.org
Debrief

• 2’ chaque équipe discute des problèmes
rencontrés et des points positifs
o Comment avez-vous perçu le fait de commencer par produire les

moyens de tester ?

• 2’ le facilitateur de chaque équipe expose le
principal problème (non exposé par une autre
équipe) et/ou la principale amélioration
• 2’ les messages que j’aimerais partager 
05/11/10

www.agiletour.org
Debrief Itération 3

• TDD et qualité : définir la cible nécessaire et
suffisante …
• Impact sur l’expression de besoin
• Pas ou peu de valeur métier produite sur une
itération, c’est grave docteur ?
• Communication ?
Debrief Itération 3
Test Driven Development

Restructuration du code
Reprendre le code pour
le simplifier et le rendre
aisément maintenable

Le test est au rouge

TDD

Ecriture des Tests (design
de l’application)
Passage des Tests

Les tests restent au
vert

Le test est au vert
Ecriture du code
Modification du code
Passage des Tests jusqu’à
réussite complète
Test Driven Developpement (TDD)

3. Développement
logiciel
4. Exécution
automatique
des tests

2. Automatisation
des tests
Sprint #1
1. Conception
des tests

#2

#n
Itération 4

• Dernière itération !
o Itératif
o Incrémental
o Résultat final !

• 2 minutes de production
Bleu = non soumis à des tests d’acceptation
Démo

• Le client accepte ou non les livraisons

• Le facilitateur de chaque équipe va reporter les
points

05/11/10

www.agiletour.org
Debrief

• 2’ chaque équipe discute des problèmes
rencontrés, ou des bonnes pratiques perçues
o Connaissant le produit final, auriez-vous adopté la découpe

(incrémentale)proposée dans le jeu ?

• 2’ le facilitateur de chaque équipe expose le
principal problème (non exposé par une autre
équipe) ou l’adoption d’une bonne pratique.
• 2’ les messages que j’aimerais partager 
05/11/10

www.agiletour.org
Debrief Itération 4

•
•
•
•
•

Importance de la Vision
Itératif, incrémental
Importance des outils, de l’automatisation
ROI TDD, ROI automatisation
TDD et qualité
Debrief Itération 4
• Le TDD quand on commence on se demande
comment faire.

• Quand on sait faire, on se demande comment on
a pu s'en passer.
REX sur le TDD
Thales Grenoble Mathieu Cans

Passage du test traditionnel à l’approche full
mock de JB-Rainsberger

Couverture de ~80% de tests Unitaires
:Enfin !

Chute de la complexité par classe

05/11/10

www.agiletour.org
Pyramide de test de Mike Cohn
•Nombre faible : 1 à 5%
Le plus automatisé possible
Outil : Selenium

Au moins un par user
story : 5 à 15%
Automatisés
Outil : FitNesse ou
GreenPepper

Au moins un
par classe ou
module :
80 à 90 %
Automatisés
Outil : JUnit

Tests
IHM

Tests
Fonctionnels

Tests Unitaires

Ref : Succeeding with agile Mike Cohn
Source : http://blog.mountaingoatsoftware.com/the-forgotten-layer-of-thetest-automation-pyramid
REX ATDD
Thales Grenoble Mathieu Cans

• Une fois le TDD full mock bien en place
• C’est l’ATDD qui a été visée : spécification par
l’exemple
o Bénéfices
• Compréhension partagée (fonctionnels / techniques)

• Mesure de l'avancement
• Non régression
• Documentation vivante.
Le point négatif de l’outil FitNesse est l'utilisation
d'un wiki moins rapide qu'un fichier WORD pour
décrire les fonctionnalités, même si le format wiki
permet d’illustrer les tests avec des images ou
schémas
Conclusion/Objectifs
• ScrumMaster/coach :
o découvrir/imaginer les différents potentiels et variantes de ce jeu

• Product Owner / Business Analyst :
o ne jamais oublier l’importance des Critères d’Acceptance

• Equipiers :
o comprendre qu’il faut sans cesse clarifier les Critères d’Acceptance

• Tous :
o KISS
o Différence entre CA et TA ?
o ROI Automatisation si itératif, incrémental
o Importance de la Vision
o Envie d’en apprendre plus sur le TDD, ATDD, BDD

05/11/10

www.agiletour.org
Références

l’approche full mock de JB-Rainsberger

http://www.jbrains.ca/permalink/the-worlds-best-intro-to-tdd-demo-video
05/11/10

www.agiletour.org
ROTI (Return On Time Investment)
pour cette session

• Excellente

« Voilà une super session dont je vais bénéficier.
Ça valait plus que le temps que j’y ai passé »

• Bonne
« Voilà une session au-dessus de la moyenne.
J’ai passé un bon moment et j’ai gagné plus de temps
que j’y ai passé »

• Juste moyenne

« Je n’ai pas perdu mon temps, sans plus »

• Utile

« Ça ne valait pas à 100% le temps que j’y ai passé.
J’ai donc perdu du temps. »

• Inutile

« Je n’ai rien gagné, rien appris. J’ai vraiment perdu
mon temps. »
MERCI ! Merci à celles et ceux qui
sont venus jouer !!!

Un grand merci aux 4 personnes
qui ont joué le jeu du perfection
game et qui m’ont donné un
feedback aussi positif qu’agréable
qui vient récompenser tant de
préparation 

05/11/10

www.agiletour.org

Mais conteúdo relacionado

Mais procurados

Développement en méthode agile
Développement en méthode agileDéveloppement en méthode agile
Développement en méthode agile
laurent bristiel
 
Du Manifeste Agile à Scrum
Du Manifeste Agile à ScrumDu Manifeste Agile à Scrum
Du Manifeste Agile à Scrum
Xavier Warzee
 

Mais procurados (20)

Method XP
Method XP Method XP
Method XP
 
Ecrire de bonnes user stories - en 5 minutes - scrum wine v1.0
Ecrire de bonnes user stories - en 5 minutes -  scrum wine v1.0Ecrire de bonnes user stories - en 5 minutes -  scrum wine v1.0
Ecrire de bonnes user stories - en 5 minutes - scrum wine v1.0
 
eXtreme Programming [fr]
eXtreme Programming [fr]eXtreme Programming [fr]
eXtreme Programming [fr]
 
L'agilité en quelques slides
L'agilité en quelques slidesL'agilité en quelques slides
L'agilité en quelques slides
 
Mesurer scrum avec Roboscrum
Mesurer scrum avec RoboscrumMesurer scrum avec Roboscrum
Mesurer scrum avec Roboscrum
 
Scrum xp
Scrum xpScrum xp
Scrum xp
 
Partie 1 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...
Partie 1 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...Partie 1 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...
Partie 1 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...
 
Développement en méthode agile
Développement en méthode agileDéveloppement en méthode agile
Développement en méthode agile
 
Agile presentation
Agile presentationAgile presentation
Agile presentation
 
Xtreme Programming
Xtreme ProgrammingXtreme Programming
Xtreme Programming
 
Du Manifeste Agile à Scrum
Du Manifeste Agile à ScrumDu Manifeste Agile à Scrum
Du Manifeste Agile à Scrum
 
Scrum - Une méthode agile sous la loupe ...
Scrum  - Une méthode agile sous la loupe ...Scrum  - Une méthode agile sous la loupe ...
Scrum - Une méthode agile sous la loupe ...
 
20mn scrum
20mn scrum20mn scrum
20mn scrum
 
Les Bases des Méthodes Lean/Agile
Les Bases des Méthodes Lean/AgileLes Bases des Méthodes Lean/Agile
Les Bases des Méthodes Lean/Agile
 
Méthode d'Agile: Scrum
Méthode d'Agile: ScrumMéthode d'Agile: Scrum
Méthode d'Agile: Scrum
 
Introduction aux méthodes agiles
Introduction aux méthodes agilesIntroduction aux méthodes agiles
Introduction aux méthodes agiles
 
Les tests et la qualité: moteur de productivité (v.2016-07)
Les tests et la qualité: moteur de productivité (v.2016-07)Les tests et la qualité: moteur de productivité (v.2016-07)
Les tests et la qualité: moteur de productivité (v.2016-07)
 
Deux ans de développement Agile, erreurs et succès
Deux ans de développement Agile, erreurs et succèsDeux ans de développement Agile, erreurs et succès
Deux ans de développement Agile, erreurs et succès
 
Methodologie projet
Methodologie projet Methodologie projet
Methodologie projet
 
Méthodes agiles & Scrum
Méthodes agiles & ScrumMéthodes agiles & Scrum
Méthodes agiles & Scrum
 

Destaque

Resolución grafica de ecuaciones de 2º grado
Resolución grafica de  ecuaciones de 2º gradoResolución grafica de  ecuaciones de 2º grado
Resolución grafica de ecuaciones de 2º grado
jenniferscarlatti10
 
Solène a testé la quinzaine des maths
Solène a testé la quinzaine des maths Solène a testé la quinzaine des maths
Solène a testé la quinzaine des maths
DG WEB
 
Tarea 4 irene
Tarea 4 ireneTarea 4 irene
Tarea 4 irene
Elmequia
 
Matemáticas con el ordenador
Matemáticas con el ordenadorMatemáticas con el ordenador
Matemáticas con el ordenador
calasanzprimeroa
 
Binder1
Binder1Binder1
Binder1
Faye
 
Ensayo del impacto de las estrategias didacticas modernas en el aprendizaje d...
Ensayo del impacto de las estrategias didacticas modernas en el aprendizaje d...Ensayo del impacto de las estrategias didacticas modernas en el aprendizaje d...
Ensayo del impacto de las estrategias didacticas modernas en el aprendizaje d...
Maricelsa
 
Las telecomunicaciones daniela alzate
Las telecomunicaciones daniela alzateLas telecomunicaciones daniela alzate
Las telecomunicaciones daniela alzate
Daniela Alzate
 
Hablando de bios...
Hablando de bios...Hablando de bios...
Hablando de bios...
Danae Chmps
 
Web20
Web20Web20
Web20
BC
 

Destaque (20)

Resolución grafica de ecuaciones de 2º grado
Resolución grafica de  ecuaciones de 2º gradoResolución grafica de  ecuaciones de 2º grado
Resolución grafica de ecuaciones de 2º grado
 
ITvite/Audaxis : ERP Cloud pour PME
ITvite/Audaxis : ERP Cloud pour PMEITvite/Audaxis : ERP Cloud pour PME
ITvite/Audaxis : ERP Cloud pour PME
 
Presentacion
PresentacionPresentacion
Presentacion
 
Réseau Européen pour la prévention des IST/VIH et la promotion de la santé au...
Réseau Européen pour la prévention des IST/VIH et la promotion de la santé au...Réseau Européen pour la prévention des IST/VIH et la promotion de la santé au...
Réseau Européen pour la prévention des IST/VIH et la promotion de la santé au...
 
Solène a testé la quinzaine des maths
Solène a testé la quinzaine des maths Solène a testé la quinzaine des maths
Solène a testé la quinzaine des maths
 
Tarea 4 irene
Tarea 4 ireneTarea 4 irene
Tarea 4 irene
 
Matemáticas con el ordenador
Matemáticas con el ordenadorMatemáticas con el ordenador
Matemáticas con el ordenador
 
Binder1
Binder1Binder1
Binder1
 
Celula 3[1]
Celula 3[1]Celula 3[1]
Celula 3[1]
 
Stéréotypes backpackers
Stéréotypes   backpackersStéréotypes   backpackers
Stéréotypes backpackers
 
Ensayo del impacto de las estrategias didacticas modernas en el aprendizaje d...
Ensayo del impacto de las estrategias didacticas modernas en el aprendizaje d...Ensayo del impacto de las estrategias didacticas modernas en el aprendizaje d...
Ensayo del impacto de las estrategias didacticas modernas en el aprendizaje d...
 
Las telecomunicaciones daniela alzate
Las telecomunicaciones daniela alzateLas telecomunicaciones daniela alzate
Las telecomunicaciones daniela alzate
 
Hablando de bios...
Hablando de bios...Hablando de bios...
Hablando de bios...
 
Algunos Servicios de Internet
Algunos Servicios de InternetAlgunos Servicios de Internet
Algunos Servicios de Internet
 
Ansätze für gemeinschaftliches Filtering
Ansätze für gemeinschaftliches FilteringAnsätze für gemeinschaftliches Filtering
Ansätze für gemeinschaftliches Filtering
 
Email marketing y redes sociales
Email marketing y redes socialesEmail marketing y redes sociales
Email marketing y redes sociales
 
Losgenerosliterarios
Losgenerosliterarios Losgenerosliterarios
Losgenerosliterarios
 
Consejos para aumentar de peso
Consejos para aumentar de pesoConsejos para aumentar de peso
Consejos para aumentar de peso
 
Pa la tesis
Pa la tesisPa la tesis
Pa la tesis
 
Web20
Web20Web20
Web20
 

Semelhante a Et si on jouait au tdd 20131017

Le journal d'une tortue qui sprinte autour du monde - Vincent Cleroux
Le journal d'une tortue qui sprinte autour du monde - Vincent ClerouxLe journal d'une tortue qui sprinte autour du monde - Vincent Cleroux
Le journal d'une tortue qui sprinte autour du monde - Vincent Cleroux
Agile Montréal
 

Semelhante a Et si on jouait au tdd 20131017 (20)

Agile Tour Nantes 2011 - Rémy génin - retours d'expérience sur 4 ans d'agilit...
Agile Tour Nantes 2011 - Rémy génin - retours d'expérience sur 4 ans d'agilit...Agile Tour Nantes 2011 - Rémy génin - retours d'expérience sur 4 ans d'agilit...
Agile Tour Nantes 2011 - Rémy génin - retours d'expérience sur 4 ans d'agilit...
 
Tester du legacy code, mission impossible ?
Tester du legacy code, mission impossible ?Tester du legacy code, mission impossible ?
Tester du legacy code, mission impossible ?
 
L'Agilité chez GEE Montréal
L'Agilité chez GEE MontréalL'Agilité chez GEE Montréal
L'Agilité chez GEE Montréal
 
Retour d'expérience TAA - 2011/03/29
Retour d'expérience TAA - 2011/03/29Retour d'expérience TAA - 2011/03/29
Retour d'expérience TAA - 2011/03/29
 
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testableAgile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
 
Initiation Scrum
Initiation ScrumInitiation Scrum
Initiation Scrum
 
Human Talks Grenoble - 11/12/2012 - TDD
Human Talks Grenoble - 11/12/2012 - TDDHuman Talks Grenoble - 11/12/2012 - TDD
Human Talks Grenoble - 11/12/2012 - TDD
 
Lunch learn 5 sep2013
Lunch learn 5 sep2013Lunch learn 5 sep2013
Lunch learn 5 sep2013
 
2019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.1
2019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.12019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.1
2019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.1
 
Acculturation agilite
Acculturation agiliteAcculturation agilite
Acculturation agilite
 
Le journal d'une tortue qui sprinte autour du monde - Vincent Cleroux
Le journal d'une tortue qui sprinte autour du monde - Vincent ClerouxLe journal d'une tortue qui sprinte autour du monde - Vincent Cleroux
Le journal d'une tortue qui sprinte autour du monde - Vincent Cleroux
 
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
 
Matinale Agile Wake Up #4 : les tests et l'agilité
Matinale Agile Wake Up #4 : les tests et l'agilitéMatinale Agile Wake Up #4 : les tests et l'agilité
Matinale Agile Wake Up #4 : les tests et l'agilité
 
Développer en mode kick-ass à Scrum Day
Développer en mode kick-ass à Scrum DayDévelopper en mode kick-ass à Scrum Day
Développer en mode kick-ass à Scrum Day
 
Agile Data Warehousing - 7 pillars - Procima Experts
Agile Data Warehousing - 7 pillars - Procima ExpertsAgile Data Warehousing - 7 pillars - Procima Experts
Agile Data Warehousing - 7 pillars - Procima Experts
 
Développer en mode kick-ass à Devoxx France
Développer en mode kick-ass à Devoxx FranceDévelopper en mode kick-ass à Devoxx France
Développer en mode kick-ass à Devoxx France
 
Agilité, n’oublions pas les valeurs
Agilité, n’oublions pas les valeursAgilité, n’oublions pas les valeurs
Agilité, n’oublions pas les valeurs
 
Les pratiques Scrum
Les pratiques ScrumLes pratiques Scrum
Les pratiques Scrum
 
Vincent Biret Societic devops Sherbrooke
Vincent Biret Societic devops SherbrookeVincent Biret Societic devops Sherbrooke
Vincent Biret Societic devops Sherbrooke
 
Equipes scrum multiples upwiser
Equipes scrum multiples   upwiserEquipes scrum multiples   upwiser
Equipes scrum multiples upwiser
 

Mais de François-Xavier Maquaire

Et si on jouait au tdd guide animateur 20131017
Et si on jouait au tdd   guide animateur 20131017Et si on jouait au tdd   guide animateur 20131017
Et si on jouait au tdd guide animateur 20131017
François-Xavier Maquaire
 

Mais de François-Xavier Maquaire (7)

Evolution du vocabulaire et d un recit au service d une evolution d organisat...
Evolution du vocabulaire et d un recit au service d une evolution d organisat...Evolution du vocabulaire et d un recit au service d une evolution d organisat...
Evolution du vocabulaire et d un recit au service d une evolution d organisat...
 
Mon ---- grossit c est grave
Mon  ---- grossit c est graveMon  ---- grossit c est grave
Mon ---- grossit c est grave
 
Kano, un outil pour Product Owner
Kano, un outil pour Product OwnerKano, un outil pour Product Owner
Kano, un outil pour Product Owner
 
Etre ou ne pas être agile, là n'est pas la question
Etre ou ne pas être agile, là n'est pas la questionEtre ou ne pas être agile, là n'est pas la question
Etre ou ne pas être agile, là n'est pas la question
 
L'agilité est entrée dans ma maison at nantes 2016
L'agilité est entrée dans ma maison   at nantes 2016L'agilité est entrée dans ma maison   at nantes 2016
L'agilité est entrée dans ma maison at nantes 2016
 
Comment va votre agilité agt rennes 2016
Comment va votre agilité agt rennes 2016Comment va votre agilité agt rennes 2016
Comment va votre agilité agt rennes 2016
 
Et si on jouait au tdd guide animateur 20131017
Et si on jouait au tdd   guide animateur 20131017Et si on jouait au tdd   guide animateur 20131017
Et si on jouait au tdd guide animateur 20131017
 

Et si on jouait au tdd 20131017

  • 1. Et si on Jouait au TDD ? Librement inspiré du jeu “99 tests balloons”* François-Xavier Maquaire This content is licensed under a Creative Commons Attribution 3.0 License. fmaquaire@gmail.com *Jeu créé par Michael McCullough : http://tastycupcakes.org/2009/06/99-test-balloons/
  • 2. remercie pour l’organisation de ses sponsors pour leur soutien
  • 3. Persona François-Xavier MAQUAIRE Ils ne savaient pas que c’était impossible alors ils l’ont fait. Mark Twain. FX Partager Echanger Confronter Communiquer Jouer S’amuser 34 ans Thales Services Rennes Agiliste depuis 2009 Coach et formateur (Scrum, Kanban) Référant agile (Communauté Agile Thales Services) Co-organisateur Agile Tour Rennes 2013 francois-xavier.maquaire@thalesgroup.com J'ai trouvé dans l'agilité les valeurs autour de l'humain dont j'ai besoin pour être performant : motivation, montée en compétence, échanges, communication, confiance, transparence, travail en équipe, engagement et estime de soi ... l'agilité m'apporte tout cela.
  • 4. Introduction • Cette session n’est pas : o Un coding dojo o Un retour d’expérience o Animé par un expert du TDD  • C’est un JEU ! • Objectifs ? o Passer un bon moment o… o Voir la conclusion 05/11/10 www.agiletour.org
  • 5. Le jeu • Formons les équipes oUn facilitateur par équipe oUn nom d’équipe oUn espace de démonstration par équipe • Un tableau pour compter les points • Un tableau pour le debrief • Feedback Door
  • 6. • Déroulement Le jeu o 4 itérations de 11 minutes o Chaque itération • Expression du besoin : 2’ • Production ~2’ = posé sur la table de démonstration avant la fin de la durée définie • Démo 2’ o Pour chaque ballon présenté :  2 point pour un ballon OK  -1 point pour un ballon KO • Debrief : 6’
  • 7. On ne touche à rien en dehors des phases de réalisation = chrono déclenché ! 05/11/10 www.agiletour.org
  • 8. Itération 1 • Je veux des ballons pour mon client de toute urgence ! o Il m’a très clairement dessiné ce qu’il voulait, c’est très simple … • 30 secondes seulement de temps de production
  • 10. Démo • Le client accepte ou non les livraisons • Le facilitateur de chaque équipe va reporter les points 05/11/10 www.agiletour.org
  • 11. Debrief • 2’ chaque équipe discute des problèmes rencontrés • 2’ le facilitateur de chaque équipe remonte le principal problème (non exposé par une autre équipe) • 2’ les messages que j’aimerais partager  05/11/10 www.agiletour.org
  • 12. Debrief Itération 1 • KISS ! o Nous avons tous tendance à vouloir nous faire plaisir … et à utiliser ce que nous avons à disposition: • un petit algorithme complexe par ici, • une définition de besoin plaquée or par-là, • bien souvent la problématique peut être traitée beaucoup plus simplement • Biais cognitif : biais de disponibilité • Importance du « Afin de » dans le template d’une US (En tant que, je souhaite, afin de)
  • 14. Nouveau besoin client • Un nouveau projet démarre • A partir de maintenant, nous allons faire de l’itératif, incrémental. • Nous avons 3 itérations pour y arriver ! 05/11/10 www.agiletour.org
  • 15. Itération 2 • Prenons le temps de mieux regarder ce que veut le client : o Alternance de deux dessins sur des ballons de baudruche o Les ballons seront reliés entre eux par de la ficelle • 2 minutes de temps de production
  • 17. Alternance des dessins sur les ballons reliés par une ficelle
  • 20. CA Dessin 3 cm 2,5 cm 4 cm 3 cm 1 cm 10 cm 1 cm 3 cm 4,5 cm 4,5 cm 4,5 cm 4,5 cm 3 cm
  • 21. Démo • Le client accepte ou non les livraisons • Le facilitateur de chaque équipe va reporter les points 05/11/10 www.agiletour.org
  • 22. Debrief • 2’ chaque équipe discute des problèmes rencontrés o Comment percevez-vous le décompte des points négatifs ? • 2’ le facilitateur de chaque équipe expose le principal problème (non exposé par une autre équipe) • 2’ les messages que j’aimerais partager  05/11/10 www.agiletour.org
  • 23. Debrief Itération 2 • Critères d’Acceptation (CA) o Il faut rendre explicite les principaux éléments qui vont nous permettre de dire si oui ou non, l’équipe produit ce que souhaite le PO. o Il faut définir le niveau de qualité associé ! • Tests d’Acceptation o Décrire les tests qui vont permettre de valider les CA permet de spécifier par l’exemple et de lever les ambiguïtés. o Plus long que d’écrire des CAs. • Et si vous passiez au Test Driven Drawing ?
  • 25. CODEZ ECOLO ! • « réduisez vos déchets en commençant par écrire vos tests »© © : citation de Mathieu Cans 
  • 27. Itération 3 • Discutons Critères d’Acceptation et Tests d’Acceptation, afin de : o Rendre explicites les critères d’acceptation avec le PO o Travailler sur des Tests d’Acceptation o Expérimenter le TDD • 2 minutes de temps de production
  • 28. Démo • Le client accepte ou non les livraisons • Le facilitateur de chaque équipe va reporter les points 05/11/10 www.agiletour.org
  • 29. Debrief • 2’ chaque équipe discute des problèmes rencontrés et des points positifs o Comment avez-vous perçu le fait de commencer par produire les moyens de tester ? • 2’ le facilitateur de chaque équipe expose le principal problème (non exposé par une autre équipe) et/ou la principale amélioration • 2’ les messages que j’aimerais partager  05/11/10 www.agiletour.org
  • 30. Debrief Itération 3 • TDD et qualité : définir la cible nécessaire et suffisante … • Impact sur l’expression de besoin • Pas ou peu de valeur métier produite sur une itération, c’est grave docteur ? • Communication ?
  • 32.
  • 33.
  • 34.
  • 35.
  • 36. Test Driven Development Restructuration du code Reprendre le code pour le simplifier et le rendre aisément maintenable Le test est au rouge TDD Ecriture des Tests (design de l’application) Passage des Tests Les tests restent au vert Le test est au vert Ecriture du code Modification du code Passage des Tests jusqu’à réussite complète
  • 37. Test Driven Developpement (TDD) 3. Développement logiciel 4. Exécution automatique des tests 2. Automatisation des tests Sprint #1 1. Conception des tests #2 #n
  • 38. Itération 4 • Dernière itération ! o Itératif o Incrémental o Résultat final ! • 2 minutes de production
  • 39.
  • 40. Bleu = non soumis à des tests d’acceptation
  • 41. Démo • Le client accepte ou non les livraisons • Le facilitateur de chaque équipe va reporter les points 05/11/10 www.agiletour.org
  • 42. Debrief • 2’ chaque équipe discute des problèmes rencontrés, ou des bonnes pratiques perçues o Connaissant le produit final, auriez-vous adopté la découpe (incrémentale)proposée dans le jeu ? • 2’ le facilitateur de chaque équipe expose le principal problème (non exposé par une autre équipe) ou l’adoption d’une bonne pratique. • 2’ les messages que j’aimerais partager  05/11/10 www.agiletour.org
  • 43. Debrief Itération 4 • • • • • Importance de la Vision Itératif, incrémental Importance des outils, de l’automatisation ROI TDD, ROI automatisation TDD et qualité
  • 45. • Le TDD quand on commence on se demande comment faire. • Quand on sait faire, on se demande comment on a pu s'en passer.
  • 46. REX sur le TDD Thales Grenoble Mathieu Cans Passage du test traditionnel à l’approche full mock de JB-Rainsberger Couverture de ~80% de tests Unitaires :Enfin ! Chute de la complexité par classe 05/11/10 www.agiletour.org
  • 47. Pyramide de test de Mike Cohn •Nombre faible : 1 à 5% Le plus automatisé possible Outil : Selenium Au moins un par user story : 5 à 15% Automatisés Outil : FitNesse ou GreenPepper Au moins un par classe ou module : 80 à 90 % Automatisés Outil : JUnit Tests IHM Tests Fonctionnels Tests Unitaires Ref : Succeeding with agile Mike Cohn Source : http://blog.mountaingoatsoftware.com/the-forgotten-layer-of-thetest-automation-pyramid
  • 48. REX ATDD Thales Grenoble Mathieu Cans • Une fois le TDD full mock bien en place • C’est l’ATDD qui a été visée : spécification par l’exemple o Bénéfices • Compréhension partagée (fonctionnels / techniques) • Mesure de l'avancement • Non régression • Documentation vivante. Le point négatif de l’outil FitNesse est l'utilisation d'un wiki moins rapide qu'un fichier WORD pour décrire les fonctionnalités, même si le format wiki permet d’illustrer les tests avec des images ou schémas
  • 49. Conclusion/Objectifs • ScrumMaster/coach : o découvrir/imaginer les différents potentiels et variantes de ce jeu • Product Owner / Business Analyst : o ne jamais oublier l’importance des Critères d’Acceptance • Equipiers : o comprendre qu’il faut sans cesse clarifier les Critères d’Acceptance • Tous : o KISS o Différence entre CA et TA ? o ROI Automatisation si itératif, incrémental o Importance de la Vision o Envie d’en apprendre plus sur le TDD, ATDD, BDD 05/11/10 www.agiletour.org
  • 50. Références l’approche full mock de JB-Rainsberger http://www.jbrains.ca/permalink/the-worlds-best-intro-to-tdd-demo-video 05/11/10 www.agiletour.org
  • 51. ROTI (Return On Time Investment) pour cette session • Excellente « Voilà une super session dont je vais bénéficier. Ça valait plus que le temps que j’y ai passé » • Bonne « Voilà une session au-dessus de la moyenne. J’ai passé un bon moment et j’ai gagné plus de temps que j’y ai passé » • Juste moyenne « Je n’ai pas perdu mon temps, sans plus » • Utile « Ça ne valait pas à 100% le temps que j’y ai passé. J’ai donc perdu du temps. » • Inutile « Je n’ai rien gagné, rien appris. J’ai vraiment perdu mon temps. »
  • 52. MERCI ! Merci à celles et ceux qui sont venus jouer !!! Un grand merci aux 4 personnes qui ont joué le jeu du perfection game et qui m’ont donné un feedback aussi positif qu’agréable qui vient récompenser tant de préparation  05/11/10 www.agiletour.org