vendredi 25 mars 2011

Code retreat présentation et comment tu peux t'inscrire

Code Retreat, à la suite du coding dojo, une nouvelle façon de s'entraîner.

Ce billet a pour objectif de présenter la double session du matin du track Gamy. (9h20-12h30) Si vous êtes intéressés de participer, merci de suivre ce qui est demandé en fin de billet.

De quoi parle t-on ?
S’il y a un sujet sur lequel les grenoblois ont 2 ans d’avance, c’est leur participation active au mouvement d’artisanat logiciel (Software craftsmanship). Après les entraînements au développement au travers des différentes formes de Coding Dojo et le premier Code Retreat organisé en France, ils sont heureux de venir à Lyon pour proposer une session d'entraînement et partager avec nous ces principes.


La démarche dans le cadre de Mix-IT est bien de démystifier cette notion de pratique du développement, d’amélioration de ses capacités par la pratique itérative. Emmanuel, Johan et Rémy présentent la session ainsi :
“Le métier de développeur est à la fois passionnant et exigeant. Comme tout autre art, il demande de répéter et de s’entraîner régulièrement afin d’atteindre la perfection du geste. La légende veut qu’un jour un homme demanda à Arthur Rubinstein, célèbre pianiste, “Monsieur, comment faire pour arriver à Carnegie Hall ?” et que celui répondit “S'entraîner, s'entraîner, s'entraîner”. Venez donc répéter vos gammes durant ce mini Code-Retreat de deux heures.


Mais qu’est un code-retreat ? C’est très simple, il s’agit d’une série de sessions de codage en binôme. A chaque nouvelle session on change de partenaire, on efface tout et on recommence le défi afin de mesurer sa progression et s’enrichir des connaissances des autres participants. Venez avec nous vous exercez sur le défi du jeu de la vie de Conway. Nul besoin d’être un expert en programmation l’important est d’aimer programmer et d'avoir le désir d'apprendre et de s’améliorer.”

Principes d'organisation
Maintenant, il est nécessaire de nous organiser autour de cette session. Elle se déroulera dans une salle dédiée englobant les sessions de 10h15 à 11h15 et de 11h30 à 12h30. Vous pouvez participer à une ou aux deux sessions selon vos désirata. Mais si vous voulez mesurer votre progrès concernant les 4 principes de design simple, les trois maîtres préconisent de faire un temps complet de 10h15 à 12h30.

Il serait préférable que vous veniez avec votre propre PC et IDE avec un xUnit afin que vous soyez directement à l’aise à votre environnement de développement.

Inscription et amélioration de la session
Désormais, nous aimerions voir vos questions dans les commentaires de ce billet afin de bien préparer cette session.

Surtout, nous aimerions vous connaître. Afin de vous inscrire, veuillez ajouter dans les commentaires :
  • votre nom,
  • votre langage de préférence, même si ce sera aussi l’occasion d’en découvrir d’autres,
  • la/les sessions de code retreat auxquelles vous voulez participer.


    Sources :
    CodeRetreat : Code retreat in Grenoble
    Wikipedia : Software craftsmanship
    Wikipedia : Conway's Game of Life
    C2 : Xp Simplicity Rules
    CodeRetreat : Mini retreat at Mix-IT Lyon

    11 commentaires:

    1. Je serai présent !

      Nom : Thierry FRANZETTI
      Langages : C++ / C#
      Sessions : les 2

      RépondreSupprimer
    2. +1

      Nom : Stéphane Tavera
      Langages : Clojure, Ruby
      Session : Coding Dojo Clojure

      RépondreSupprimer
    3. J'en suis!
      Rémi Mélisson / Java / les 2 sessions

      RépondreSupprimer
    4. Nom: Maximilien Rzepka
      Langages : Java/Groovy/Clojure/Javascript
      Sessions : les 2
      Questions : Comment se préparer aux sessions ? Quel environement de dev configurer ? identique pour tous ?
      Peut-on arriver avec des idées de design ? Le sujet Game of Life peut-il changer ? Quelques conseils de lecture ?
      Merci et à très bientôt

      RépondreSupprimer
    5. Bonjour Maximilien,

      Je vais tacher de répondre au mieux a tes questions.

      Quel environement de dev configurer ? identique pour tous ?
      Nous n'imposons pas de langage (même si on préfère java ainsi que les outils qui vont avec car on les connait mieux). La seule contrainte est de pouvoir faire des binômes. Nous proposerons un projet de base en java pour eclipse/netbeans.

      Peut-on arriver avec des idées de design ? Le sujet Game of Life peut-il changer ?
      Le défi n'est pas une finalité en soi (ce qui peut surprendre de premier abord). L'objectif du Code Retreat est l'entraînement aux bonnes pratiques de développement (TDD, pas de duplication de code... cf. les 4 principes de design simple dans l'annonce) afin de les maîtriser. Pour pouvoir se concentrer sur l'amélioration de ces pratiques , il faut partir sur un défi simple. Comme les 4 sessions dureront que 25 minutes, nous nous concentrerons uniquement sur le changement d'état de la cellule.

      Comment se préparer aux sessions ? Quelques conseils de lecture ?
      La base est de connaître le TDD (Test Driven Development). Ensuite, les plus expérimentés peuvent lire les principes OO / S.O.L.I.D. (SRP : Single Responsibility Principle, OCP: Open Closed Principle, LSP: Liskov Substitution Principle, Loi de Demeter...). Enfin, s'entraîner, s'entraîner pour atteindre le geste parfait.

      A bientôt,

      Rémy

      RépondreSupprimer
    6. Merci Rémy pour tes réponses. C'est vraiment passionnant et il serait intéressant de mettre en perspective ces méthodes avec des langages plus fonctionnels comme dans l'article Bowling in Clojure ...
      A mardi,
      Maximilien

      RépondreSupprimer
    7. Radu Kopetz / Java / les 2 sessions

      RépondreSupprimer
    8. Eric ZANE
      Langage: C++
      Je serai présent aux 2 sessions

      RépondreSupprimer
    9. Nizar Garrache
      Java
      Les 2 sessions

      RépondreSupprimer
    10. Pour ceux qui développent en java nous mettons à disposition des coquilles vides : un projet maven, et un projet eclipse https://github.com/martinsson/Cara-Code-Retreat
      A venir, un projet netbeans.

      N'hésitez pas à proposer votre config C# etc. Cela dit il suffit d'un projet vide qui exécute un test unitaire

      RépondreSupprimer
    11. Norbert CHENAIS
      Langage: java
      Les 2 sessions

      RépondreSupprimer