vendredi 25 juin 2010

La fin d'une époque


DDD, XP, du carton et 20c tel aurait pu être le titre de ce billet pour résumer ces dernières années.

C'est avec une grande nostalgie que je lis nos début mais avec un certain amusement que je me remémore des péripéties. Et bien que ces derniers temps ce n'était plus pareil, je suis triste d'annoncer que mon projet s'achève.

J'ai conservé la dernière histoire. Elle n'est ni bien écrite ni intéressante par rapport à tout ce que nous avons accompli. Mais c'est la dernière. Il y a un an j'offrais un même bout de carton à mon binôme...

Cet après-midi j'ai donc fais un peu de nettoyage. Je me suis alors saisi des histoires et j'ai tout jeté. Faites et validées, elles n'ont plus d'utilité.


Ce projet a fait partie de moi ces deux années. Il a rythmé ma vie et mon humeur. Et bien que j'ai souvent été poussé à mes limites je trouve que j'ai beaucoup de chance d'avoir participé à l'aventure.

Merci à vous Gaëtan, Marlène, Alexandre, Charlotte, Fabrice, Florian, Christophe, Jérôme et Xavier, pour votre bon travail. J'admire la patience dont vous avez fais preuve pour me supporter.



Merci à Laurence et Aurélie pour votre réactivité et vos nombreux feedbacks. Merci à ma direction pour m'avoir laissé mener la barque comme je le voulais.

Bilan plus complet il y aura mais définitivement pas ce soir.

mardi 22 juin 2010

Sculpture d'organisation

Ce soir j'ai assisté à un atelier animé par Colin pour l'association Okiwi. Nous autres participants avons décrit différents systèmes et y avons défini les rôles principaux. La situation optimale était que nous étions nous mêmes acteurs des systèmes évoqués. Et si ces systèmes étaient défaillants ça n'en serait que plus amusant. Beck soit loué ce fut le cas.

Après avoir choisi un système, son acteur, guidé par Colin, a organisé l'espace pour accueillir une mise en situation. L'acteur a ensuite désigné les interprètes des rôles et leur a fait une brève description de leur place dans ce système.

Et... action! Le système démarra, la seule règle étant que tout devait se faire dans un mutisme complet. Pendant une demi-heure (le temps est à confirmer) les participants ont mimé une situation qui était très fidèle à la réalité, selon l'acteur positionné en observateur.

A chaque atelier je me demande quelle peut bien en être la conclusion. Selon la trame initiale nous avons des éléments de réponses :

Une personne qui intervient dans un système se met assez vite à reproduire les dysfonctionnements de ce système.

Alors certes, les comédiens d'un soir ont retranscrit un système défectueux avec beaucoup de pertinence et sans être guidé pendant leur jeu. Mais voir cette mise en situation était-elle bénéfique pour les autres participants que l'acteur - principal concerné?

De nombreuses questions me sont venues en tête mais j'ai besoin de prendre du recul sur cet atelier afin d'avoir un avis plus tranché. Je vais tout de même conclure sur une idée de Colin. Pourrait-on mettre en situation un système, de cette manière, pour y détecter les éventuels dysfonctionnements à priori?

mercredi 13 janvier 2010

Compte rendu : la Charte de Projet

Il y a quelques heures s'est déroulée une conférence de Laurent Bossavit sur la Charte de Projet. Vous comprenez bien que je me devais d'assister à une présentation de quelqu'un se définissant comme un Extreme Programmer de la 1ère heure.


L'avant
Les ouvrages sur les approches agiles, que ce soit sur SCRUM pour les frileux ou Extreme Programming pour les plus hardis, nous expliquent comment peut fonctionner le déroulement du projet. Nous sommes donc bien armés lorsqu'il s'agit du "pendant". Mais comment pourrait se dérouler l'avant projet dans un contexte agile?

Le coup d'après
Laurent Bossavit a commencé par comparer notre métier avec le billard et si je ne devais retenir qu'une analogie ce serait la suivante. Au billard, nous ne nous efforçons pas seulement de réaliser un bon coup, nous faisons aussi en sorte de nous positionner pour le suivant. Il en est de même pour nous autres agilistes. Nous ne livrons pas du code de piètre qualité suffisant pour répondre au besoin actuel. Nous préférons produire du code de qualité qui fonctionne et qui permettra aussi de faciliter sa maintenance et son évolution. Laurent Bossavit définit ainsi quelques propriétés d'un projet dit "agile" : nous y prévoyons le coup d'après et nous maintenons une qualité élevée. Il précise aussi qu'il faut bien évaluer le gain d'un tel projet. Commencer un projet qui n'a pas lieu d'être est un échec assuré. Les technologies ou les méthodologies ont un impact minime sur le succès d'un projet par rapport à sa légitimité.

