vendredi 4 décembre 2009

Ca bouge dans les Alpes

Et oui ça bouge dans le monde Java de la région grenobloise. Tout d'abord une annonce fracassante : l'AlpesJug est né. Et oui Grenoble a de nouveau son Java User Group. Les réunions mensuelles vont commencer dès le 22/02/2010 avec la venue d'Antonio Goncalves pour nous présenter JEE6 et le 29/03/2010 Arnaud Héritier célèbre dans toute la communauté Maven pour son livre en français avec Nicolas de Loof viendra nous parler de Maven 3.


Toujours à propos de Maven, la traduction de Maven - The definitive guide en français est maintenant achevée et nous (Erwan et moi-même) attendons les retours de vos relectures. Pour vos remarques et vos corrections, passez par Github et pour lire soit le pdf ou la version HTML, une seule adresse : http://www.maven-definitive-guide.fr/

mercredi 25 novembre 2009

Soigner sa schizophrénie

Voici la présentation que nous avons donnée avec Hervé Lourdin d'Octo lors de l'Agile Tour 2009 à Grenoble:


Pour télécharger le flash : A ouvrir dans un navigateur

lundi 26 octobre 2009

Agile Tour 2009 c'est fini (enfin pour moi)

Cette année j'ai quitté la vallée grenobloise pour m'exporter chez nos voisins genevois et valentinois. C'est donc à 3 sessions de l'Agile Tour 2009 auxquelles j'ai pu participer (avec 2 conférences à chaque fois).
J'ai commencé par l'étape de Genève où j'ai donné dans la schizophrénie avec Rémy, avant que nous nous lancions dans le Coding Dojo sur l'ATDD avec cuke4duke. C'est là que nous nous sommes rendu-compte qu'une heure c'est vraiment très court pour un dojo. Pour les sessions suivantes nous avons donc essayé d'optimiser la partie codage (que nos amis suisses se rassurent la session de Grenoble a été filmée et j'espère pouvoir la mettre en ligne rapidement). J'ai rapidement épuisé mes autocollants ARxTA durant ces sessions mais j'ai gagné un bracelet "TestObsessed". J'ai vraiment apprécié l'ambiance de cette étape (et surtout la criée des orateurs pour laquelle je pousserai dorénavant à Grenoble) qui s'est terminée autour d'un verre :)

C'est par un verre qu'a d'ailleurs commencé l'étape grenobloise. La veille au soir nous avons pu profiter de nos deux guest speakers Elisabeth Hendrickson et Henrik Kniberg. Une soirée très sympathique où les stars ne se prenaient pas pour des stars justement, avec des discussions très ouvertes et variées.


Le lendemain ce fut la foule avec plus de 300 personnes (ce qui nous a valu un article dans le Dauphiné Libéré).

Enfin jeudi tout s'est terminé à Valence avec une organisation au poil et des salles là encore combles :o)
Je remercie tous les organisateurs pour ces conférences de qualité . Il me reste un an pour préparer de nouveaux sujets ...
En attendant voici mes slides :







Le code source sur Github.

Quelques liens :
Emmanuel Etasse.
Miguel Moquillon.
Alexandre Boutin.

mercredi 30 septembre 2009

Maven, vers un guide ultime


Cela fait maintenant quelques mois j'avais lancé l'idée de traduire le livre sous Commons License Maven - The definitive guide écrit par Sonatype et publier chez O'Reilly.
Ce travail avance vite grâce à mes deux co-traducteurs de choc que sont Erwan Alliaume de chez Xebia et Jérôme Van Der Linden de chez Octo Technology.
Nous venons de finir de traduire la première partie du livre, et nous lançons donc une première relecture publique :

Pour démarrer :


N’hésitez pas à contacter l’un des membres de l’équipe pour toute question (mon adresse email : emmanuel DOT hugonnet AT gmail.com).

mercredi 23 septembre 2009

AgileCamp à Grenoble


Pour redémarrer l'année des réunions mensuelles du CARA, Rémy Sanlaville et moi-même vous proposons de vivre l'expérience du premier AgileCamp à Grenoble, qui sera animé par Luc Bizeul.
Lors de ce BarCamp nous pourrons partager au cours de discussions libres nos idées et nos dernières nouvelles autour des méthodes Agiles.
La soirée est libre, ouverte à tous et ne demande simplement qu'une inscription car le nombre de place est limitée.

Qu'est-ce qu'un BarCamp ? Quand cela se passera-t-il ? Comment s'inscrire ?...
Toutes les réponses à vos questions sur la page web dédiée à cet évènement.

Rendez-vous donc mardi 29 septembre 2009 à l'ENSIMAG.

vendredi 10 juillet 2009

Récursivité

Hier je regardais tranquillement dans mon TER la fin de la vidéo de Brian Marick à AgileRoots. Je n'avais pu voir que les premières minutes ayant été trop pris par l'USI.
Quelle ne fût pas ma surprise en voyant les 5 dernières minutes .....


Afficher une image d'une présentation qui cite mon blog sur mon blog m'a fait prendre conscience que j'étais devenu un vrai informaticien ;o)

Voici la vidéo complète que je vous engage à regarder.

jeudi 9 juillet 2009

Innovations Techniques Au Service Du Test De Recette Automatisé

Voici la présentation que nous avons faite Hervé et moi-même lors de l'USI 2009:
Bon visionnage :o)




