Coding dojo, kezaco ?
Introduction
Les coding dojos sont des moments de rencontre et de convivialité de développeurs qui se réunissent afin de résoudre un challenge de programmation à plusieurs. Le terme dojo est originaire d’Asie et exprime un lieu où se pratique les katas qui sont des mouvements ou séries de mouvements qu’on se force à répéter jusqu’à automatisation du processus. Le but n’étant pas de se prendre la tête à plusieurs, les coding dojos sont des moments avant tout destiné à apprendre tout en s’amusant et à emmagasiner de nouvelles compétences grâce au talent du collectif.
Avec l’émergence des pratiques Agiles, les coding dojos sont devenus l’un des moyens les plus utilisés par les développeurs afin d’accroître leurs connaissances en dehors de leur lieu de travail quotidien tout en se challengeant par la confrontation avec d’autres développeurs. Il existe ainsi deux exercices de prédilection lorsqu’on parle de coding dojo : le kata préparé et le randori.
Les différents coding dojos
Le kata préparé ou Cycle Test Driven Development
Lorsqu’il s’agit d’un kata préparé, le sujet a préalablement été défini par un organisateur et exprimé au reste du groupe pour approbation. Ce même organisateur va donc être la clé de voute du défi puisqu’il va adopter une posture de « professeur » en réalisant lui-même l’exercice tout en expliquant, en détails, les différentes solutions qu’il apportent. L’orateur peut donc être coupé à tout moment par les autres développeurs afin d’apporter plus de précision sur telle ou telle partie de la solution.
La description des différentes étapes se fait via l’utilisation du TDD. Les autres parties prenantes du coding dojo peuvent (doivent) par ailleurs tenter d’apporter eux-mêmes des solutions alternatives à celles proposées par l’organisateur. En somme c’est une démonstration participative d’un défi de programmation.
💡
La présentation est souvent effectuée en binôme Les deux orateurs sont donc appelés « pilote /driver» et « copilote/observer » et échangent leur rôle de manière régulière.

Le randori
L’autre forme de coding dojo est elle axée sur la participation technique de chacun des participants et utilise le pair programming en effectuant un cycle court (5 – 10 minutes) de roulement entre les postes de pilote – copilote – observateur.
La démarche TDD est une nouvelle fois essentielle au bon déroulement du randori puisqu’elle permet au nouveau pilote de savoir ou il en est rendu. Toutes les modifications apportées doivent être soumises à validation du groupe d’observateur.

Conclusion
Le randori, tout comme le kata préparé, se terminent lorsqu’une solution finale est trouvée et reçoit l’approbation de l’ensemble du groupe ou lorsque le temps imparti est écoulé. Il convient en effet de fixer des règles précises au début de la séance avec : un langage, une durée fixe, un mode de fonctionnement. Toute personne ayant à cœur de progresser peut participer à un coding dojo. Ainsi, il n’est pas rare de voir de nombreux amateurs s’essayer à la compréhension de ces défis.
Côté matériel, rien de bien compliqué non plus : une salle, une table, des chaises, un vidéo/rétroprojecteur, un ordinateur, une connexion internet, des post-it (feuilles de papier), des crayons et un paperboard.
La principale difficulté d’un coding dojo résulte de la compréhension de chacun aux lacunes des autres et du respect du temps imparti à la résolution de la problématique posée.
Envie d’essayer ?
Rejoignez-nous pour nos futurs coding dojo en vous inscrivant directement sur la page événement du site internet de Code Insider.