La charte
Comment gérons-nous l'avant projet? Nos vieux réflexes peuvent nous pousser à établir un cahier des charges. Malheureusement ce n'est foncièrement pas agile : un tel document n'est pas exhaustif, ne répond au mieux qu'aux besoins actuels et malgré tout fait office de contrat. Un réflexe plus intéressant est de définir des histoires utilisateurs mais quand bien même nous nous limiterions à un thème ou à la prochaine version majeure, il y aurait pléthore de post-its à gérer.

Durant cette phase, nous avons besoin d'un document léger et capable de définir en quelques mots ce que l'on va faire. Laurent Bossavit insiste sur ce point : nous n'avons pour seul mérite d'avoir atteint des objectifs préalablement définis. Il serait bien facile de constater le résultat d'un projet et de feindre que tout s'est déroulé selon le plan. Mais est-il réellement possible de définir de façon concise mais exhaustive ce que l'on veut réaliser? La réponse est positive car selon l'orateur, le quoi s'exprime en beaucoup moins de mots que le comment. Tout ceci est appuyé par Kennedy lui-même :
[...] avant la fin de cette décennie, un homme posera le pied sur la Lune et retournera sur Terre en toute sécurité. [Kennedy 61]
Le document, dont le format importe peu mais qui se limite à une page maximum, est matérialisé par la Charte de Projet. Celle-ci comporte la mission, les objectifs, le périmètre, les ressources et les décideurs.

Une histoire de réalités
Selon Weinberg, et appuyé par Laurent, un problème n'est qu'une différence entre une réalité perçue et une réalité souhaitée. Nos réflexes nous poussent à avoir une démarche de solution quand nous tentons de traiter un problème. Nous répondons ainsi à la réalité souhaitée alors que si nous avions analysé le problème nous aurions pu agir plus simplement sur le côté perception. Etablir un document comme la charte peut faciliter la réflexion nécessaire en amont d'un projet.

Une technologie parfaite
Laurent Bossavit nous a décrit quelques outils pour mener à bien cette réflexion et je présenterai celui qui m'a le plus marqué : le mythe de la technologie parfaite. Cet outil va nous permettre de faire la différence entre attente et solution. Il n'est pas rare de trouver la mention suivante dans un cahier des charges : "le temps de réponse doit être inférieur à 2s". Il s'agit clairement d'une solution, le besoin réel n'est pas exprimé. Si nous utilisons la technologie parfaite, le temps de réponse est immédiat et donc une telle mention est inutile. Nous devons donc exprimer tout ce qui pourrait se dire en considérant une technologie parfaite.

Le zoo humain
Laurent a aussi précisé qu'il était important de comprendre les écarts entre les réalités perçues et souhaitées. Pour cela il faut être au plus prés des acteurs impliqués dans un projet. L'orateur va même jusqu'à bannir le terme utilisateur qu'il juge trop abstrait. Laurent apporte quelques solutions comme les persona qui permettent de représenter un acteur. Il s'agit d'une fiche comportant un nom, une photo et la description d'une personne factice ou non. Tout ceci est bien moins impersonnel qu'un dessin en forme de bâton sur un cas d'utilisation. Laurent Bossavit va plus loin en nous proposant de passer une journée dans la vie d'un acteur. Cette petite session de "Vis ma vie" permettra ainsi d'appréhender au mieux le contexte dans lequel évolue notre acteur.

Parlons du cash
En amont d'un projet il est aussi nécessaire de définir le modèle économique. Fonctionnons-nous avec un modèle par utilisateur ou financé par la publicité pour ne citer qu'eux. Combien d'argent allons-nous gagner? Combien tout ceci va nous couter, à maintenir comme à exploiter? Au final il faudra du concret : des chiffres. Les managers et l'équipe projet vont ainsi parler le même langage.

Laissez-moi mes ressources!
Laurent a insisté sur le fait qu'il fallait obtenir un accord sur les ressources. Il n'y a rien de plus démotivant qu'après s'être engagé dans un projet, un élément extérieur vienne perturber les fondations de cet engagement en modifiant les ressources. Vous as-ton déjà supprimé ou ajouté des développeurs en plein milieu d'une itération? Je lève la main en ce moment... Les ressources comprennent aussi l'accès aux décideurs, l'environnement de travail ainsi que les formations. J'ai cité le mot : décideurs. Ils ont une importance capitale. Il est important de connaitre ceux qui vont valider votre travail ou qui peuvent décider de continuer comme d'arrêter le projet.