Les slides:

mercredi 8 juillet 2009

Maven en couleurs


J'en avais marre de voir l'affreuse trace de Maven en noir et blanc lors de son exécution. Surtout après avoir testé mon application avec Cucumber. Je me suis donc lancé dans l'immense tâche de colorier les traces de Maven.
Pour cela j'ai utilisé les commandes ANSI supportées par les pseudo-terminaux X et j'ai fait un joli patch. Par contre je ne sais pas comment le faire marcher sous Windows (peut-être avec Cygwin).
En attendant que tout soit intégré dans Maven je vous propose de télécharger la dernière version de Maven (2.2.0) en mode colorié ici:
apache-maven-2.2.0-bin.tar.gz
apache-maven-2.2.0-bin.tar.bz2
apache-maven-2.2.0-bin.zip.

Il suffit d'exécuter la commande avec -Dcolorized.console=true.
Ce qui donne par exemple:
mvn -Dcolorized.console=true clean install
Amusez-vous bien :o)




Pour changer les couleurs il suffit d'éditer dans maven-2.2.0-uber.jar:
org/codehaus/plexus/logging/console/default.properties

lundi 15 juin 2009

It's evolution baby, Do the revolution


Une nouvelle cellule Artisanal Retro-Futurism crossed with Team-Scale Anarcho-Syndicalismvient d'ouvrir dans les Alpes françaises.
Je tiens à remercier Brian Marick, un des créateurs du Manifeste Agile,pour ses autocollants et cette nouvelle forme d'Agilité.
Voici donc la traduction: ARxTA
On ne pouvait terminer cette lecture sans un produit qui n'est pas loin de rassembler toutes ecs qualités (jusqu'à la couleur de l'emballage ;o) )

samedi 30 mai 2009

Xpday 2009 Paris 2ème Jour

La matinée commence par une série de lightning talks sur les outils logiciels.



J'assiste enfin à une présentation de Sonar (si Simon lit ça je vais me faire tuer :oP ) et je suis convaincu par l'outil. Vivement que Silverpeas soit entièrement sous Maven pour que je puisse le sonariser et que l'on rentre dans un cercle vertueux d'amélioration. J'y pense il faudra que je leur demande s'il y a une mesure Crap4J.
La présentation suivante se fait sur le monde .net, pas sectaire je reste et je suis impressionné par la qualité des outils présentés par MCNext.
Comme d'habitude Microsoft fournit un outil tout intégré qui fait tout, coute les yeux de la tête et rame ;o) (j'ai pas pu m'en empêcher). Ndepend est vraiment très bien fait, je comprends mieux se qu'a voulu faire Octo avec son Xdepend.

Enfin on termine par une présentation en mode fire in da house de Pyxis et de leur outil pour les tests d'acceptance GreenPepper. La discussion post-présentation est fort intéressante, j'en profite pour faire remonter mes remarques. Il va falloir que je regarde d'un peu plus près la partie opensource de ce moteur.

J'intègre l'atelier sur les Styles sociaux en action où je ne reste pas le modèle me semblant très proche de celui de HBI que nous avait présenté Marc Vilcot à la réunion du CARA. Je vais donc voir une présentation de Lean où on nous présente un retour d'expérience de Valtech sur la mise en pratique des outils Lean: Value Stream Mapping, les 5 pourquoi, les graphes Ishikawa et Paruto. Intéressant, même si j'en aurais aimé qu'on passe plus de temps sur les retours plutôt que sur la classique introduction aux concepts Lean. J'apprends que Mary Poppendieck va sortir son troisième livre cet automne.

