TDD is dead?!? let’s do an autopsy

image

Why we are still stuck with TDD nowadays? Through several facts & stories from the trenches, we will see why most of us still have not managed to grasp or to sustain the TDD experience.

Wouldn’t be a good opportunity to meditate about how we are thinking? And why not, thinking outside of the box to get a better feeling of the TDD soul.

I’m so proud to animate this talk with me friend Thomas Pierrain.

MUG Lyon 23 Avril 2015

image

Si vous êtes sur Lyon le 23 avril 2015, je serai de passage au MUG pour parler mon expérience de coach software craftsman, mais pas que. Je vous présenterai aussi quelques techniques pour tester du code pas vraiment testable.

  • How to turn your developers in less than 6 months in perfect software craftsmen
    • Je parlerai de mon retour d’expérience de coaching software craftsmanship en précisant à la fois mes techniques et quelques anecdotes issues du terrain.
  • How to test untestable code
    • Vous avez sans doute déjà vu du code legacy complètement fermer aux tests : un vrai coffre-fort. En quelques minutes, je vous promets de présenter quelques techniques pour forcer le coffre-fort sans filet et sans bavure : juste à la couture. Mais après avoir créé une brèche, nous basculerons dans un mode plus serein pour poser notre premier test unitaire.

Atelier Fruit Shop, la vie d’un projet en 2h

image

Nous vous proposons de venir participer avec un atelier qui vise à vous faire revivre la vie d’un projet en 2h.

Rebondissement inattendu, changement de direction, souhaits des utilisateurs, architecture technique style tour d’ivoire… Votre code va t’il y survivre ?