Il y aurait beaucoup à dire sur le sujet et je vous mettrai un lien vers la vidéo dès sa parution. J'ai fortement apprécié l'intervention de Laurent Bossavit : son discours était des plus intéressant et son élocution exemplaire. Un grand merci au JUG de Bordeaux ainsi qu'à Okiwi pour avoir organisé tout ceci. Mention spéciale pour la taverne et son jarret frites... mais je n'en dis pas plus...

vendredi 13 novembre 2009

Vidéos Agile Tour Bordeaux 2009

Jb me devance et nous informe que les vidéos de l'Agile Tour Bordeaux sont disponibles ici.

Je vous conseille de regarder la session TDD animée par mes confrères Jean-Baptiste et Charles. Ils exécutent sans faille le Kata du Bowling. Et Dieu sait à quel point je suis encore plus exigent avec mes proches.

N'hésitez pas à consulter le retour d'expérience de SC2X que nous a fait Rachel Dubois ainsi que Mickael Gasrel. Un retour assez mitigé sur l'adoption d'une approche Agile.

Pour finir, je vous suggère de vous passer en boucle la présentation d'Extreme Programming. Sa qualité n'a d'égal que la taille de mon ego. Je ne fais absolument pas de prosélytisme, le fait que je sois l'acteur de cette session n'est qu'une incidence.

Un grand merci aux cameramen, time boxers ainsi qu'aux monteurs pour leur excellent travail.

Bon visionnage quant à vous!

dimanche 8 novembre 2009

Gojira à Bergerac

Au milieu de toute cette actualité agile, je fais une brève parenthèse musicale.

Ce week-end j'étais dans la petite bourgade de Bergerac. Mais pourquoi se perdre là-bas, me demanderez-vous? Je ne vois que deux raisons valables, siroter un cocktail au Sherwood ou assister au concert de Gojira. Comme je n'ai pas pour habitude de faire des concessions je me suis adonné à ces deux activités!

J'ai donc plongé, le temps d'une soirée, en immersion parmi tous ces métaleux amateurs de gros son. Il y avait la faune habituelle : du vieux rocker avec son T-shirt de Motorhead, en passant par le gothique à la tenue dantesque, jusqu'à l'émo en quête d'identité. Je ne manquerais pas non plus de citer ce magnifique punk en treillis qui s'est approché de la scène en hurlant un magistral : "Envoie le bois enculé!!!!". Je remercie cet homme qui a crée sans le vouloir un running gag dont on s'est gargarisé toute la soirée.

En première partie figurait, Eths, un groupe Marseillais, que je ne connaissais pas et j'avoue avoir été agréablement surpris. Pendant quelques morceaux, Candice a littéralement contrôlé la foule avec son déhanché de diablesse, le tout appuyé par un éclairage des plus opportuns.

Puis est arrivé Gojira. Bien que je n'aime pas particulièrement ce groupe j'ai dû reconnaitre que leur concert était tout simplement excellent. La salle était bien remplie pour un concert de métal situé à Bergerac. Le son était gros, une partie de la foule pogotait, l'autre tentait de danser sur le rythme improbable des Landais. Au milieu de tout ça, je me suis souvenu à quel point j'aimais le métal.

Envoie le bois!

lundi 2 novembre 2009

Le repos de l'agiliste - suite et fin

Les souvenirs de cette journée commencent à s'estomper mais je vais synthétiser les moment clé. Ce que je retiens c'est qu'il y avait du monde et que l'espace était très réduit. J'ai beaucoup papillonné d'un groupe de personnes à l'autre afin d'extorquer quelques feedbacks et de conseiller mes amis sur les sessions à suivre. Les gens étaient très satisfaits bien que frustrés, parfois, de ne pas pouvoir assister à des sessions comme TDD.

Remue-méninge
Après la présentation XP j'ai rejoins l'atelier de Pascal Grange sans avoir aucune idée de l'ovni qu'il allait piloter. J'avais entendu le mot amélioration dans un vague brouhaha et la pièce m'avait paru assez douillette pour que j'y fasse un somme d'une petite heure. Par malchance l'atelier a commencé par une séance de speed networking. Nous sommes sortis dans le hall afin de faire connaissance avec une autre personne pendant 3 minutes. C'était très important nous informait l'animateur et nous nous exécutâmes donc avec beaucoup d'application.

