At2009 Coding Dojo ATDD

Preview:

DESCRIPTION

Mise en oeuvre de l'Acceptance Tests Driven Development via un coding dojo avec cuke4duke

Citation preview

www.clubagile.org

Coding Dojo – Kata sur le pilotage par les tests d'acceptances (ATDD)

Emmanuel HugonnetArchitecture J2EEemmanuel.hugonnet@silverpeas.com+33-(0)476248658

Rémy SanlavilleExpert Senior en Ingénierie Logicielle  remy.sanlaville@gmail.com

www.clubagile.org

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

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écutablesSession Soigner sa schizophrénie MOA / MOE

Comment mettre en place un coding-dojo dans sa villeCoding Dojo: un retour d'expérience

Comment devenir Chuk Norris

www.clubagile.org

Présentation

www.clubagile.org

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

Objectifs

Chacun doit pouvoir s'améliorer à son rythmeLe 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

Kata

from Dojo@SP (São Paulo)

co-pilote

piloteBinôme Participants

www.clubagile.org

Charte Coding Dojo - Kata

Objectifs

Présentation d'une solution pour un défi.

Le but n'est pas de trouver la meilleure solution mais de comprendre la solution proposée par l'animateur.

Règles

Vous ne pouvez poser des questions que si vous n'avez pas compris un enchaînement.

Vous ne pouvez pas interrompre le Kata pour proposer une meilleure solution.

www.clubagile.org

Défi

www.clubagile.org

Jeu Du Pendu

www.clubagile.org

www.clubagile.org

www.clubagile.org

www.clubagile.org

Jeu Du Pendu v1.0

Succès en début de partieSoit le mot à trouver "SANGLIER"Et le nombre de coups restants est 6Et le mot affiché est "********"Lorsque je tape la lettre "S"Alors le nombre de coups restants devrait être 6Et le mot affiché devrait être "S*******"

EchecSoit le mot à trouver "SANGLIER"Et le nombre de coups restants est 6Et le mot affiché est "S*******"Lorsque je tape la lettre "Z"Alors le nombre de coups restants devrait être 5Et le mot affiché devrait être "S*******"

www.clubagile.org

Jeu Du Pendu v1.0

L'utilisateur tape une lettre déjà proposéeSoit le mot à trouver "SANGLIER"Et le nombre de coups restants est 5Et le mot affiché est "S*N*****"Lorsque je tape la lettre "S"Alors le nombre de coups restants devrait être 5Et le mot affiché devrait être "S*N*****"

Succès avec étatSoit le mot à trouver "SANGLIER"Et le nombre de coups restants est 5Et le mot affiché est "S*******"Lorsque je tape la lettre "N"Alors le nombre de coups restants devrait être 5Et le mot affiché devrait être "S*N*****"

www.clubagile.org

Jeu Du Pendu v1.0

Echec avec compteur coups restants à 0Soit le mot à trouver "ALOUETTE"Et le nombre de coups restants est 0Et le mot affiché est "A***ETTE"Lorsque je tape la lettre "S"Alors le nombre de coups restants devrait être 0Et le mot affiché devrait être "A***ETTE"

Succès avec plusieurs occurrences d'une même lettreSoit le mot à trouver "ALOUETTE"Et le nombre de coups restants est 5Et le mot affiché est "A*******"Lorsque je tape la lettre "T"Alors le nombre de coups restants devrait être 5Et le mot affiché devrait être "A****TT*"

www.clubagile.org

www.clubagile.org

ATDD / TDD

Emerger le designTests unitaires

Exigences exécutablesSpécifications par l'exemple

www.clubagile.org

Le code produit

Le code produit se trouve sur Github

git clone git://github.com/ehsavoie/dojo_agiletour_2009.git

www.clubagile.org

www.clubagile.org

Rétrospective

www.clubagile.org

5 doigts : ExcellenteSuper c'est exactement ce qu'il me fallait !

4 doigts : BonneTrès intéressant, j’ai gagné plus que le temps que j’y ai passé.

3 doigts : Juste MoyenneIntéressant, sans plus. Je n’ai pas perdu mon temps.

2 doigts : UtileBof ! J'ai perdu du temps.

1 doigt : InutileJe n'ai rien appris. J’ai vraiment perdu mon temps

ROTI (Return On Time Invested)

www.clubagile.org

Annexes

www.clubagile.org

Coding Dojo à Grenoble

Site web http://clubagile.org/evenements/coding-dojo/

Liste de diffusion http://groups.google.fr/group/cara-dojo

www.clubagile.org

Randori

co-pilote

pilote

On tourne (5 – 7 mn)

Binôme Participants

from Dojo@SP (São Paulo)

www.clubagile.org

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

Recommended