Booster la dynamique d’entreprise par les Dojos !

Vous avez peut-être entendu parlé du terme “Dojo”, dernièrement dépoussiéré avec les Brown Bag Lunch. Ces techniques ont vocation à dynamiser les échanges et pratiques des équipes de développement. Voici une illustration des principes des deux déclinaisons majeures du Dojo : le Randori et le Kata. Nous aborderons notre retour sur la troisième déclinaison moins connue, le “Waza”, lors d’un prochain article Un Dojo, qu’est-ce que c’est ? Les termes employés sont issus de la métaphore (une des pratiques XP !) du Judo. Le Dojo est la « maison du Judo », le lieu où l’on s’entraîne, partage, et peaufine l’art martial. Le Programming Dojo est l’occasion de pratiquer l’art de la programmation. Les entrainements de Judo contiennent les pratiques de Randori, combat d’entrainement, qui permet de confronter sa technique avec un partenaire, et les Katas. Les Katas sont des exercices de style regroupés par niveau, qui permettent de valider les différentes techniques du Judo. C’est le passage obligé pour atteindre le 1er Dan (la ceinture noire). Dans un « Programming Dojo », le mode randori est abordé comme un apprentissage collaboratif. Le mode Kata est quant à lui une démonstration technique réalisée par une ou deux personnes. Le mode Read More

Code retreat : de l’autre coté de la barrière !

2011 a été une année particulière, vous avez certainement vu vos twitters s’agiter sur le tag #codeRetreat ! En apogée, le 3 décembre 2011, près de 80 villes ont contribué au Global day of Code Retreat. En quelques mots, le code retreat a pour objectif de “lever la tête du guidon” et de poser la réflexion sur nos pratiques de codage. Le but est d’explorer des voies, des techniques, et non le livrable développé. En complément des différents retours de la blogosphère et en prémisse du legacy code retreat du 12 mai à ProxiAD, je vous propose de découvrir l’événement, du point de vue du facilitateur. Je remercie Adrian Bolbocoa, de m’avoir offert cette possibilité ! Première session La première session constitue l’échauffement. Aucune contrainte. L’idée est de se plonger dans le problème : le Jeu de la vie (GameOfLife). Après 45 minutes, un “delete your code now” résonne dans la salle, il est temps d’effacer son code. Les réactions se font vives “Quoi !” “Comment ?”, “Mais on ne va jamais avancer si on efface tout à chaque fois”. Les frustrations sont logiques, mais l’objectif n’est pas de terminer l’exercice. Il s’agit d’identifier ce qui nous a posé problème Read More

Code Retreat Lille #2 : Retour d’expérience

A l’instar d’un musicien qui doit pratiquer ses gammes entre deux concerts pour parfaire la maîtrise de son art, un développeur doit savoir “faire retraite” pour s’exercer à d’autres techniques et méthodologies que celles qu’il pratique quotidiennement. C’est avec cette métaphore on-ne-peut-plus-compréhensible que les deux organisateurs, Jérémie Hattat et Adrian Bolboaca, nous ont présenté l’intérêt d’évènements tels que ce deuxième Code Retreat lillois, qui s’est déroulé samedi 14 janvier dans les locaux de Proxiad. Le programme de la journée s’est composé de : 6 sessions de 45 minutes de programmation en binôme sur le thème du Jeu de la Vie, chacune devant nous pousser dans l’exploration par l’introduction de nouvelles contraintes, Le langage d’implémentation était au choix de chaque binôme. Chaque session était suivie d’une rétrospective commune, à la mode Agile, durant laquelle les participants exposaient leur approche du problème, leurs difficultés et progrès. L’idée était bien entendu de partager les connaissances et de faire évoluer chacun, sans engager personne dans quelque compétition que ce soit. L’intérêt de savoir implémenter le Jeu de la Vie ? Aucun. Ce sujet était simplement l’occasion d’introduire, de pratiquer et d’expliquer les avantages du Test Driven Development (TDD) ou encore du Pair Programming ; de découvrir de nouveaux outils, Read More

