IMG_0352.jpg Samedi dernier, nous avons organisé avec Jean-Laurent de Morlhon et Adrian Bolboaca venu spécialement de Lille pour cela, la première session de coderetreat parisien. Avec Adrien, j'avais essayé depuis le mois de mars de mettre cela en place, mais il semblait que la communauté des développeurs parisiens n'adhérent pas à ce concept. La session de samedi dernier nous a montré que ce n'est pas le cas.

Le format

Le coderetreat est une session qui s'organise un samedi, et s'étend sur une journée et sont but est d'améliorer les techniques de développement en appliquant des concepts de code bien formé et des techniques comme le TDD (Test Driven Development). Elle est composé de plusieurs sessions ( maximum 7, d'habitude 6) de 45 minutes de code, une rétrospective de 1à minute et une pause de 5 minutes. A chaque itération des binômes de développement sont formés et le langage de programmation est au choix. Le code produit pendant la journée est pour le même exercice, souvent le jeu de la vie de Conway. Le démarrage est prévu pur 8:30, la fin pour 17:00.

L'objectif

Pendant le coderetreat , les participants sont encouragés à se focaliser sur l'amélioration de ses techniques de développement, non pas de "finir l'exercice". Comme disait Adrian samedi dernière, il n'y a pas d'objectif de performances, le but est de d'apprendre pour s'amuser. Une des règles des codesretreats est d'effacer le code produit après chaque itération. De toute façon les binômes changent et le langage peut aussi être changé. L'initiateur des coderetreats est Corey Hanes, vous pouvez voir comment ça fonctionne sur son site.

Pourquoi un samedi matin à 8:30 ?

La raison de cette programmation est de former un groupe des personnes qui sont vraiment passionnés par l'amélioration de leurs techniques comme développeurs. Ce n'est pas du boulot infligé, c'est pour ceux qui le développement est aussi un hobby : le "coders' garage band".

La session parisienne

L'exercice choisi a été le classique jeu de la vie. La première itération a été libre de choix en terme de recommandation et de règles. Ca a démarré très fort avec Java, JavaScript, Scala et Haskell comme langages.

La 2ème itération a introduit les règles du simple design:

  1. Passer les tests
  2. Le moins de duplication de code possible
  3. Claire : Relever l'intention du code ( le nommage doit être claire, etc)
  4. utiliser peux de composants ( dans le sen d'éléments).

Les élements du simple design se trouvent sur le site de Jerry B. Rainsberger

La 3ème itération a été la plus dure, car le TDD a été introduit dans cette itération. Avec cette itération , tous les problématiques de conception (top-down, bottom-up) se sont relevés. Aussi, une des réflexion à se faire est "Est mon test unitaire vraiment unitaire?". Les règles "TDD as if you ment it" on été expliqués par Adrian tels que décrits sur le site de Gojko Adjic.

IMG_0351.jpgLa 4ème et la 5ème itération ont introduit des nouveaux règles comme, "renoncer à la "primitive obsession", avoir des méthodes avec seulement 2 imbrications au maximum, exclure les conditionnelles, etc.

La 6ème itération est retourné sur un format libre, mais avec tous les enseignements de la journée. Elle a bien montré que les contraintes son source de créativité et de motivation pour réussir.

Le bilan

Une forte volonté d'amélioration est ressortie de cette première session. Il y a eu même des participants qui sont restés pur une ...7ème itération! Nous sommes partis diner vers 19:00. Quelques retours sur cette session: On peut faire des tests unitaires sur JavaScript TDD n'est pas facile, mais c'est particulièrement bénéfique pour comprendre l'exercice. Binômer est déjà une bonne prémisse pour s'améliorer, car on voit divers approches qui peuvent donner des nouvelles idées.

Eh, oui, ce n'est surement pas le dernier coderetreat à Paris!__

Remerciements

A Adrian Bolboaca, qui est venu de Lille à ces frais pour animer cette session. A Jean Lauren de Morlhon (XEBIA) pour nous soutenir et organiser la mis à disposition de locaux , le déjeuner et et de toute la logistique. A tous les lèves-tôt qui sont venus avec leurs ordinateurs, des petits yeux et un grand enthousiasme pour participer à cette session fun.