lundi 25 janvier 2010

Agile Open France 2010

Tout d'abord, je tire mon chapeau, comme la dernière fois, à Raphaël Pierquin, Emmanuel Gaillot et Bernard Notariani qui organisent ça. Je ne suis pas sûr de la quantité de travail que ça leur demande mais en tout cas le résultat est parfait. On est comme dans un écrin : hotel parfait, repas parfaits, cadre parfait, ambiances variées et propices aux échanges. Il ne reste plus qu'aux participants à faire le reste.

Une bande de gauchos soulés à la quetsh

J'y ai découvert Bernard Stiegler et la révolution d'une économie consumériste vers une économie de la coopération. Comment l'open-source puis wikipedia ouvrent la voie vers cette révolution. J'y ai découvert que le web2.0 n'est que le balbutiement de ce que sera le monde 2.0, à commencer, par exemple, par l'énergie 2.0.

Autrement dit, ce qu'on a vu se faire dans la communauté open-source : je consomme du logiciel en même temps que je produit du logiciel. Ce qu' on a vu se répandre avec wikipedia : je consomme une encyclopédie en même temps que je produit une encyclopédie. Tout cela n'est peut-être rien comparé à ce qui est en train de se produire dans le domaine de l'énergie : je consomme de l'électricité en même temps que je produit de l'électricité. L'idée étant que la motivation personnelle pour produire est d'abord libidinale avant d'être marchande... même si elle peut être rentable.

La question suivante étant : qu'est-ce que nous, informaticiens, pouvons produire/concevoir pour amplifier ou favoriser cette révolution... là je vous passe le brainstorming de mecs bourrés ;) mais le soucis de faire plus avec moins de puissance a fortement émergé de cette conversation.

Dans la même veine, j'ai découvert le "hacker manifesto" (http://www.criticalsecret.com/n10/A%20HACKER%20MANIFESTO/index.php). Le bricoleur/bidouilleur qu'est-ce qui le motive ? L'introduction de l'agilité dans une entreprise relève-t-elle du hack ? Je fais la plupart des travaux chez moi moi-même plutôt que de passer par un artisan : je suis un hacker et nous sommes nombreux.