De retour dans la salle, le jeu débuta. Les participants ont reçu un lot de feuilles contenant deux images qu'ils devaient retourner, une à une, au début de chaque phase du jeu. L'objectif était simple : trouver les différences le tout sous le joug d'un chronomètre des plus stressant. Il est bon de noter que les images étaient de complexité très différentes. A la fin de la 1ère phase, les agilistes devaient rationaliser leur méthode de détection et l'appliquer pendant la seconde phase. Autour du jeu, un manager notait les différents scores et après la seconde phase il ordonna à l'assemblée de suivre la méthode du détecteur ayant obtenu le chiffre le plus élevé. Les joueurs s'exécutèrent non sans à priori concernant la méthode.

A la fin du jeu, les participants s'insurgeaient, pourquoi le manager faisait-il appliquer une approche basée sur les résultats bruts d'une seule personne dans un contexte très spécifique? Ceci a fonctionné sur un dessin basique et certaines personnes avaient bien du mal à l'appliquer sur une photo. Par ailleurs les indicateurs étaient-ils fiables? Après tout on ne connaissait pas le nombre total de différences sur l'image du grand gagnant.

Et pouf... la session s'acheva sur une simple question : comment réagirions-nous si une telle méthode était imposée dans notre organisation? Dans la foulée nous avons quitté la salle. Point de conclusion pré-mâchée, nous devions nous forger la notre. Notez que plus tard dans la journée, Pascal m'a détaillé un peu plus sa thèse, avec la meilleure volonté du monde je n'aurai pas atteint sa conclusion. Imaginez un puzzle dans lequel il n'y aurait aucun contour - ce n'est pas évident de commencer. Tout ceci fera l'objet d'un futur billet. Il m'a aussi avoué que le speed networking était une escroquerie, qu'il n'avait servi qu'à réveiller l'auditoire.

Ouch...

XP Scrum, salade tomate oignon
J'y étais mes chers amis! J'y étais! En fin de journée j'ai assisté à la conférence incroyable de Jean-Pierre Vickoff! Je suis bien incapable de résumer ce que j'ai vécu pendant cette heure. C'était une rencontre du 5ème ou 6ème type, à ce niveau - il faut que je consulte l'ASE. Je suis sorti de l'amphithéâtre un peu béa et il a fallu qu'on me mette une grande gifle pour que je recouvre mes esprits.

Je retiens tout de même l'une des meilleures entrées en matière et un flot de parole inégalé. Il y avait aussi des blagues très déplacées mais pas moins savoureuses sur les faits divers chez FT et des diapos hors du commun. Quand je dis diapo c'est un bien petit mot pour décrire ce qu'il nous a projeté. Je pense que les termes "berceau de la vie" ou "Canis Majoris" correspondraient mieux. C'était du lourd mes amis! Suivant les conseils de Guillaume Saint Etienne, notre orateur nous a concocté une diapo comportant l'ensemble des pratiques Scrum+XP sur la droite, la super roue PUMA@Vickoff au centre (et ça tourne et ça tourne), le Da Vinci Code vers la gauche et la constellation des Gémeaux englobant le tout. Du lourd!

La forme était très particulière mais plaisante, j'en garde un bon souvenir. Sur le fond je reste un peu mitigé mais je note beaucoup de bon sens dans son texte. Je retournerai volontiers assister à une conférence de ce grand homme qu'est Jean-Pierre Vickoff.

Conclusion
Cet Agile Tour me laisse un excellent souvenir. J'ai eu de bons retours sur les sessions et l'organisation. Il y avait du monde, des boissons chaudes comme fraiches, des viennoiseries et des petits fours. Que demande le peuple? Un grand merci à vous public. Un merci tout aussi grand à Colin et sa patience légendaire, Frédéric et ses conseils avisés, Samir et sa bonne humeur, Julie et son activisme, Charles parce que c'est Charles, Mickaël et ses talents audiovisuels et finalement JB parce qu'il faut bien quelqu'un pour finir les pizzas.

dimanche 1 novembre 2009

Le repos de l'agiliste


Fiou! L'Agile Tour Bordeaux est terminé, l'agiliste que je suis va pouvoir se reposer. Finis les lundis soir consacrés à boire de la bière et manger des pizzas autour d'un backlog qui ne se vide jamais. Terminés les week-ends passés à réviser la série XP entre deux vidéos d'oncle Bob.

Vous me manquerez chers organisateurs! Bien heureusement notre consanguinité est telle que je suis amené à croiser la moitié de l'organisation plusieurs fois par semaines... mais chut!

Le jeudi saint
Jeudi 29 octobre 2009. Il est 6h45 et le réveil sonne. Je soulève une paupière "X", puis une deuxième "P". Mon Dieu! C'est le jour J! Et là tout s'enchaine, petit déj, le chat, la douche, ma sacoche avec le portable et un kit de survie : une compote. J'arrive sur les lieux à 8h05, avec un léger retard, fâcheux défaut dont je ne me déferai jamais. Au LaBRI tout le monde s'agite, les salles se réorganisent, se flèchent et s'équipent, les badges s'étalent et les brassard se mettent. Tout le gratin est là : les organisateurs, les étudiants et père Bézagu en renfort.

