eric.lemerdy

Aller au contenu | Aller au menu | Aller à la recherche

jeudi 1 octobre 2009

Buildix, présentation de l'usine logicielle selon ThoughtWorks

Ce ne sont juste que 3 slides pour présenter rapidement Buildix.

Voire plus de présentations d'Eric Le Merdy.

Ces outils étaient super en 2008. Que pensez vous de :

  • Source Control : Subversion
  • Continuous Integration : Hudson
  • Wiki + Bug Tracker : Trac
  • Agile Project Management : Excel or IceScrum2

jeudi 28 mai 2009

Une journée au XP Day France 2009

Je n'ai assisté qu'au deuxième jour du XP Day France 2009.
Le cadre était bucolique. Si je peux me permettre un reproche, les salles du chalet n'étaient pas si pratiques. Je connaissais déjà les lieux pour y avoir fait un "Team building" l'année dernière et nous avions rencontré déjà le soucis de la traversée des salles pour accéder aux autres.

Sessions:
Voici ce que j'en retiens:
  • Lightning talks Outils logiciels
    • Sonar
      • Qu'est-ce que c'est ?
        un outil de collecte et de visualisation de mesures faites sur le code source (java en premier lieu).
      • Eprouvé
        Il repose sur des briques d'analyse de code reconnues depuis longtemps déjà dans le monde java.
      • Riche
        Son interface web de reporting des mesures est agréable à consulter. L'analyse bi dimentionnelle sous forme de treemap (une métrique sur la surface, une autre sur la couleur) permet de comparer de façon les deux métriques choisies.
      • Manques
        L'outil manque peut-être selon certain d'une gestion des droits un peu plus fine pour raffiner l'accès aux mesures par projet. Je crois moins à l'argument avancé en session par un participant sur le masquage de certaines mesures "faille" à son client. L'agilité ne prônerait-elle pas une transparence sur les données projet ?
    • Outils .Net
      J'avoue ne pas être familier du framework .Net. Sans avoir pris de note, voici ce que j'en ai retenu. L'écosystème des outils semble à première vue couvrir tout le "cycle de développement". Entre parenthèses, le cycle présenté était certes itératif mais peu adapté à une stratégie de test-first. La force de Microsoft Team System serait l'intégration poussée de l'outillage. Par contre, la qualité de certaines briques serait inférieure à leur équivalent Open-source (notamment pour les Tests unitaires). Les présentateurs ont sentit la montée en puissance de l'écosystème. Ils tiennent à souligner l'effort de la communauté Alt.net qui pousse Microsoft à s'ouvrir de plus en plus. A en croire par le nombre croissant d'outils open-source qui sortent, ils obtiendraient une bonne attention de la part de l'éditeur. D'après ce que j'ai compris, Microsoft supporterai même certains outils open-source. C'est vrai qu'ils ont tout à y gagner si la contribution est de bonne qualité. Team System est déjà un outil ALM intégré alors qu'en java, ou avec les briques open-source ou gratuites de .Net, il faut se construire son propre ALM...
    • GreenPepper
      Une introduction pas si claire que ça sur la motivation du besoin des tests d'exigences automatisées a fait place à quelques écrans GreenPepper. Tout y est dans cet outil: le Wiki pour éditer les spécifications, la machinerie interne pour passer les tests sur le code de l'application, les fixtures à apporter pour fournir ce code liant. Cependant, on sent assez vite que GreenPepper souffre de quelques lacunes. Impossible par exemple de gérer en ligne de produit ces exigences fonctionnelles car la base des exigences est exportable mais pas rejouable dans le wiki. Il doit également faire face à une concurrence renforcée depuis 6 mois car Fitnesse bénéficie actuellement une forte activation de sa communauté grâce à la refonte du moteur de FIT vers Slim.
  • Lean Software Developement et Pratiques Agiles
    Ce fut moi le speaker de cette session. Ma première contribution au XP Day fut donc d'expliquer le Lean Software Development aux participants. J'ai bien aimé l'exercice, Je me suis sentis assez à l'aise. C'est ma collègue Elisabeth Ducarre qui devait assurer la présentation mais elle n'était pas disponible. Le sujet me passionne beaucoup et semble être la méthode agile à découvir en 2009. La salle était comble et je m'en félicite. J'en profite pour vous parler du prochain Valtech AfterWork qui se tiendra la La Défense le 10 juin prochain. Cette session gratuite et ouverte à tous après le boulot vous permettra de rencontrer Elisabeth et moi pour une présentation approcfondie du Lean Software Development et sans doute quelques animations participatives. Elisabeth donne aussi un cours chez Valtech Training sur 3 jours pour apprendre à pratiquer le Lean dans votre organisation.
    J'ai finalement répondu au mieux aux diverses questions que la pratique du Lean n'a pas manqué d'éveiller chez l'auditoire. Je serai heureux de récolter vos commentaires sur ma présentation.
  • Repas en compagnie d'un des alchimiste-agile. Une discussion passionnante sur le métier de coach.
  • Pratiques d'ingénierie incrémentale
    Cette session a rencontré un succès certain puisque la salle était comble. Il est vrai que c'est toujours un plaisir d'écouter Eric Mignot. Cette fois-ci, il a fait le point sur les pratiques d'ingénierie incrémentale. Cette présentation sous forme d'échange avec l'auditoire avec peu de support powerpoint fut d'abord axée sur les différentes pratiques agiles qui permettent d'assurer une ingénierie incrémentale. Eric semble être un adepte de l'application de la méthode SCRUM aux individus. En particulier, il nous a parlé de sa méthode d'immersion dans les équipes qui consiste à ne pas imposer de pratiques mais à provoquer chez les équipiers l'envie de les pratiquer. Il maintient un backlog de tâches qu'il souhaite livrer à l'équipe. Par exemple, l'adoption des réunions quotidiennes n'est pas une cérémonie imposée, il préfère montrer à la machine à café par exemple que les gens ont besoin de ce point journalier pour avancer dans de meilleures conditions. Si on impose la cérémonie, le premier point douloureux est de trouver un horaire qui convienne à chacun des participants. Si je devais un jour avoir à être accompagné sur un projet ou passer le cap et faire de l'accompagnement moi-même, j'aimerai avoir la même aisance qu'Eric dans le domaine.
  • Introduction à certains principes Lean
    Une courte session qui s'est faite légèrement manger par le discours d'Eric. Lean étant un sujet vaste, ce que je retiens de cette présentation est de ne pas forcément chercher à tout automatiser. Il a plutôt préconisé de tenter d'éxécuter l'activité manuellement pour bien mesurer si il existe un bénéfice à l'automatiser. L'orateur n'avait pas beaucoup d'aisance et cela s'est ressentit sur le succès de sa présentation.
  • De l'atelier à l'usine logicielle : Enjeux et retours d'expérience d'Orange Labs
    L'ALM est aux portes de nos organisations, mais la route reste encore longue quand on souhaite bâtir cette solution avec les produits existants. Orange Labs nous a fournit un retour d'expérience pertinent sur l'état de leurs travaux dans le domaine. Lorsqu'ils réalisent un développement sur une des briques open-source, ils n'ont pas peur de le verser dans la communauté. C'est un signe de maturité face à l'adoption de l'open source.
    Quelques accroches: "de l'atelier à l'usine logicielle", "de l'intégration continue à la synchronisation continue", "le statut du projet sur le serveur d'intégration continue est la seule référence valable".
    L'objectif de leur unité: assurer la répétabilité temporelle et spatiale de la production des livrables logiciels. Temporelle car on souhaite pouvoir régénérer à l'identique un livrable produit précédemment, spatiale car on souhaite que ce comportement soit valable non seulement sur tous les postes de développement de l'équipe, mais aussi sur tous les projets que l'organisation héberge.
    Pour arriver à ce résultat, toutes les solutions ne sont pas encore mûres. Voyons ce qu'il existe et ce qu'il reste à faire:
    Solutions mûres:
    • gestion des dépendances: avec Maven, les projets modulaires déclarent de façon versionnée leur dépendances aux librairies externes.
    • gestion de configuration: avec Subversion, on assure une historisation du code source indispensable au développement collaboratif.
    • intégration continue: L'outil Hudson assure que la compilation du logiciel est automatisé, des tests automatisés peuvent être passés sur cette plate-forme pour en valider la qualité. On peut aussi générer de la documentation, des mesures qualitatives sur le code à ce moment et packager les livrables automatiquement.
    • portail de mesures: Sonar permet d'exécuter et d'historiser les mesures qualitatives sur le code source.
    • référentiel de livrables: un repository maven permet à un service de peupler une base de libraires provenant des contributions open-source mais aussi issu de ses propres développements
    • "tracker": l'outil Jira permet de gérer l'ensemble des anomalies et évolutions sur un composant. Aujourd'hui, leur solution est basée sur un plugin maven qui automatise le commentaire de commit en associant automatiquement une modification de code à un ticket de la base. Cela leur permet aussi de générer automatiquement la release note d'une version non pas simplement en tant que liste de fichiers qui ont évolué dans la gestion de configuration mais surtout en termes de bugs résolus et d'évolutions apportées par requêtage de la base Jira.
    Solutions à mûrir:
    • Automatisation du déploiement de l'usine logicielle: Même si ils arrivent aujourd'hui à un bon niveau d'intégration des briques, ils souffrent encore du temps nécessaire pour déployer ces outils sur chacun des projets qu'ils ont à gérer. La voie de la virtualisation est une bonne piste pour constituer des serveurs "scalables" à mettre en place par projet. De même, la configuration du poste client prend encore pas mal de temps (retour d'expérience de Bull).
    • Trop de portails: un portail pour les builds, un pour le suivi des mesures qualitatives, un pour les sites générés au build: ils travaillent donc tout d'abord sur les liens inter-sites pour qu'ils soient au moins liés entre eux
  • Une informatique hédoniste et responsable.
    Session rafraichissante sur les parallèles entre la philosophie hédoniste (opposée à la philosophie idéaliste platonicienne bien répandue dans notre société occidentale). Un appel a participation à un manifeste hédoniste a été lancé en ouvrant la participation à des philosophes ou des profils sciences humaines.
La communauté agile semble toujours très active. L'association XP France a évolué cette année en changeant de statuts et en prenant le nom d'"Agile Paris". Du coup, le titre de l'association est beaucoup plus en phase avec les compétences réelles de ses membre qui n'ont jamais été réduites seulement à la méthode XP.
A l'année prochaine pour une nouvelle session. 2009 sera riche en événements et on ne peut également que se féliciter de la création d'associations à travers la France entière.

mercredi 13 mai 2009

Présentation du Lean Software Developement

Je vais parler aux XP Day !

XP Day bag 1 (c'est le sac de l'année dernière)
1 2 3
  1. Ne pas négliger la théorie
  2. S'entraîner en s'écoutant pour se corriger
  3. Prendre des forces (5 fruits et légumes par jour, c'est un objectif dur à atteindre !)
La théorie permet d'être à l'aise avec les fondements de ce que l'on vit sur nos projets.
En s'écoutant, on apprend à se placer du côté de l'auditoire. Je cherche à me poser les questions en tant que public de la présentation : quels sont mes attentes et serais-je déçu si j'y assistais ? Mais la voix n'est pas le vecteur primordial pour faire passer l'information. L'attitude, le ton, la présence comptent aussi beaucoup.
Il est aussi important d'avoir une idée claire des messages que l'on souhaite faire passer. Ensuite, le mieux est de trouver une histoire à raconter pour faire passer le tout de façon agréable. Ce qui me plaît dans une présentation, ce sont les accroches, et lorsque les exemples résonnent dans mon expérience actuelle et passée. J'utilise donc des cartes pour répéter sur lesquelles j'inscris le message important du slide et les accroches et les transitions dans une autre couleur.
Tentons de faire tout ça pour le 26 mai !

dimanche 21 septembre 2008

Se rencontrer pour apprendre et partager

Logo-Valtech-Days-2008-web.gif Les Valtech Days 2008 se dérouleront les mardi 21 et mercredi 22 octobre 2008 à La Défense, soit dans un mois jour pour jour.
C'est un évènement qui permet de se tenir au courant des dernières avancées en matière d'agilité, d'industrialisation, d'architecture et de technos web.
Ce que je conseille, c'est de jeter un œil aux présentations et "white papers" de l'année dernière. Je l'ai fait moi même et j'ai été ravi de mes lectures. Les sujets sont pointus et ceux de fond sont toujours pertinents un an après ! Notamment sur la Gestion du Cycle de vie des Applications...
Je conseille notamment: Voir aussi le compte-rendu d'un bloggeur de developpez.com.

mardi 29 juillet 2008

Overview of Eclipse RCP UI testing tools

-All datas collected during Summer 2008-
Product Type Licence Source Status
Abbot framework (AWT/SWT) open source Sourceforge alpha for SWT (but seems pretty stable)
Costello recorder (AWT) open source Sourceforge not ready for SWT
GUI Dancer recorder commercial Bredex GmbH new version in july 2008
JDemo framework open source Sourceforge 2008
Mercury WinRunner recorder commercial Mercury End of support (feb 2008)
QF-Test recorder (XML/Jython) commercial Quality First Software GmbH - Kapitec (FR) 2008
Rational Functional Tester recorder commercial IBM
SWTBot framework (SWT) open source ThoughtWorks not fully SWT compatible but ThoughtWorks can be considered as trustable.
TPTP Automated GUI Recorder (AGR) recorder (XML/Java) open source Eclipse.org maintained ? but "as-is" component
WindowTester hybrid (java) commercial / free for opensource commiters Instanciations high quality product
This matrix is based on this article from the WindowTester architects ; this product list is enforced with the following post comments where people chat about their uses.
Feel free to visit the del.ico.us links where I store framework's related ressources on the fly. I am working on this subject until a satisfying product can be identified, so I will add some new links soon (screencasts and tutorials are the forthcomming waited material). I am glad that the Eclipse community is doing a substantial effort in 2008. For exemple, there was less submissions on this subject for EclipseCon2007 last year.

lundi 28 juillet 2008

De retour de la session TDR

En avant première, Gilles Mantel a réuni les praticiens de Paris ce soir pour nous faire partager sa session "Test-Driven Requirements: beyond tools" qu'il donnera le 5 août 2008 à Toronto à l'occasion de la conférence Agile 2008.
A travers deux expériences ludiques et leurs rétrospectives, il nous montre en quoi les exigences dirigées par les tests peuvent aider les clients à obtenir avec moins d'efforts ce qu'ils veulent vraiment.

TDR - Le jeu

Le premier jeu montre la distorsion du besoin initial exprimé par le client lorsqu'il passe par un cycle de développement d'un produit:
TDR.png (src)made with the lego tag in openclipart.org
Le produit est ici un parcours de billes et de dominos que seuls les utilisateurs vont pouvoir bâtir. Le 'product owner' (ou client) fait alors son apparition et doit étudier le modèle. Le développeur entre à son tour et doit reproduire le modèle sur les seules indications orales du product owner qui ne voit bien sûr pas le travail en cours du développeur. Le testeur doit quant à lui écouter les informations et c'est lui qui qualifie la livraison finale du développeur aux utilisateurs.

TDR - Expérimentations

Le second jeu permet au public d'expérimenter l'expression de besoins et les spécifications par les tests:
Un memo vient de tomber: une idée géniale a germée dans le service R&D et il faut recueillir ce besoin et le spécifier le plus efficacement possible afin d'intégrer cette idée au système d'information de la société ! Une réunion est donc organisée entre le porteur du message et l'équipe d'analystes et de développeurs réunie pour l'occasion.

Par l'expérimentation sur ce cas concret, on adopte intuitivement une démarche ou chacun est poussé à griffonner sur son papier pour comprendre le problème. Une fois le problème mieux cerné, on cherche à trouver un accord sur le formalisme à employer pour la spécification et les tests associés (les exemples de cette spécification). C'est un exercice enrichissant qui laisse le formalisme émerger à la différence des tests fonctionnels actuels où un outil en impose souvent la forme (par exemple des tableaux pour FIT ou du texte illustré d'exemples pour Concordion).

Je suis toujours enthousiaste après les réunions des praticiens. C'est un groupe où l'on découvre toujours énormément de choses par la pratique, une expérience toujours unique. Merci à Gilles qui va pouvoir assurer une animation au top niveau à Toronto.

mercredi 28 mai 2008

Travaillez-vous mieux sous pression ?

La pression exercée sur une équipe permet parfois de la stimuler ou de garder un bon niveau de motivation. Mais quand cette pression devient trop grande, la contre-productivité augmente... Voici un graphique issu de la pensée "lean" qui m'est apparu très clair lorsque Bent Jensen nous l'a exposé il y a quelques semaines.
agile_team_pressurepressure.png(src)
Ce que je remarque surtout, ce sont les gaspillages engendrés par des délais de livraison trop long. La pression en début de phase est insuffisante, on risque de pas assez bien utiliser un temps pourtant précieux. Avec des livraisons plus rapprochées, on conserve une pression quasi constante proche d'un niveau toujours acceptable.
Je pense qu'avec des arguments simples mais percutants comme celui-ci, on peut débattre sans choquer avec son équipe trop habituée au rythme "industriel à la française".