Le coding dojo est une rencontre entre plusieurs personnes qui souhaitent travailler sur un défi de programmation de façon collective[1]. 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 :

C'est un exercice qui tend à se développer depuis 2009[2],[3], bien que certains clubs existent depuis plusieurs années[4].

Types de coding dojo modifier

Kata modifier

Une personne démontre au reste du groupe à partir de zéro comment résoudre le problème. Un kata est aussi un exercice de programmation que l'on répète pour perfectionner ses compétences.

Randori modifier

Des paires tournant de façon régulière (de cinq à dix minutes) codent au tableau le problème[5]. L'assistance peut interrompre en cas de problème de compréhension. Ou encore en pair programming, les deux personnes essaient de coder une solution, au bout d'un certain temps, on change de partenaire, on efface tout ce qui a été fait, et on reprend.

Organisation d'un coding dojo modifier

Afin d'organiser des sessions de manière efficace, il est nécessaire de respecter un certain nombre d'étapes. Cependant les règles de fonctionnement peuvent différer d'un groupe à l'autre[6].

Avant la séance modifier

Il est nécessaire de choisir une date (ou une fréquence) de rencontre, avec un lieu pouvant accueillir l'activité. Un coding dojo nécessite une salle avec au minimum un vidéoprojecteur et un ordinateur (équipé de tous les outils nécessaire au problème, tels que interpréteur, compilateur, IDE…).

C'est également avant la séance que l'on commence à réfléchir au problème qui sera posé, et on décide via un vote public soit avant, soit au début de la séance.

Pendant le dojo modifier

En fonction du type de dojo organisé, soit une personne résout le problème par étape et de façon pédagogique, en expliquant pas à pas, et les autres posent des questions en cas de problème de compréhension (méthode kata). Dans la configuration randori, chaque personne prend le rôle de pilote pendant une certaine durée de temps, et il est possible d'effectuer autant de passages que voulu.

Après le dojo modifier

Afin que les participants puissent retravailler le problème vu lors de la séance, il faut mettre à disposition le code produit. On revient ensuite à la première étape, pour préparer le dojo suivant.

Intérêt modifier

L’intérêt principal des coding dojos est d'apprendre de nouvelles techniques, soit grâce aux connaissances des autres, soit en progressant ensemble face à un problème. Ces sessions permettent de tester et de parfaire des techniques de façon sûre, tout en partageant avec les autres membres son savoir.

Le coding dojo ne fonctionne correctement que si ces trois éléments sont réunis :

  • l'envie d'apprendre de nouvelles techniques, de nouveaux concepts de programmation,
  • l'envie de partager avec les autres ses connaissances,
  • bénéficier d'une amélioration continue de ses compétences.

Habituellement, les développeurs travaillent de manière autonome pour se parfaire, lors de leur travail ou de projets personnels, alors que le dojo permet une progression à plusieurs[7]. Les dojos permettent de découvrir de nouvelles notions en programmation, et peut servir de complément aux formations continues[6].

« 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 assidûment. 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, président de l'association XP-France (Extreme Programming)[8]

Notes et références modifier

  1. Coding Dojo en entreprise - Pourquoi ? Comment ?, consulté le 30 octobre 2012
  2. Statistiques Google Trends sur "coding dojo", consulté le 30 octobre 2012
  3. Section Coding Dojo du club agile de Rhone Alpes, consulté le 30 octobre 2012
  4. ParisDojo, exemple de club fondé en décembre 2004
  5. O que é Coding Dojo? « Copie archivée » (version du sur Internet Archive), consulté le 30 octobre 2012
  6. a et b Résolutions 2011 : coding dojo ? code retreat ? « Copie archivée » (version du sur Internet Archive), consulté le 25 octobre 2012
  7. Le projet du dojo « Copie archivée » (version du sur Internet Archive) sur agle-france.org, consulté le 25 octobre 2012
  8. Les Geneva Coding Dojos, consulté le 24 octobre 2012