eric.lemerdy

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

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 !

lundi 23 février 2009

Nabaztag plugin improved

This is a list of improvements of the lastest version:

  • Use a checkbox for the "Report On Success" parameter.
  • Hide non mandatory parameters in an "Advanced..." section.
    hudson-1.5-advanced.png
  • Text-To-Speech messages supports "${projectName}" and "${buildNumber}" special syntax to be more expressive (instead previously of adding project name and build number automatically at the end of the TTS).
    hudson-1.5-variables.png
  • Add help for each parameter.
    hudson-1.5-help.png

The version is available here: nabaztag-1.5.hpi.
The wiki page also contains a new section to request changes. A Jira for such a little plug-in seems oversized, no ?

jeudi 12 février 2009

Productivité: faire son Hansei

"Je trouve que je passe trop de temps au travail."

Cette phrase exprime un ressenti sur une situation dangereuse.
Que faire pour améliorer cet état ? Et en premier lieu quel est cet état ?!?
Le bon sens cartésien veut que l'on ne puisse mesurer une amélioration que de ce que l'on peut préalablement quantifier.
Partant de ce constat, j'ai décidé de tenter une petite expérience cette semaine: mesurer mon temps de travail.

Ne disposant pas d'un outil aussi interactif que Talia (Pyxis en parle), je me suis monté un google document tableur pour reporter mon activité: Effective working time
(Les valeurs sont en décimales d'heures)
Tous les jours, je remplis le nombre d'heures de travail

  • total de la journée (hors pause déjeuner)
  • de 'dev' on peut traduire par travail productif (slides, docs, etc.)
  • de 'support', les questions des utilisateurs, le support aux autres développeurs
  • de 'other', web surfing, checkage de mail clientèle, pro et perso, lecture de docs et... autre quoi
Le reste est calculé tout seul par différence. C'est ce qui n'est pas comptabilisé (pause toilettes (!), oubli du chrono, etc.).

Le chrono, justement, pièce maîtresse dans mon expérimentation. Je suis infidèle à la philosophie agile ou lean du 'physical communication'. Et non, je n'ai pas trois chronos qui trônent sur mon bureau. A la place, c'est un 'google gadget' sur mon bureau virtuel qui compte le temps qui passe. C'est le bien-nommé : Task List and Timer Timer task_and_timer.png

Bilan après une semaine:

  • L'interface du timer n'est pas très jolie. Encore un développeur qui essaye de faire une interface... Pourquoi diable a-t-il voulu créer sa propre scrollbar ? En regardant comment est fait un google gadget, j'ai compris mais au moins, il aurait pu prendre un style d'ascenseur plus joli.
  • A l'usage, c'est assez lourd de déclencher les chronos au changement d'activité. Un déclenchement à la voix serait sympa, ou alors une IA qui infère l'activité en fonction des logiciels en action sur le poste... C'est possible mais pas dispo. sur google gadget...
  • Ce qui n'apparaît pas justement est le nombre de "changements de contexte" qui est une cause classique de perte de productivité.
  • La tentation de l'isolation est donc importante pour augmenter facilement la productivité
  • L'irrégularité de la journée de travail dénote un emploi du temps assez torturé cette semaine...
  • Prise de conscience sur la répartition réelle des activités quotidiennes
  • Le côté motivant : voir la courbe de l'activité productive qui monte est assez stimulant.
  • Qu'est-ce-qui est fait pendant la journée de travail qui pourrait être éliminé sans conséquences ?

Je pense prolonger encore un peu le monitoring pour tirer d'autres leçons de ces données puis recommencer le mois prochain. Je n'ai pas encore terminé mon "Hansei" (auto-critique, réflexion).
En tous cas, j'encourage quiconque souffrant du temps qui passe trop vite de mener à son tour ce genre d'expérience adapté à son contexte. En effet, le lean nous apprend qu'il n'y a pas de métrique magique qui va illuminer tout seul les gains de productivité à faire. Par la suite, pourquoi ne pas partager les retours en "Hansei Kai" (réunion d'auto-critique) ?
(Ces termes japonnais sont issus de la pensée lean [ppt])

vendredi 23 janvier 2009

Valtech Go Ski

this week-end !valtechGoSki.gif

vendredi 19 décembre 2008

Wifi rabbit notifier plugin for Hudson

The

Everybody wants a BuildBunny

I rediscover yesterday Larinou, my electronic wifi buddy bunny, a brilliant representative of its Nabaztag species.
I decided to create an Hudson plugin to let my bunny alert me of my builds. I have already seen equivalent plugin for Teamcity for exemple. The Hudson plugin architecture is elegant, maven facilitates rapid immersion in the source code, provides an out-of-the-box debugging environment with Jetty and the "HelloWorld" template is brilliant to start. It was pretty pleased to implement.

A quick overview of the plugin

You will see the Nabaztag Notifier as a post build notifier:
nabaztag-hudson-configure.png
You should then set the serial number of your bunny buddy and the associated token (not as a password in this preliminary version of the plugin).

The Hudson system configuration offers a new section related to the plugin:
nabaztag-hudson-system.png
This place you can configure the main API URL (in case it changes from the settings I use in France and you can set a custom voice for your bunny.

The result is that your bunny now alerts you about any build result. The position of the ears vary in respect with the buidl result. The rabbit will seam sad if a build is broken... Even if the API provides the way to light the rabbit with Hudson "build colors" (red/yellow/blue), my rabbit nevers turns on. By the way, the plugin is implemented in case Violet decide to let us pilot the colors.
nabaztag-hudson-exec.png

One drawback is that the communication between the Hudson build machine and your wifi rabbit is not direct (there is a reverse engineering open-source project to achieve this goal). The communication is intermediated by Violet, your rabbit great creator.

Please find the first version of the plugin below (I will propose it to be a part of the main plug-in list on dev.java.net or I will put source on sourceforge later):
nabaztag.hpi

An overview of the rabbit messages

Project free-style-job gets better ! Here is the status : back to normal
Project free-style-job gets better ! Here is the status : stable
Edit: Seams like the idea was in the air: Stephan developed the same plug-in, the same day. He invokes the "white rabbit" effect. But which plug-in is the One ? ;-) The first to be committed of course !

lundi 15 décembre 2008

Recherche dans les "mailing list"

Le service markmail.org permet de faire une recherche dans les mailing-lists des projets open source. L'interface est particulièrement utile pour repérer les messages au cours du temps. C'est un critère assez important quand on s'intéresse à l'obsolescence des frameworks et des projets.
Sur l'exemple ci-dessous, la requête choisie est: stubless web service.
stublessDynamicWebServiceInvocation.png
Les rémanences des messages en 2008 montrent que le sujet n'est toujours pas clos aujourd'hui. L'intérêt de cette vue temporelle permet de voir quand le besoin était très fort. Ici, c'est entre 2002 et 2003. On peut donc parcourir les messages de l'époque pour savoir quel framework avait le mieux répondu au besoin. En l'occurence, il s'agit des promesses (déçues) du framework Apache WSIF (Web Servies Invocation Framework) qui s'est avéré ne pas gérer le typage complexe des paramètres des web services, ce qui est une (bonne) pratique tout de même assez répandue dès lors que l'ont veut exploiter ses web-services pour faire plus que du simple RPC.
Le service fête ses 1 an ce mois-ci. Espérons qu'il survive encore de nombreuses années !

dimanche 9 novembre 2008

Back from GWT and Restlet @ParisJUG - 3/3

Last graphic report back from ParisJUG
See the full story in one image

jeudi 6 novembre 2008

Back from GWT and Restlet @ParisJUG - 2/3

Paris JUG - GWT & RestLet

mercredi 5 novembre 2008

Back from GWT and Restlet @ParisJUG - 1/3

ParisJUG-GWT-1on3

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.

- page 1 de 3