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....