Après-midi chargé car on a deux présentations avec Rémy (même si pour la dernière je n'interviens que pour les questions finales). Je passe donc tout mon temps dans la Salle Belvédère.
Eric Lefèvre-Ardant nous présente une introduction au TDD pour les managers, sous Excel. C'est bien mené, et le duo fonctionne bien même si on peut regretter l'usage d'un outil propriétaire ;o) Mais bon, c'est un truc de managers. Rien de bien neuf pour un développeur comme moi si ce n'est un vocabulaire et une idée à creuser pour convaincre et évangéliser les managers qui sont souvent un frein aux pratiques.


Nous voilà donc avec une toute petite demi-heure pour présenter ce qu'on essaye de faire aux coding dojos de Grenoble. Une demi-heure c'est court, aussi on met aux votes les trois points qu'on a préparés histoire de répondre le mieux à notre audience. C'est vraiment un format intéressant lorsqu'on a peur de manquer de temps, ça permet d'apporter le maximum de valeur.
Rémy poursuit par le retour d'expérience d'Orange sur la mise en place de son usine logicielle. J'en profite pour prendre quelques photos. Une fois qu'il a terminé sa présentation, je réponds aux questions de l'assistance pendant qu'il reprend son souffle.

On laisse alors la plac à Thierry Cros et Jean-Marie Damas pour conclure ces xpday pour un manifeste d'une informatique hédoniste et responsable. Jean-Marie nous présente cette recherche du plaisir, et Thierry apporte sa pierre à chaque étape en nous exposant comment en assumant nos responsabilités et uniquement celles-ci on arrive à respecter cette recherche du plaisir. L'épisode de Challenger est le point d'orgue de cette notion de responsabilité, puisque l'ingénieur s'est retrouvé à changer de casquette pour devenir manager le temps d'une prise de décision qui incombait à ses responsables.

Les xpday se terminent et nous courrons prendre nos trains respectifs. Le mien est quasiment vide (grève SNCF oblige) et je rentre heureux mais vidé de ces xpdays. Vivement l'année prochaine et ce coup-ci je prépare mon programme à l'avance ;o) surtout que maintenant je connais les speakers.

Xpday Paris 2009 - 1er jour

Enfin un peu de repos, …
La première série de conférences s'achève avec les XpDay 2009.
Voici donc mon retour sur l'ensemble de ces deux journées.
Nous avons eu la chance de lancer le bal avec notre présentation "Soigner sa schizophrénie MOA/MOE: voyage au pays des spécifications exécutables".

La salle était pleine pour cette session qui du point de vue orateurs s'est très bien déroulée. Le ROTI laisse à penser que le public était lui aussi satisfait de notre prestation. Je vous laisse lire les retours trouvés sur différents blogs:

Petite remarque, nous avons présenté FitNesse/SLIM lors de notre présentation pour l'aspect graphique de FitNesse, cependant ce n'était pas une préconisation. D'ailleurs personnellement j'ai été séduit par JBehave2 pour Java, et Cucumber pour Ruby qui présentent la même approche et (du point de vue développeur) sont plus intuitifs. Cependant il leur manque l'éditeur sexy et collaboratif.
Voici nos slides :


Nous avons ensuite laissé la main à un retour d'expérience Valtech notamment autour de FitNesse, qui venait corroborer notre présentation :o).
Je suis ensuite allé voir la présentation de Dominic Williams sur le développement hédoniste où il faisait le parallèle entre l'école de pensée hédoniste et matérialiste et le développement agile.