Le temps passe vite, il y a de plus en plus de monde. Je salue quelques amis et échange des mots dont je n'ai plus aucun souvenir. Mon esprit est ailleurs, en communion avec Beck il me semble. Mais que se cache t-il derrière la slide 93? Comment pourrais-je bien justifier le travail en binôme? Ouf! C'est l'heure de la plénière d'ouverture, ça va me changer les idées. Il y a beaucoup de monde, cet évènement n'est donc pas un pétard mouillé. Je suis rassuré, j'ai bien fait de demander autant de goodies et de militer pour une présentation ma société.

Extrémisme
La session s'achève, il est 10h. Ma présentation commence dans 20 minutes, je suis plus que large. Je me saisie d'une compote et flâne quelque peu dans le hall. Je ne sais plus qui je croise mais cet obscure personnage m'informe que la salle simplicité est déjà pleine. WTF! Compote en main je me dirige vers le champ de bataille pour apprécier la situation par moi-même. C'était donc vrai... Je finis ma compote et pose tranquillement la cuillère sur la table. Je n'ose pas regarder l'auditoire. Bon je regarde mais très rapidement... oulalala, mes amis sont tous là et positionnés vers la droite. En face de moi et au fond de la salle se trouve père Bézagu. Un rang devant et en plein dans mon champ de vision est assise la délégation de ma société. Ça n'arrange pas mes affaires, je ne saurai pas qui regarder pendant la présentation. Ah si j'ai trouvé, près de moi se trouvent deux femmes, la charmante Rachel Dubois et quelqu'un à qui je n'ai pas eu le plaisir d'être présenté.

Une minute s'écoule, Colin s'approche et me demande s'il ne serait pas judicieux de commencer, même en avance. J'aurais bien du mal à retranscrire, ici, toute la courtoisie dont il fait toujours preuve. Bien.
Tout le monde est près? Bonjour à tous, je suis Michael Borde et je vais vous présenter Extreme Programming.

Je parle, je bouge, j'explique, je me moque, je fais la morale et finalement je tourne la 104ème diapo : les questions! C'est passé tellement vite!

Je suis assez satisfait de ma présentation. J'ai fais deux erreurs d'enchainement de slide dont une que j'ai masqué assez vite dans un écran de fumée. Je n'ai pas fait d'accrochage majeur si ce n'est un bref passage où je dis que personne n'implémente intégralement Extreme Programming. Le "personne" était un peu extrême d'autant plus que j'avais clairement dis que le développement de Tiron embrassait pleinement XP. J'ai donc rajouté un "sauf moi" et tout de suite après, dans ma tête : "mais quel connard de prétentieux je suis!". Oui, il est facile de déraper en public, mais on ne m'en a pas tenu rigueur.

La séance de questions fut très intéressante et j'avoue avoir été mis en défaut par la 1ère. Une personne m'a demandé s'il fallait doubler toutes les compétences à cause du travail en binôme. En creusant un peu, il me demanda comment faire cohabiter un graphiste avec un développeur. Je n'ai jamais travaillé avec une telle personne, je ne pense pas en avoir côtoyé une d'ailleurs. Face à mon ignorance j'ai appliqué le principe de précaution et j'ai déclaré que cette association était peut-être une exception. Immédiatement après Rachel Dubois à contrebalancé mes propos en faisant part d'un retour d'expérience sur le sujet et validant ainsi l'association développeur/graphiste. Je ne me suis pas attardé sur le sujet et quoiqu'il en soit il aurait été difficile de lutter contre ce retour d'expérience. Dans les jours à venir, j'écrirai un billet sur ce type de binômage pour nuancer tout ceci.

Ensuite j'ai eu une question des plus classiques mais pas moins légitime : en début de projet qu'est-ce qui motive le choix de telle ou telle approche? Pourquoi Scrum, pourquoi XP? Y'a t'il une méthode plus adaptée selon un contexte? Je n'ai pas sombré dans la guerre de clocher Scrum/XP, j'ai simplement répondu qu'il n'y avait pas de silver bullet, qu'on utilisait ce qu'on connaissait ou ce qui était en vigueur, au niveau agilité, dans son organisation.

Il y eu bien d'autres questions mais vous pourrez observer ça dans la vidéos qui sera disponible dans quelques temps. Je publierai mes slides par la même occasion.

L'après XP fut beaucoup plus zen et sera décrit dans un prochain billet :)