Ce théme s'est cloturé par une session "refaire le monde" à laquelle je n'ai pas assisté :( Références : vidéos en ligne de Bernard Stiegler, "Hacker manifesto", film "volem rien foutre al pais".

Spécifications exécutables et autres tests de recette automatisés

Nous avons partagés sur ce que nous faisions en terme de tests de recette automatisés et notamment avec fitnesse ou Concordion. Nous avons eu plutôt tendance à nous accorder sur le fait qu'il s'agissait là avant tout d'outils de communication avec le client. En particulier je retiens l'idée que le TDD, pour un surcoût nul (c'est mon point de vue) permet de réduire de 95% le nombre d'anomalies remontées lors d'une recette (constaté sur un projet réel). Les tests de recette automatisés permettent d'éliminer presque les 5% restants mais pour un coût important. Mais des tests junit ne permettent pas la discussion avec tout le monde...

J'ai beaucoup aimé la théorisation par Etienne Charignon de la notion de spécification exécutable versus spécification tout court. Pour lui, la spécification (pas forcément très formelle) est une description continue de ce que souhaite le client. La spécification exécutable est une description discrète de la même chose. Plus on prend d'échantillons plus on s'approche de la description continue. C'est pas très claire ? Possible... Ah et d'ailleurs j'ai appris qu'on ne parle pas de spécifications par les tests ou même de spécification exécutable (encore que, ça ça passe) mais plutôt de spécification par l'exemple.

Métriques

Quelles métriques utilisons-nous ? Ce que j'ai retenu des conversations c'est, qu'il s'agisse de respect des conventions de code ou de couverture du code par les tests ou de complexité cyclomatique, etc..., une métrique est et doit toujours être associée à un apprentissage (on passe au TDD : on mesure le taux de couverture, etc) et que ce qui nous intéresse dans une métrique, ce n'est pas sa valeur absolue mais son évolution. Lorsque l'apprentissage recherché est atteint, la courbe n'évolue plus. La métrique doit alors disparaître (quitte à ce qu'elle revienne plus tard) sous peine de devenir du bruit, une mesure prise de façon routinière dont on a oublié le sens.

J'ai découvert qu'une métrique peut être très simple. Par exemple chez no parking ils mesurent leur progrès en terme de test en calculant un ratio entre le nombre de lignes de code et le nombre d'assert dans les tests... à comparer avec la complexité d'un outil d'analyse de couverture de code sachant que, de toute façon, 100% de code couvert ne signifie pas 100% des cas testés.

J'ai découvert aussi que la plupart des métriques faites sur un code sont statistiquement corrélées. C'est, toujours chez no parking, ce dont ils se sont rendu compte lors d'un stage fait par un étudiant statisticien sur leurs métriques. Autrement dit, lorsqu'une métrique varie (par exemple le taux de couverture du code) dans un sens, toutes les autres métriques varient également dans ce même sens (par exemple le respect de la convention de code). Cela semble indiquer qu'une seule métrique à un instant t est réellement utile. Cela me fait penser également que la qualité ou la non qualité d'un logiciel est probablement liée à une attitude globale des gens qui contribuent à ce logiciel...

Divers

J'ai découvert le jeu du TAO. Intéressant. Je pense qu'il s'agit d'un bon support lorsqu'on cherche à "aligner" une équipe. A ne pratiquer qu'avec des gens intègrent et en confiance. Conseil : être modeste sur sa quête personnelle si on veut tirer quelque chose du jeu. Pour les détails : google.

J'ai découvert Haskel

Je reviens avec un cadavre exquis dans les bagages... mais il se fait tard, je n'en dirais pas plus.

lundi 14 septembre 2009

Dropbox...

Je viens de tester Dropbox. Plusieurs collègues m'en avaient parlé, je l'ai installé et... Bravo !

Dropbox c'est tout simplement un répertoire sur votre ordinateur. Dès que vous placez un fichier dans ce répertoire, il est automatiquement synchronisé avec un serveur distant Dropbox et donc sauvegardé.

Si vous créez un répertoire dropbox sur plusieurs de vos machines, dès que vous faites une modification sur une des machines, la modification est synchronisée sur toutes les autres. Tout se passe tranquillement, en background.

Le plus, ce sont les fonctions toutes simples mais astucieuses construites là-dessus. Un exemple : le répertoire photo. J'ai créé un sous répertoire les roses, j'y ai copié des images et hop ! Voila ma gallerie en ligne : http://www.getdropbox.com/gallery/1993412/1/les%20roses?h=cc1675

Je n'ai strictement rien fait d'autre ! Juste copié des fichiers dans un répertoire local sur ma machine et automatiquement, avec la bonne url, j'accède à une gallerie en ligne avec ces photos. Evidemment, vous aurez compris que cette galerie est accessible même quand tous mes ordinateurs sont éteints.

Idem, je peux mettre n'importe quel document dans le répertoire public et obtenir une url http vers ce document.

Coté tarif : c'est gratuit ! ... enfin c'est gratuit jusqu'à 2G. Au dessus, deux forfait existent de 50 et 100G... malheureusement un peu cher (pour moi) : 10 et 20$ respectivement par mois.

Coté confidentialité ou liberté d'utilisation, je vous invite à consulter les conditions d'utilisation. Sans les lires dans tous les détails, je dois dire que je suis perplexe en lisant que j'accepte que Dropbox accède à mes fichiers ou encore qu'il y a des restrictions sur ce que j'ai le droit de déposer dans ma Dropbox... Sachant ça, j'essaierai de m'en servir avec discernement.

D'un point de vue technique, je n'ai pas encore pris le temps de vérifier comment se comporte dropbox lors de modifications concurrentes sur le même fichier sur deux machines différentes.

En tout cas, un outils gratuit, bien pratique et très bien pensé : à essayer !

lundi 1 juin 2009

Le premier billet d'un opprimé

C'était mieux avant.

pgrange@abc.fr

Difficile de faire plus simple comme adresse mail. Bon OK, c'était pas abc.fr mais presque, il n'y avait pas plus de lettres.

Un jour, on nous a dit : "les gars, vous faites partie d'un grand groupe, c'est fini de jouer solo avec des mails en abc.fr, vous allez avoir des mails en @branche-legroupe.com ah et pis pgrange, c'est naze ! On va mettre les noms complets : pascal.grange"

Le lendemain j'ai compris que je ne devais pas être le seul à m'appeler Pascal Grange dans cette grande famille en découvrant mon mail définitif : pascal1.grange@branche-legroupe.com

J'ai bien tenté de me plaindre sur la place publique en argumentant qu'un mail pareil, c'était risqué : quelqu'un pourrait se tromper et adresser un mail confidentiel à mon homonyme par erreur ! En réalité j'avais surtout honte de ce mail tout vilain et à rallonge :(

J'ai compris que l'argument de la confidentialité ne passerai pas quand notre responsable sécurité m'a expliqué que je manquais de maturité pour me plaindre de choses comme cela... et qu'il a signé son mail jean1.claude@branche-legroupe.com

C'est trop injuste ! pascal.grange, si tu te reconnais, laisses moi un message. D'ailleurs c'est pas toi qu'a déposé grange.name ? Hein !? Ca m'a tout l'air d'être ton genre. Pfff... je parie que c'est toi aussi qui a pris pgrange.blogspot.com... :(

pascal2.grange, si tu existes et que tu lis ce billet, je te demande de me pardonner. J'ai tout fait pour t'éviter ça mais j'ai échoué : pardon !