C’est un atelier technique où il vous faudra faire un programme très simple dans le langage de votre choix (java, c#, JavaScript ou autre).

L’atelier est en 2 parties, une ou nous codons le projet qui dure environ 1h30 et une rétrospective afin que nous partagions ce que nous avons découvert.

Vous endosserez le rôle d’un programmeur travaillant pour la startup FruitsShop.io et qui va sortir un logiciel révolutionnaire grâce au deux Product Owners que sont Bruno Boucard & Jean-Laurent de Morlhon fraîchement sortie de SupDeCo Aurillac.

A vos claviers ! (Amener un laptop avec votre environnement de programmation favori, un ordinateur pour 2 personnes, est suffisant).

Si le TDD est mort, alors pratiquons une autopsie

image

Si Michel-Ange avait été développeur quels auraient été ses secrets. Quelle était la posture de cet artiste ? Quelle place occupent nos modèles mentaux lorsque nous développons ? La notion de design émergent qui accompagne les approches test-first (TDD, BDD,…) peut rendre plus d’une personne sceptique. En effet, comment concilier nos intuitions et projections mentales avec cette approche a priori minimaliste et contre-intuitive ?
Exemples a l’appui, 2 craftsmen vous montreront comment sauter le pas… ou tout simplement optimiser votre efficacité dans ce dispositif.

Si le sujet vous intéresse, alors venez au Mix-It 2015 où Thomas Pierrain et moi-même parlerons, comment ne pas échouer dans la pratique du TDD.

DEVOX 2015 – Atelier Fruit Shop, la vie d’un projet en 3h

image

Après les Techdays 2015, nous vous proposons de venir ou de revenir participer avec un atelier qui vise à vous faire revivre la vie d’un projet en 2h. C’est un atelier technique où il vous faudra faire un programme très simple dans le langage de votre choix (java, c#, JavaScript ou autre). L’atelier est en 2 parties, une ou nous codons le projet qui dure environ 1h30 et une rétrospective afin que nous partagions ce que nous avons découvert. Vous endosserez le rôle d’un programmeur travaillant pour la société Fruits Shop et qui va sortir un logiciel révolutionnaire grâce au deux Product Owners que sont Bruno Boucard & Jean-Laurent de Morlhon fraîchement sortie de SupDeCo Aurillac. A vos claviers ! (Amener un laptop avec votre environnement de programmation favori, un ordinateur pour 2 personnes, est suffisant).

TechDays 2015 – Coding Dojo géant: des développeurs de rêves

image

Je voulais m’associer à Jean-Laurent de  Morlhon, pour féliciter les participants de ce coding dojo et leur dire une nouvelle fois;

Bravo !

Nous avons déjà plusieurs fois joué ce coding dojo et jamais nous avons vu autant de programmeurs réussir à tenir jusqu’a l’itération 6. C’est tout simplement exceptionnel. Les gars vous nous avez gravement impressionnés.

Pour ceux qui le souhaiteraient, les slides sont là: http://fr.slideshare.net/brunoboucard/fruit-shop-techdays-2015

A quoi servent les katas ?

clip_image002

Vous avez sans doute remarqué que les katas (petits exercices de programmation que l’on répète à plusieurs reprises) étaient particulièrement appréciées par la communauté software craftsmanship. Dans ce billet, je vais tenter d’expliquer la motivation de cette pratique.

image

En pratiquant régulièrement des katas, nous acquérons progressivement des réflexes qui nous apportent une aisance qui peu à peu nous libère l’esprit. Les conséquences de séries de répétitions répondent à une caractéristique propre à notre fonctionnement. Contrairement à une machine, si nous sollicitons notre corps régulièrement via une nouvelle pratique (mentale ou physique), nous disposons d’une capacité à créer de nouvelles connexions nerveuses qui permettra d’acheminer l’information plus rapidement. Ce que nous appelons usuellement un automatisme.

image

Le principe de répétition peut sembler affligeant, car il rappelle peut-être une forme d’aliénation, qu’illustre le célèbre film « Les temps modernes ». Non, nous parlons de répétitions choisies et non forcées. Lorsqu’un violoniste répète une partition ou qu’un sportif s’entraîne, on suppose que l’individu ne le fait pas sous la contrainte d’un tiers, mais selon son bon vouloir. Dans les faits, nous apprenons de cette manière depuis notre plus tendre enfance. Nos premiers mots, nos premières phrases sont issus de faits répétés avec notre entourage. Après un certain nombre de répétitions, vous constatez une forme de libération intellectuelle.

image

Dans le cas du développement logiciel, nous sommes exactement dans ce cas de figure. Plus nous maîtrisons notre écosystème technique (langage de programmation, éditeur de codes et raccourcis clavier, TDD, travailler de manière incrémentale, sauver régulièrement son code, appliquer les principes SOLID, appliquer les paradigmes de la programmation orientée objet, comprendre les paradigmes de la programmation fonctionnelle…), plus notre cerveau devient disponible. Par exemple, comprendre le contexte fonctionnel de votre projet vous semblera plus simple à appréhender. C’est donc en pratiquant régulièrement des katas que vous gagnerez une forme de confort intellectuel pour vous immerger dans le fonctionnel. Si vous maîtrisez parfaitement votre art, vous n’aurez aucun problème pour sublimer votre développement par une excellente compréhension fonctionnelle. Cependant, ce nouveau confort intellectuel vous poussera peut-être à regarder d’autres sujets techniques connexes à votre développement. Les bénéfices de ses nouveaux automatismes sont très importants vis-à-vis de votre capacité à délivrer du code qualité. On n’insiste jamais assez, s’entraîner à coder proprement est sans doute la meilleure façon de s’améliorer.

image

La pratique des katas doit être adaptée à votre organisation personnelle. Deux ou trois katas par semaine sont un bon début, naturellement, on peut imaginer un rythme plus important, en pratiquant un kata par jour, mais tout dépend de votre disponibilité et de votre motivation. Il ne s’agit pas de vous forcer; le plaisir doit rester le leitmotiv dans votre démarche. À l’instar d’un entraînement sportif régulier, vous jugerez de vos progrès rapidement au fil de temps.

En résumé, la pratique des katas est essentielle, si vous souhaitez développer un code plus propre, plus rapidement. La répétition est la base de l’apprentissage. Au final, de nouveaux automatismes vous permettront d’acquérir une maîtrise technique qui libérera votre cerveau et vous ouvrira de nouvelles perspectives.

Happy Coding