Feedback d’une saison de Coding Dojo (2015)
Bonjour à tous, aujourd’hui un article feedback concernant des Coding Dojo que j’ai participé à organiser cette année à Polytech Nice Sophia. On va commencer par revoir ce qu’est un Coding Dojo et ensuite nous parlerons de cette saison 2015.
Vous avez dit Coding Dojo ?
Pour commencer définissons ce qu’est un Coding Dojo car je suis sûr que beaucoup d’entre vous ne connaissent pas et même pour ceux qui connaissent ça ne fait jamais de mal de repartir sur de bonnes bases avec une piqûre de rappel.
Wikipédia en parle très bien et voici le passage intéressant :
“Le Coding Dojo est une rencontre entre plusieurs personnes qui souhaitent travailler sur un défi de programmation de façon collective. Le défi peut être un problème algorithmique à résoudre ou un besoin à implémenter. Chaque Coding Dojo se concentre sur un sujet particulier, et représente l’objectif de la séance. Ce sujet doit permettre d’apprendre de façon collective sur le plan technique et sur la manière de réussir le défi. L’exercice peut être effectué entre personnes d’une même entreprise, d’une école ou encore venant d’horizons différents.
Les Coding Dojo mettent en œuvre des techniques de programmation lié aux méthodes agile et à l’extreme programming :
Pair programming
Test Driven Development”
Il existe 2 types de Coding Dojo, les Katas et les Randoris. Un kata se présente sous la forme d’un cours/démo pendant lequel une personne expose au reste du groupe une solution à un problème ou plutôt sa solution à un problème en partant de zéro. Ce dernier détail est important.
Le Randori quant à lui se présente comme une session de code en groupe en pair programming et en TDD (Test Driven Development) avec des sessions timeboxés pour chaque personne (on faisait souvent du 8 minutes/personne de mémoire).
Le déroulé d’un Randori est le suivant : Accueil, rappel des règles (TDD, pair programming, time-boxing etc.) , présentation du sujet du jour, définition des fonctionnalités à implémenter, session de code, pause en milieu de session pour prendre du recul sur ce qu’on a réussi à faire et ce qu’on va faire dans la seconde session de code , session de code, compte rendu et choix de la prochaine date et si possible du prochain sujet.
La saison 2015
Il y a eu 6 Coding Dojos entre mi-Février et mi-Mai. La fréquence de rendez-vous était d’une fois toutes les 2 semaines et on se réunissait le mercredi soir de 18h à 20h sur le campus SophiaTech dans une salle du bâtiment Forum. Oui oui c’est très précis parce que c’était en effet très régulier (enfin presque).
Nous avons développé les sujets suivants :
1 – Randori – Jeu de carte poker (jeu tiré de cette liste d’idées d’exercices : github.com/JonJagger/cyber-dojo)
Premier Dojo de l’année, il y avait beaucoup de monde. Trop de monde. C’était difficile à gérer et ça a ralenti le dynamisme nécessaire à une session de Code en groupe. Le sujet était sympa mais sans plus. En résulte Un Dojo mitigé mais c’était le premier de la saison donc ça excuse beaucoup de choses. Leçon retenue : Quand on est trop nombreux, on sépare en 2 groupes.
2 – Randori – Application de gestion de tâche en JAVA (ToDo-Liste)
Session plus light que la précédente avec un bon nombre de personne (12/15 de mémoire). Nous avons bien défini les fonctionnalités et les avons implémenté en Java. Le travail a bien avancé mais malheureusement on ne pouvait pas bien visualiser notre travail visuellement parlant donc c’était un peu frustrant. Leçon retenue : Il faut que l’exercice donne un résultat que l’on peut visualiser pour garder la motivation des participants.
3 – Kata -> Intro à AngularJS, Cordova et Ionic, NodeJS et socket.io par Jean-Yves Delmotte.
Kata super intéressant avec des technos en vogue et bien préparé par Jean-Yves. Un Kata comme on les aime, chargé, rythmé et plein de conseils et astuces.
4 – Randori – Mini jeu en JS (GhostGame)
Ce fut le Randori le plus abouti de la saison. Un jeu en JS codé rapidement et efficacement avec une bonne dynamique de groupe et un résultat fort sympathique. Pouvoir visualiser un résultat très rapidement grâce au langage utilisé a beaucoup aidé la motivation du groupe.
5 – Randori – Amélioration du mini jeu GhostGame (ajout du multi-joueur etc.)
Quand on a vécut le meilleur, le pire n’est jamais très loin. Ce Dojo fut donc le plus “raté” de la saison. Nous n’avons pas réussi à améliorer ce jeu car les refactorings que nous avons entrepris nous ont pris beaucoup plus de temps que prévu et nous avons perdu beaucoup de temps sur des broutilles.
Ce qui est bien avec les sessions un peu plus ratées c’est qu’on peut les analyser pour s’améliorer. Concernant cette session il y a eu un manque de rappel des règles en début de session. J’aurais du bien plus insister sur les règles de bases à respecter sans prendre en compte le fait que tous ceux présents étaient déjà venus à des Dojos précédemment. Nous avons également mal défini nos tâches en début de session. Trop grosses, trop floues et mal priorisées.
6 – Kata – Introduction aux Mock (Cucumber / Mockito) par Sébastien Mosser.
Nous avons terminé la saison avec un Kata par Sébastien Mosser. Ce kata nous a aussi permi de faire une tentative d’enregistrement vidéo du Kata, ce qui présage des vidéos de Katas la saison prochaine.
Conclusion
Cette saison de Coding Dojo a été bien remplie et nous avons réussi à bien faire évoluer la communauté. J’ai vraiment apprécié les organiser et je pense que nous étions tous ravis après chaque événement et c’est l’essentiel !
Pour la prochaine saison les objectifs sont tout d’abord de démarrer dès Septembre/Octobre mais aussi de se rapprocher d’entreprises afin de faire des Dojos mixés étudiants/professionnels. C’est déjà sur les rails mais il reste à concrétiser.
Vous pouvez retrouver les codes des Coding Dojos sur le Github suivant : github.com/CodingDojoPolytech. Et si vous êtes sur Sophia Antipolis et que vous voulez découvrir cet événement, manifestez vous ! Vous êtes les bienvenus ! Merci à tous les participants de cette année et rendez-vous à la saison prochaine !
Quelques photos
- Kata Intro à AngularJS, Cordova et Ionic, NodeJS et socket.io par Jean-Yves Delmotte.
- Randori TodoListe
- Randori amélioration du mini-jeu Ghosts game
- Objectifs et tâches pour le mini-jeu JS Ghosts Game