La principale raison qui m’a poussée à faire rapidement sortir de sa grotte Chiroa.com, se sont les Valtech Days Paris 2007, organisés à la Défense les 23 et 24 octobre 2007.
Je vais donc faire un retour sur cet événement.
Tout d’abord, « chapeau bas » à Valtech, et à Eric Lefevre en particulier, pour l’organisation !
Il avait assisté à notre présentation à Nicolas et moi sur le binômage que nous avions faite aux XP Days Paris 2007. Il nous a alors proposé de remettre le couvert aux vtd2007… Ce que nous avons fait avec plaisir…
A mon sens, une des forces de cet événement, est sa formule, toute en chiffre :
- 2 jours, 4 salles, une 20aine de séances, 3 thèmes « relativement proches » (Architecture, Industrialisation et Agilité)… et donc 3 populations qui peuvent avoir des idées à échanger, voire confronter avec des points de vu différents… Réparties sur plus de 300 participants !
- Un premier jour avec des conférences d’une heure et un programme établi à l’avance.
- Un deuxième jour sur le principe de l’Openspace Technology, où tout le monde peut présenter un sujet, le vote faisant les sujets les plus demandés et donc le planning. Mais Eric l’a bien expliqué au cours de son interview par developpez.com.
Comme tous les participants, j'ai du faire des choix... Souvent dans la douleur ;o)
Pour commencer, j’ai enfin pu assister à la présentation de Régis (design-up.com) sur « Le Refactoring : la solution agile pour conserver un code évolutif ». J’ai bien apprécié sa formule « moitié – moitié » comme la fameuse fondue savoyarde : une moitié de théorie et une moitié de pratique… Et quelle pratique : transformer 300 lignes de plomb en une dizaine de lignes d’or… « Seuls les meilleurs ». Il a démontré quelques principes agiles : bien maîtriser un bon IDE (IntelliJ 7 en l’occurrence) assure des refactorings rapides, remplacer des commentaires « has been » par du code concis et explicite… Ne pas faire de tests unitaires… Oups, non, ça c’est pas un bon exemple ;o) Au final, un Régis égale à lui-même : grandiose ! Même si il a un peu changé depuis qu’il est sur sa nouvelle mission… Ca doit venir de son responsable ;o)
Ensuite, j’ai assisté à la présentation de Laurent Bossavit : « Agilité: à monter soi-même... ». Il a abordé certains aspects de l’agilité avec une approche différente.
Tout d’abord il a abordé les différentes façons de mettre en place l’agilité (en sous-marin, tout d’un bloc ou pratique par pratique, sur un nouveau projet ou un projet existant…).
Il a ensuite opposé le modélisme à la modélisation en concluant qu’il « condamne non pas l’UML mais l’utilisation qu’il en est souvent fait ». En rappelant la définition d’un modèle, à savoir « une représentation d’une partie de la réalité pour répondre à des questions », Laurent a précisé que les modèles utiles ne sont pas forcément en UML, ni même visuel, ni même encore une représentation de la conception. Au contraire, des modèles très utiles peuvent représenter les processus. Mais si je ne devais retenir qu’une chose, ça serait l’exercice qu’il a expliqué pour appréhender l’importance du feedback : on demande à une équipe de régler la température d’un réfrigérateur, sans connaître le calibrage (« la mollette de température n’est pas graduée ») et sans savoir qu’il faut 10 minutes entre une modification de la molette et la répercution sur la température dans le réfrigérateur… Les réglages et les températures successifs oscillent avant de converger !
Au final j’ai bien apprécié son approche de haut niveau, qui m’a permise d’avoir un autre éclairage sur l’agilité…
Après la pause déjeuner (en Suisse on dit « souper ») j’ai suivi Patrick Smith pour sa présentation « De Fragile à Agile ». Aaaah ces canadiens, avec leur accent fleuri : de vrais showman ! Aaaah ces canadiens, avec leur accent fleuri : de vrais showman ! Là encore, une approche complémentaire pour moi. Tout d'abord j'ai bien aimé sa métaphore : « Un développeur qui ne fait pas de tests unitaires c'est comme un médecin qui n'utiliserait pas de pénicilline. Il a ensuite expliqué qu'en l'absence de tests, à mesure que l'on avance dans la vie d'un projet, le coût d'une modification / évolution augmente de façon exponentielle, alors qu'avec des tests il converge vers une valeur maximale. Là où il a piqué ma curiosité, c'est lorsqu'il a définit une troisième sorte de tests en plus des deux que je connaissais les tests unitaires et fonctionnels. Les tests de « caractérisation » sont écrits sur une application existante, du code legacy et « portent sur des portions de code capable d'être observées ». Au passage, Patrick à fait un peu de pub pour l’outil de sa société Agitar, junitfactory.com, qui génère des tests unitaires sur le code qu’on lui soumet. Au final, cette présentation m’aura sensibilisé sur la mise en place de tests sur des applications legacy.
Puis c’était notre tour, à Nicolas et à moi, de parler « De la différence entre "2 personnes devant un PC" et "binômage" ». Pour le résumé je laisse la parole à l'un des spectateurs, Claude Aubry... Et je ne dis pas ça (uniquement) parce qu’il en parle en bien ;o)… Je tiens d’ailleurs à l’en remercier. Et pour obtenir le support de cette présentation je vous renvoie au message précedant Le binomage ou pair programming
Enfin, j’ai terminé la journée par la présentation de Vincent Massol sur xWiki : « Le wiki de deuxième génération: une alternative pour développer des applications webs ». Vincent a commencé par expliquer ce qu’est un wiki de deuxième génération, à savoir un wiki où l’on peut manipuler les données. Il a ensuite présenté xWiki, le principe selon lequel tout élément de contenu est associé à un objet (cela m’a rappelé le framework Zope/Plone) et surtout comment il permet de développer : gestion de version intégrée via l’historique des modifications, IDE de développement via le module d’édition du texte. L’ajout de macro dans les pages ou le développement d’extensions / plugins permet développer des fonctions évoluées. Le seul point ou je suis dubitatif c’est l’aspect « apparemment » permissif des scripts (certaines erreurs dans les scripts peuvent être digérées, ne pas être remontées). Un autre point est la notion de tests unitaires sur des scripts : comment fait-on ?
Je reste quand même sur ma faim : je souhaitais enfin faire connaissance avec Vincent, notamment pour lui parler de Sonar, « notre » outil de reporting qui se base sur Maven… Mais impossible de lui parler, il était constamment demandé ;o)
C’est donc avec plein de nouvelles idées en tête que je suis rentré chez moi, non sans quelques soucis liés à la grève SNCF... qui me laissaient perplexe pour la deuxième journée...
J )))