On parle Démocrite, Epicure, Nietzsche par opposition à Platon et sa vision transcendantale. La présentation est très dynamique, alternant vidéo de Matrix, tableaux classiques (Poussin, Raphael, …) et citations de Deleuze. Tout s'articule autour des quatre principes du manifeste Agile.
1- Le matérialisme
Un logiciel qui s'exécute plutôt que la documentation.
La documentation est platonicienne, elle fait partie du monde des idées, de la recherche d'un idéal. Le logiciel qui fonctionne (plus ou moins) est matérialiste. Si pour Platon nous sommes encore dans la Caverne, la production de livrables qui tournent nous engagent plutôt à faire usage de nos sens et de notre perception directe de la réalité.
2- Le Jardin d'Epicure
Epicure et son jardin égalitariste s'oppose là encore à l'académie platonicienne. Il faut rester ouvert, accepter tout le monde pour créer une communauté. On en choisit les membres par élection et éviction. L'anecdote autour des cornalines (bague portant l'effigie d'Epicure) me fait penser à Unclebob et son Green Band pour un code propre.
3- Dieu
Pour bien développer il faut développer heureux et prendre du plaisir.
Il faut tuer le Bouddha (ou Dieu, c'est selon) pour se libérer de ses chaines et devenir enfin libre et donc heureux (ce qui correspond d'ailleurs pour moi au passage au niveau Compétent du modèle de Dreyfus, lorsqu'on commence à prendre en autonomie). Nietzsche et son éternel retour, le fait de ne choisir d'agir que pour avoir vécu une vie où on ne changerait rien de ses choix me fait penser aux rétrospectives, on élimine par ce mode de pensée (que dois je garder de mes actions dont je suis vraiment heureux du résultat pour moi) les actes commis sous la pression social, religieuse, … On s'améliore personnellement et on se libère ainsi. Il faut tuer le Bouddha pour se libérer et pouvoir assumer et prendre plaisir dans chacun de ses actes. Cet appel anarchiste me fait penser à Brai Marick et son AR⊗TA (Artisanal Retro-Futurism crossed with Team-Scale Anarcho-Syndicalism).
4- Le Plaisir
Pour atteindre le plaisir il faut surtout éviter le déplaisir: aussi pour éviter les bugs qui nous pourrissent la vie on va suivre un cycle incrémental. Bref en bon geek on va suivre une Hacker Ethic (de Pekka Himanen) et prendre plaisir à ce qu'on fait.

Sur ces bonnes paroles ma première matinée se termine.

L'après-midi commence avec un retour d'expérience de Sébastien Sacard sur son rôle en tant que Product Owner.
Suite à un problème technique il démarre un peu tard et se retrouve donc à devoir avancer rapidement dans ses slides (ce qui est dommage, surtout quand on sait que les retours d'expérience ). Si on doit retenir une chose de cette présentation c'est qu'un bon Product Owner doit avoir un passé technique pour ne pas s'en laisser trop conter par l'équipe ;o). Ce rôle, que l'on qualifie souvent de central dans la démarche Scrum, est relativement mal défini et les formations sont peu nombreuses ou mal adaptées d'où l'importance de l'expérience. Il nous explique comment il conçoit son rôle de diplomate envers le Business Owner dont il faut freiner les ardeurs tout en lui donnant de la visibilité au travers d'une feuille de route sur les deux ou trois itérations à suivre. Puis son rôle de leader pour l'équipe à qui il doit apporter et conserver la vision du produit tout en la protégeant pour ne pas que l'enthousiasme s'effrite.
Il nous parle de sa gestion des backlogs: un backlog produit où on retrouve les exigences fonctionnelles et un backlog technique pour les exigences non fonctionnelles.
Hélas le temps lui manque et on ne peut lui poser de question :o(

La présentation suivante s'enchaine pour nous parler de TDD et de Mock.

Le framework de moking choisi est EasyMock (dommage j'aurai préféré Mockito). Même les intervenants maitrisent excellemment Eclipse et même si tout s'enchaine parfaitement, on assiste plus à une introduction au TDD qu'à une vraie discussion sur le mocking. Les mocks n'arrivent d'ailleurs qu'à la fin de la présentation, rien n'est dit sur les bonnes pratiques d'utilisation de ceux-ci, sur la différence mock/stub. Je reste donc sur ma faim :o((

Une fois la pause passée je vais voir la présentation d'Arnaud Bailly sur Javascript. Une vraie présentation de geek, purement géniale et très très agréable à suivre. Dans sa rétrospective il indique qu'il pense avoir été trop vite et qu'il a perdu du monde en route. Moi j'ai trouvé ça plus que génial, j'en aurais bien pris encore quelques heures alors que pourtant Javascript et moi on est fâché de longue date (qui parle encore de Netscape/ Internet Explorer 4).
J'avais lu quelques articles sur les langages à prototype mais après cette présentation tout s'éclaire :o). Je n'aime toujours pas les langages à typage de canard (on ne se refait pas) mais j'ai vraiment apprécié la création de ce simple DSL de validation de formulaire. Arnaud revient !!!!
Pour la démo et les slides c'est ici.
J'apprends un peu plus tard que j'ai raté une de ses présentations le matin même, je suis trop déçu o:(( j'ai perdu trop de temps sur ce programme où les intervenants n'étaient pas nommés pas.

La journée se termine par une introduction au coaching Agile. C'est dynamique, sympathique et on nous présente bien le rôle de coach mais je regrette encore Arnaud et son Emacs magique ;o).

vendredi 22 mai 2009

Behaviour Driven Dojo

Mercredi dernier nous avons commencé à mettre en pratique le Behaviour Driven Development lors de notre Coding Dojo.
Ce dojo faisait suite à la présentation que nous avions faite Rémy et moi lors du précédent dojo:

Après un atelier de spécification avec notre 'Product Owner' Emmanuel, nous nous sommes séparés en plusieurs groupes pour réaliser notre jeu du pendu.
pour ma part j'ai rejoins le monde Ruby sous Netbeans avec Cucumber.
Voici mes codisciples alors que Sébastien Nicouleaud nous montre comment utiliser Cucumber :

Mes vagues connaissances de Ruby étaient amplement suffisantes pour suivre et j'ai trouvé Cucumber très simple d'utilisation. Il est vraiment très proche de JBehave et j'aime vraiment cette idée d'écrire les scénarii dans un format texte avec le trigramme: Given / When / Then.
Avec Cucumber on peut même le faire en français ;o) (pour JBehave ça ne doit pas être compliqué à ajouter).
J'attends avec impatience de reprendre ce dojo, car ayant dû partir avant la fin:o(, j'ai envie de mettre la main à la pate.
Si Ruby n'est pas votre tasse de thé, Bruno Orsier a lui participé au groupe .Net et NBehave, et donne ses conseils et ses retours sur son blog.

vendredi 15 mai 2009

Cerveau Gauche / Cerveau Droit


Je viens de terminer a "Whole New Mind" de Daniel Pink (oui le même qui était derrière le manga agile).
Dans ce livre il nou explique que si la révolution industrielle a été possible grâce à notre 'cerveau gauche' et sa logique, une nouvelle ère arrive: l'age conceptuel durant lequel il va nous falloir apprendre à utiliser notre cerveau droit en combinaison avec notre cerveau gauche.
Pour lui l'automatisation (par l'ordinateur) et la mondialisation (Chine, Inde) rendent l'aspect cerveau gauche caduque: le raisonnement, l'analyse et la logique pure peuvent être ou automatisés ou délocalisés. Il faut donc apporter du sens, de l'émotion, de l'empathie à nos produits / travaux et donc il faut faire pénétrer le cerveau droit dans le monde du travail exclusivement tourné vers notre cortex gauche.
Il présente les six nouveaux sens qu'il va nous falloir développer dans ce nouvel age:
  1. le Design
  2. l'histoire (à raconter)
  3. la Symphonie
  4. l'Empathie
  5. le Jeu
  6. le Sens

Chaque point est décrit puis une séri d'exercices, des lectures et de compléments est fournie pour pouvoir le travailler.
Je n'ai pu m'empêcher de penser à l'agilit (oui ça me travaille en ce moment ce sujet ;o) )lorsque j'ai lu la partie histoire qui ressemble à s'y méprendre à une introduction aux histoires d'utilisateur.
De même qund il explique le rôle du jeu et de l'amusement dans l'apprentissage je pense à nos dojos de code où on essaye de se faire plaisir en codant ce qu'on a rarement la possibilité de faire dans un contexte professionnel.
Bref un bon moment de lecture....

lundi 27 avril 2009

Et une de plus


Je vais enfin pouvoir rencontrer les membres du JUG lyonnais le 19 mai, puisque je vais aller y parler de Java Content Repository (JSR-170) et plus précisément de Jackrabbit que j'ai mis en œuvre dans le cadre de notre produit Silverpeas.
En attendant que Silverpeas soit enfin OpenSource (et on y travaille dur) et que l'on puisse complètement migrer notre solution sur cette API, je vous propose de venir en discuter à l'INSA de Lyon le 19 mai.

lundi 20 avril 2009

Oracle rachète Sun


Tout est dit dans le titre, maintenant il ne reste plus qu'à attendre pour compter les pots cassés :o(
Que vont devenir la JVM de Sun (ou Jrockit), Glassfish (ou Bea Weblogic), MySQL, Netbeans (ou JDeveloper) ? Je ne sais pas si IBM aurait fait mieux mais c'est clair que j'aurai du mal à voir disparaitre tous ces produits qui m'ont suivi tout au long de ma carrière de développeur, parfois même avant que Sun ne les rachète.
C'est avec un brin de nostalgie et de tristesse que je vois disparaitre l'un des cavaliers blancs. Une société vraiment orientée technique, c'est surement pour cela que leurs produits me plaisaient autant.
Bye bye Sun, finalement ce n'est pas Eclipse (et IBM) qui auront eu raison de toi :o((

jeudi 9 avril 2009

Autopromotion :o)

C'était encore secret mais vu que ça apparait officiellement sur les sites je vais tout avouer ;o)
Je vais passer quelques jours à Paris cet été:Bon je retourne à mes slides :o)

vendredi 3 avril 2009

Scrum is XP without the Geekiness


Ceux qui me lisent depuis quelques temps savent que je suis un grand fan d'UncleBob et de ses concepts de craftmanship.
Aussi je cède au plaisir de vous faire découvrir cette vidéo prise à Chicago lors d'une réunion du groupe Chicago ALT.NET local. Cette présentation intitulée "XP: After 10 years, why are we still talking about it?".
Un peu de Scrum Bashing ;o)
Scrum is XP without the Geekiness

mais pour en revenir aux fondamentaux : Scrum sans de bonnes pratiques de développement ne permet pas de s'en sortir. On s'en aperçoit tous les jours avec des équipes qui passent à Scrum sans mettre en place des pratiques de qualité pour le développement : TDD, Intégration Continue, Métriques, .... Toutes ces pratiques qui nous viennent d'XP en grande partie ;o)




La discussion qui a suivi la présentation a été aussi enregistrée :
On y parle de TDD, de Programmation Fonctionnelle, bref c'est fort intéressant aussi :o)

mardi 31 mars 2009

Johnny Bunko - un manga Agile ?


J'ai lu l'excellent Johnny Bunko: le seul guide de carrière dont vous avez besoin. Daniel H. Pink, auteur du célèbre A Whole New Mind: Why Right-brainers Will Rule the Future, nous y donne les 6 clefs de la réussite :
  1. Les plans ça n'existe pas.
  2. Pense tes forces, pas tes faiblesses.
  3. L'important ce n'est pas toi.
  4. La persévérance l'emporte sur le talent.
  5. Fais des erreurs mais fais les biens.
  6. Laisse ton empreinte.

On y retrouve donc une partie des valeurs Agiles.
Le premier chapitre nous explique qu'il est illusoire de vouloir suivre un plan et qu'il faut s'en cesse s'adapter.
La troisième règle nous explique nous ne travaillons pas pour nous même mais pour satisfaire un client.
L'erreur est acceptée, si elle permet d'avancer, ce qui n'est pas sans rappeler le "fail fast" du développement agile.
L'humain reste au centre avec les trois autres règles puisqu'elles nous expliquent comment atteindre un certain épanouissement personnel.

Si vous voulez lire les 61 premières pages (en anglais) suivez le guide.
Mise à jour suite au commentaire d'Alexandre:
L'idée derrière tout ça est qu'il faut changer le monde. Tout le monde n'étant pas le Mahatma Gandhi, laisser son empreinte siginifie ici toucher et améliorer le monde autour de soi, à son échelle.

Bref, un manga bien sympathique qui aborde de vraies questions sous un angle original et ludique.
Pour vous mettre l'eau à la bouche, un petit trailer présentant le livre:

mercredi 25 mars 2009

Agile Testing


Ce vendredi j'ai eu la chance de participer à un cours donné par Elisabeth Hendrickson sur ATDD. J'ai connu Elisabeth à travers sa vidéo chez Google et son blog. Venant du monde des testeurs et de la qualité elle apporte une nouvelle vision de l'agilité et réconcilie mon âme de développeur avec le monde du test.
Ce vendredi donc, nous étions 6 (un français, un danois, une indienne et deux anglais) pour un cours par internet avec webcam. Une fois tous les réglages effectués nous voilà embarqués pour un voyage dans le monde de l'ATDD.


L'un fut désigné " responsable du produit ", et nous avons commencé à définir notre histoire d'utilisateur et les différents éléments qui allaient nous permettre de la considérer comme " faite ". C'est la partie " discuss " de l'ATDD (ou les ateliers de spécification selon Gojko Adzik).
Puis nous sommes passés à l'étape " distill ", dans laquelle nous avons transposé le résultat de notre discussion dans une page HTML pour l'outil RobotFramework. Je dis nous car le cours n'était pas directif et nous pouvions facilement prendre le contrôle de la page pour écrire nos scénarii.
Enfin une fois cette étape réalisée, nous avons pu développer en étant dirigés par nos tests d'acceptance : comme aucun tests d'acceptance n'était écrit nous avons commencé par écrire le premier, puis une fois cela fait, comme pour du TDD, nous étions avec un test au rouge. Il nous a fallu commencer à écrire notre code. Comme nous sommes des développeurs consciencieux nous avons pris une approche TDD justement. Une fois que les tests unitaires sont passés au vert, nous avons vérifié que le test d'acceptance changeait lui aussi de couleur. Nous pouvions passer au test d'acceptance suivant. On se retrouve dans le cercle classique du .
Premières impressions sur ce cours en ligne.
Mise à part quelques soucis techniques, essentiellement sur le son dont le niveau changeait complètement d'un intervenant à l'autre, c'était vraiment très agréable. Elisabeth est une personne très dynamique et enthousiaste ce qui a permis de compenser l'aspect distribué des participants.
Sur le fond c'était vraiment super, en deux heures on a pu voir un cycle complet d'ATDD sur l'outil Robotframework. En tant que développeur je me suis vite senti à l'aise dans ce cycle de part sa proximité avec le TDD. J'ai pu voir la valeur ajoutée des tests exploratoires puisqu'en quelques minutes les testeurs purs ont réussi à mettre notre système à mal.

J'espère partager cette expérience enrichissante lors d'un futur kata au Coding Dojo de Grenoble.

vendredi 13 mars 2009

Le prix Turing 2008 pour Barbara Liskov


Félicitations à Mme Liskov célèbre pour le principe de programmation objet qui porte son nom publié en 1987 :

If for each object o1 of type S there is an object o2 of type T such that for all programs P defined in terms of T, the behavior of P is unchanged when o1 is substituted for o2, then S is a subtype of T.

Pragmatic Thinking & Learning


Je viens de terminer ce livre livre écrit par /\ndy Hunt. Il y reprend ce qu'il présente lors de workshops et de conférences depuis des années. Il commence par nous décrire le modèle de Dreyfus qui va nous servir de fil rouge tout au long du livre. En effet /\ndy va nous donner 48 conseils argumentés pour nous améliorer et nous faciliter le voyage de novice à expert.
Le deuxième chapitre est consacré à notre cerveau et à son modèle de fonctionnement tel que décrit par les dernières avancées des neurosciences. Le schéma du cerveau comme étant un système à deux CPU partageant un bus pour accéder à la mémoire est vraiment excellent. On y retrouve les résultats sur la bilatéralisation du cerveau mais aussi le CPU à règles (Coté Gauche / L Brain) et le CPU à intuitions du modèle de Dreyfus (Coté Droit / R Brain).

Une fois ces bases posées on s'attaque au vif du sujet en analysant comment améliorer notre fonctionnement en ne se concentrant pas uniquement sur le CPU L mais en faisant fonctionner l'autre en parallèle.
Cependant nos processeurs sont buggés tant au niveau matériel que logiciel. Il faut apprendre à reconnaître ces défauts pour essayer de les dépasser tant que faire se peut. Au niveau logiciel il faut reconnaître nos principaux préjugés, l'affinité générationnelle, et au niveau matériel la partie reptilienne et primitive de notre cerveau qui a tendance à court-circuiter notre cortex.
Optimiser le fonctionnement de nos processeurs ne suffit pas, il faut maintenant les alimenter en informations pertinentes et donc apprendre à apprendre. On retrouve ici ce que j'avais exposé lors de la conférence sur le modèle de Dreyfus notamment le Pragmatic Investisment Plan.
Enfin les derniers chapitres donnent de bonnes pistes de réflexion pour rendre sa manière de travailler plus efficace tout en gardant l'aspect fun de notre métier (à savoir pour moi le CODE ;o) ).
J'ai vraiment adoré ce livre, il est très facile à lire et j'ai vraiment hâte de mettre en pratique les idées qu'on y retrouve. D'ailleurs pour faciliter cela les 48 maximes sont regroupées en dernière page et il ne reste plus qu'à choisir.
J'ai décidé de commencer par améliorer ma gestion de ma connaissance en intégrant un wiki à ma prise de note et en réalisant des mind-maps. Pour ces derniers j'utilisais des logiciels tels que Freemind cependant rapidement je n'avançais plus, par contre j'ai remarqué, grâce au livre d'ailleurs, que si je les fais à la min sur une feuille de papier j'étais nettement plus efficace.
Je vais mettre plus souvent en pratique le SEE IT, DO IT, TEACH IT et j'espère bien que les dojos vont me permettre d'évoluer à ce niveau là.

Enfin je vais m'acheter un canard en plastique, l'idée du TALK TO THE DUCK m'a vraiment séduit : expliquer à un canard en plastique le problème rencontré pour en avoir une approche différente et souvent une solution.
Bon, j'ai du pain sur la planche

jeudi 12 mars 2009

Mise à jour des flux RSS

Bonjour,
J'ai décidé de passer par Feedburner pour les flux RSS/Atom aussi pouvez vous faire migrer vos pointeurs vers http://feeds2.feedburner.com/JavaInTheAlps.
Bonne journée

mardi 10 mars 2009

Déploiement de progiciel en mode Agile


Voilà un sujet rarement traité dans les ouvrages sur l'Agilité : la mise en oeuvre d'un progiciel. Cette nouvelle traduction de l'article "Agile Package Implementations" de Scott Ambler pour le Doctor Dobb's Journal donne les différentes étapes à suivre pour apporter le maximum de valeur et réduire les risques d'un déploiement de progiciel de manière Agile.
DDJ - Architecture & Design - Agile Package Implementations

Sinon le document est disponible chez GoogleDocs ici ainsi que sur Slideshare.

lundi 9 mars 2009

Manifeste pour un Développement de Qualité


Le célèbre Agile Manifesto s'est enrichi depuis cet été d'une cinquième phrase : "Craftsmanship Over Execution".
Pour rester dans cet esprit un nouveau manifeste est disponible pour les codeurs fous que nous sommes : "Craftmanship Manifesto".

Je vous engage donc à aller le signer et surtout à le respecter :o)
Bonne journée

vendredi 6 mars 2009

Test Driven Development améliore la qualité


Des études empiriques le prouvent le développement piloté par les tests (TDD pour les intimes) améliore notablement la qualité des logiciels. Cet article écrit par Nachiappan Nagappan (de chez Microsoft), E. Michael Maximilien (IBM), Thirumalesh Bhat (Microsoft), and Laurie Williams (North Carolina State University), et publié dans le journal Emperical Software Engineering Volume 13, Number 3.
L'article présente les résultats de quatre équipes variées(3 de Microsoft, 1 d'IBM) dans un contexte professionnel qui ont mis en œuvre les pratiques du TDD et ont observé une réduction du nombre de bugs par 1000 lignes de code de 40% à 90% pour une surcharge de développement de 15% à 35%.
Cette étude confirme les retours d'Allianz lors de l'Agile Tour 2008 qui annonçait une surcharge de développement de 15% à 20%.
Alors en attendant que mon patron m'offre une licence JUnitMax je vais aller écrire mes tests.

jeudi 26 février 2009

Quart d'heure de détente

Je viens de découvrir le site Bug Bash et ses bandes dessinées humoristiques comme celles-ci :


Résister à la pression


Le site American Scientific propose un article How to Avoid Choking under Pressure.
Cet article montre que sous pression il ne faut pas se concentrer outre mesure car sinon le cerveau se bloque et les performances se dégradent sensiblement. Ainsi ils indiquent qu'il faut se concentrer sur un mot mais guère plus pendant l'action et laisser son cervelet agir sans être bloqué ou gêné par le cortex cérébral.
Qui ne se rappelle pas de son moniteur de ski qui vous fournit tellement d'instructions sur votre bâton, vos épaules, le parallélisme de vos skis, l'état de la piste,... qu'au moment de tourner vous chutez, le cerveau complètement embrouillé par tout ça.
Bonne lecture :o)

PS : n'oubliez pas que ce soir je présente, dans le cadre des réunion du CARA, le modèle de Dreyfus. Pour plus d'informations c'est ici.