Promouvoir les tests 2/5. Développement “piloté par les tests” vs “assisté par les tests”

m4s0n501 1) Introduction 2) Développement “piloté par les tests” vs “assisté par les tests” 3) Tests unitaires “en isolation” ou “contextuels” ? 4) Gestion des données de tests et choix des outils 5) Conclusion Développement piloté par les tests L’engouement pour les techniques “Agiles”, et plus particulièrement l’”Extreme Programming” a conduit de nombreux informaticiens à se demander si les méthodes TDD — “Test Driven Design” ou “Test Driven Development” — ne seraient pas la solution pour enfin promouvoir les tests dans leurs projets. En effet, en substituant l’approche traditionnelle “Coder-Tester-Déboguer” par l’approche “Tester-Développer-Remanier”, le TDD place les tests au cœur du processus de développement. Mais ce qui rend délicat son adoption, c’est qu’il s’agit avant tout d’une méthode de conception “Agile”, à laquelle l’équipe projet doit être formée. Cette méthode a pour objectif premier de réduire les cycles de livraison. En codant le strict minimum requis entre chaque cycle, on évite les incompréhensions et l’on peut s’adapter aux changements. Le cycle de développement préconisé est le suivant : écrire un test ; vérifier que ce test échoue ; écrire juste le code suffisant pour passer le test ; vérifier que le test passe ; remanier le code pour l’améliorer tout en Read More

Promouvoir les tests 1/5. Le TDD est il incontournable ?

Comment promouvoir les tests dans le processus de développement d’une application de gestion Java EE ? Quels outils mettre en place ? Comment sensibiliser les développeurs ? Le développement piloté par les tests (TDD) est-il incontournable pour obtenir une solution pérenne ? Le choix d’une solution de test est délicat. La multitude d’outils disponibles sur le marché est impressionnante. L’une des forces du TDD est qu’il repose sur une méthodologie clairement définie et des objectifs précis. Et c’est cette méthodologie qui détermine les outils nécessaires. Dans certains cas, le TDD peut s’avérer inapproprié. L’essentiel pour obtenir une solution pérenne est alors de commencer par déterminer la méthodologie et les objectifs que l’on souhaite atteindre. A travers cette série de billets, je vous présenterai ma vision des choses en comparant le concept de “développement assisté par les tests” à celui du “développement piloté par les tests”. 1) Introduction 2) Développement “piloté par les tests” vs “assisté par les tests” 3) Tests unitaires “en isolation” ou “contextuels” ? 4) Gestion des données de tests et choix des outils 5) Conclusion

AgileTour Lille 2009 : interview de Grégory Ivanes

L’Agile Tour 2009 est passé par Lille et j’y ai croisé un intervenant que je connais bien, Grégory Ivanes. J’en ai profité pour le faire parler de l’événement. Ci dessous, presque en live Arnaud Buisine : Bonjour Grégory. Peut-être deux mots sur toi avant de commencer ? Grégory Ivanes : Bonjour. Ça va faire 8 ans que je suis chef de projets et en tout bientôt 10 ans que je travaille avec ProxiAD. J’interviens actuellement sur plusieurs projets en tant que Scrum Master. Ma certification date de début 2009. Arnaud : Peux tu déjà me dire ce qu’est l’Agile Tour Lille 2009 ? Grégory : L’Agile Tour est un évènement organisé localement dans 18 villes à travers le monde pendant tout le mois d’octobre 2009. Son objectif est de promouvoir et partager la vision de l’agilité ainsi que de fédérer et soutenir les initiatives locales des acteurs de l’agilité. Il s’est arrêté à Lille vendredi 30 octobre : http://www.agiletour.org/fr/at2009_lille.html Arnaud : Où était ce ? Grégory : Dans l’ancienne friche industrielle Le Blan-Lafont transformée par l’arrivée d’Euratechnologies (http://www.euratechnologies.com/). Arnaud : En bref, de quoi avez vous parlé ? D’agilité je suppose ? Grégory : En effet Plusieurs conférences et ateliers Read More