Coding Dojo - Kata sur le pilotage par les tests d'acceptances (ATDD)
1. lundi 12 octobre 2009
agiletour.org/fr/at2009_geneve.html
B4
Coding Dojo - Kata sur le pilotage
par les tests d'acceptances (ATDD)
Emmanuel HUGONNET & Rémy SANLAVILLE
2. Coding Dojo – Kata sur le pilotage
par les tests d'acceptances (ATDD)
Rémy Sanlaville Emmanuel Hugonnet
Expert Senior en Ingénierie Logicielle Architecture J2EE
remy.sanlaville@gmail.com emmanuel.hugonnet@silverpeas.com
+33-(0)476248658
www.clubagile.org
3. Contrat de la session
Ce que vous verrez pendant cette session
[ 5'] Rapide présentation du coding-dojo
[ 5'] Présentation du défi
[35'] Codage en binôme avec cuke4duke
[15'] Rétrospective
www.clubagile.org
4. Contrat de la session
Ce que vous ne verrez pendant cette session
L'intérêt du coding-dojo
On The Benefits of Dojo (Arnaud Bailly)
Présentation des spécifications exécutables
Session Soigner sa schizophrénie MOA / MOE
Comment mettre en place un coding-dojo dans sa ville
Coding Dojo: un retour d'expérience
Comment devenir Chuk Norris
www.clubagile.org
6. Historique
Si je veux apprendre le Judo, je vais m'inscrire au dojo du
coin et y passer une heure par semaine pendant deux ans, au bout
de quoi j'aurai peut-être envie de pratiquer plus assidument.
Si je veux apprendre la programmation objet, mon
employeur va me trouver une formation de trois jours à Java dans
le catalogue 2004.
Cherchez l'erreur.
-- Laurent Bossavit
www.clubagile.org
7. Objectifs
Chacun doit pouvoir s'améliorer à son rythme
Le but n'est pas de terminer l'exercice mais bien d'apprendre
• Espace sûr
– Pas de compétition
– Collaboration
– Tout le monde participe
• Apprentissage continu/régulier
• Apprentissage par petits pas
• L’erreur est humaine
www.clubagile.org
8. Kata
from Dojo@SP (São Paulo)
pilote
Binôme Participants
co-pilote
www.clubagile.org
9. Charte Coding Dojo
Kata
Objectifs Acteurs
Présentation d'une
solution pour un défi
Un présentateur (un seul Le secrétaire prend des
programmeur ou un binôme) notes lors de la séance. Il
Le but n'est pas de présente sa solution du défi. Le défi
est réalisé en entier en TDD.
n'intervient pas pendant la
phase de développement.
trouver la meilleure Il explique continuellement son
cheminement et il affiche sa
solution mais de progression en
fréquemment les tests
déroulant
comprendre la
solution proposée par L'assistance doit comprendre en tout temps la
l'animateur. présentation. Un participant peut interrompre
le présentateur dans le seul cas où il ne
comprend plus le déroulement de la solution.
www.clubagile.org
10. Charte Coding Dojo
Kata
Règles
Restructuration du code Le test est au rouge
Toute restructuration doit être Si le test ne passe pas, le présentateur doit
expliqué expliquer aux participants la raison de
l'échec.
TDD
Le test est au vert
Le présentateur peut souligner de bonnes ou de mauvaises pratiques
La salle peut interrompre le présentateur dans le seul cas où il ne
comprend plus le déroulement de la solution.…
www.clubagile.org
13. Jeu Du Pendu v1.0
Succès en début de partie
Soit le mot à trouver "SANGLIER"
Et le nombre de coups restants est 6
Et le mot affiché est "********"
Lorsque je tape la lettre "S"
Alors le nombre de coups restants devrait être 6
Et le mot affiché devrait être "S*******"
Coup perdant
Soit le mot à trouver "SANGLIER"
Et le nombre de coups restants est 6
Et le mot affiché est "S*******"
Lorsque je tape la lettre "Z"
Alors le nombre de coups restants devrait être 5
Et le mot affiché devrait être "S*******"
www.clubagile.org
14. Jeu Du Pendu v1.0
Succès avec état
Soit le mot à trouver "SANGLIER"
Et le nombre de coups restants est 5
Et le mot affiché est "S*******"
Lorsque je tape la lettre "N"
Alors le nombre de coups restants devrait être 5
Et le mot affiché devrait être "S*N*****"
Succès avec plusieurs occurrences d'une même lettre
Soit le mot à trouver "ALOUETTE"
Et le nombre de coups restants est 5
Et le mot affiché est "A*******"
Lorsque je tape la lettre "T"
Alors le nombre de coups restants devrait être 5
Et le mot affiché devrait être "A****TT*"
www.clubagile.org
15. Jeu Du Pendu v1.0
L'utilisateur tape une lettre déjà proposée
Soit le mot à trouver "SANGLIER"
Et le nombre de coups restants est 5
Et le mot affiché est "S*N*****"
Lorsque je tape la lettre "S"
Alors le nombre de coups restants devrait être 5
Et le mot affiché devrait être "S*N*****"
Coup perdant avec compteur coups restants à 0
Soit le mot à trouver "ALOUETTE"
Et le nombre de coups restants est 0
Et le mot affiché est "A***ETTE"
Lorsque je tape la lettre "S"
Alors le nombre de coups restants devrait être 0
Et le mot affiché devrait être "A***ETTE"
www.clubagile.org
16. Codage
Le code source est disponible à l'adresse
http://github.com/ehsavoie/dojo_agiletour_2009
www.clubagile.org
18. ROTI (Return On Time Invested)
5 doigts : Excellente
Super c'est exactement ce qu'il me fallait !
4 doigts : Bonne
Très intéressant, j’ai gagné plus que le temps que j’y ai
passé.
3 doigts : Juste Moyenne
Intéressant, sans plus. Je n’ai pas perdu mon temps.
2 doigts : Utile
Bof ! J'ai perdu du temps.
1 doigt : Inutile
Je n'ai rien appris. J’ai vraiment perdu mon temps
www.clubagile.org
20. Coding Dojo à Grenoble
Site web http://clubagile.org/evenements/coding-dojo/
Liste de diffusion
http://groups.google.fr/group/cara-dojo
www.clubagile.org
21. Randori
from Dojo@SP (São Paulo)
pilote
Binôme Participants
co-pilote
On tourne (5 – 7 mn)
www.clubagile.org
22. Remerciements
• Pragmatic Dave Thomas
• Laurent Bossavit
• Emmanuel Gaillot
• Alfredo Goldman
• Hugo Corbucci, Mariana Bravo
• Membres du Coding Dojo de Grenoble
Références :
• CodeKata
• Coding Dojo @ Agile 2008
• CodingDojo.org
• Le Dojo Parisien
www.clubagile.org