samedi 30 mai 2009

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

Aucun commentaire: