Note de lecture : Growing Object-Oriented Software Guided by Tests, par Steve Freeman & Nat Pryce

Note : 8 ; Craftmanship en grandeur réelle

Quand on évoque le craftmanship, on montre des exemples de code, sinon cela n’a pas de sens ! Généralement, il s’agit de 2 ou 3 classes qui se battent en duel que l’on refactore afin d’améliorer les abstractions, éviter les duplications de code et tout et tout… Ce livre-là est différent, car il va faire du design émergent en TDD une réalité en l’appliquant sur la construction d’un logiciel complet, le tout suivi pas à pas ! Pour mener à bien sa mission, le texte compte un peu moins de 330 pages hors annexes, le tout découper en 5 parties très inégales. Je ne vais pas vous compter par le menu les 27 chapitres de l’ouvrage, mais plutôt les 5 parties.

La première partie est introductive (comme on peut s’en douter). Elle ne compte que 3 chapitres sur 25 pages. Il s’agit avant tout de considérations générales, mais non dénuées d’intérêt. On y évoque des principes nouveaux ou anciens comme le cycle ATDD imbriqué dans le cycle TDD, les cartes CRC ou le « tell, don’t ask ».

Lire la suite

Publicités

Meetup Craftsmanship de Février

Déjà mon deuxième meetup Craftsmanship ! La formule reste inchangée mais le contenu se renouvelle : 3 lightning talk et une partie atelier ! C’est Cyrille qui ouvre le bal.

La progressivité dans le code, par Cyrille Martraire

Cyrille nous invite à prendre conscience de la notion de « progressivité » lors de nos refactorings. Certains remaniements se font en douceur… jusqu’à se heurter à des remaniements qui s’avèrent plus brutaux !

image

Lire la suite

Agile Playground #16

L’Agile Playground ne se repose jamais … ou si peu ! Après une rencontre organisée mi-Juillet, on reprend nos bonnes habitudes dès mi-Septembre. Pierrick fait office de grand orchestrateur aujourd’hui. Et il nous propose un mode d’organisation inspiré de l’open-space, avec 2 catégories de propositions :

  • Les jeux que l’on souhaite proposer.
  • Les jeux auxquels on souhaiterait participer.

Le formule marche bien, nous recueillons quelques propositions, largement assez pour animer la soirée, pas trop pour ne pas être obligé de rentrer dans une gestion compliquée ! Voilà dejà une formule que l’on pourra rééditer !

image

Pour cette reprise nous étions un peu plus d’une trentaine de personnes, à vue d’oeil. Comme on dit lors des open-space : les personnes qui sont là sont les bonnes personnes !

image

Le « software ball » que propose Pierrick m’intrigue, ne serait-ce que par son nom : allons-y !

Le Software Ball

Le principe de ce jeu est simple et curieux et finalement pas si facile à saisir ! Les participants sont invités à se lancer une balle selon un schéma défini par le maître de jeu (nous ferons 5 itérations en complexifiant ce schéma). Pour exécuter cela, il faut « programmer » chaque participant avec des instructions en français à suivre très précisément. Elles sont inscrites sur des post-it que l’on colle sur soi.

A chaque itération, nous gagnons 10 points, moins le nombre d’instructions nécessaire pour programmer tout le dispositif (les instructions sont les verbes des phrases). C’est là que ça se gâte, n’est-ce pas ? Ce n’est pas fini ! On a droit au copier-coller et c’est gratuit ! Si 2 participants (ou plus) ont les mêmes instructions, on ne décompte que les instructions d’un seul participant. De même, si l’on garde des instructions entre 2 itérations, c’est aussi gratuit !

image

Bref, c’est quand même compliqué, vous pouvez toujours faire un tour sur le site du Software Ball. Pas mal de perte de temps au début : nous essayons un peu vainement de « bien » conceptualiser la chose avant de commencer. En fait, il est plus simple de se lancer et d’expérimenter sur le tas : nous nous lançons donc à deux pour commencer. Rapidement, après une paire d’itération, nous nous rendons compte que notre implémentation initiale génère des coûts exponentiels, car toute la complexité est sur le rôle du « lanceur-dispatcheur » qu’il faut réimplémenter à chaque fois ! Peitit moment de reflexion.

image

Nous galérons un peu pour passer du mode « push » au mode « pull » où les recepteurs appellent la balle et où il n’y a plus d’intelligence sur le dispatcheur. En effet, les règles stipulent de l’on ne peut pas faire de réutilisation partielle d’implémentation. Nous finissons par trouver le contournement !

Ce jeu a pour but de mettre le doigt sur des pratiques de Craftsmanship. En cela il est tout à fait original ! Il nous permet de reflechir à la réutilisation, au moment adéquat pour changer de stratégie et c’est franchement pas mal. Par contre il est frustrant sur le peu de libertés qu’il nous laisse pour faire des choix de cinématiques de circulation de balle. Je pense aussi qu’il devrait permettre la réutilisation partielle. En synthèse, voici le résultat du débrief.

image

Bref, j’ai bien envie de l’essayer, mais en hackant légèrement les règles !

La balle supersonique

Petite originalité de cette édition : un jeu frugal durant le buffet de fin ! Nous avons pu expérimenter une balle supersonique. Enfin, l’ayant déjà joué à Agile Game France, j’ai passé mon tour !

image

Mention spéciale à Julien qui l’a animé en n’ayant expérimenté la chose qu’une seule fois à Agile France. Il a d’ailleurs un peu hacké les règles en permettant de tenir la balle pendant qu’elle circule ! Je pense ne pas le suivre dans cette voie. Mais il bon d’essayer des choses. Voici de que cela donne

See you later

Toutes les bonnes choses ont une fin. Je coupe court à l’un de mes moments préférés : le buffet et la discussion qui terminent la soirée. Rendez-vous le mois prochain !

image

Agile France 2014, Bonus Track

Comme chaque année, il y a de nombreuses sessions que je n’ai pu voir. Je vais tenter d’y remédier en partie dans ce post.

Pour rappel les autres présentations, celles auxquelles j’ai assisté, sont couvertes ici et ici pour la journée du Jeudi. Elles sont ici et ici pour le Vendredi.

Projets Agiles, arrêtez les dérives

Cyrille Deruelle, en plus de sa présentation sur l’amélioration continue, a proposé ce sujet sur les projets agiles. Quelques clés et rappels pour ne pas pervertir nos pratiques et garder le cap sur ce qui est important.

Patrick Bobo a par ailleurs développé le contenu de cette session dans un post.

Comment Cadrer un projet agile ?

Pas de support pour la session de Guillaume Duquesnay et Jean-Claude Grosjean, mais un très bon post de Pascal Poussard !

Désapprendre à « bien faire », pour « faire juste à temps »

Le support est un peu déroutant, plutôt « zen » comme j’aime bien. Mais il n’aidera pas nécessairement à comprendre la substance du propos de François.

L’holacracy, un “système d’exploitation” pour des entreprises agiles et sociocratiques

Damien nous parle d’un nouveau mode de gouvernance des entreprises. Tout est dans le titre. Regardez le teaser pour voir si vous y voyez un sujet d’intérêt !

Son lightning talk a par ailleurs été enregistré.

Le support de la présentation de Damien est aussi accessible.

Si l’holocracy vous intéresse, vous pouvez consulter sa constitution.

Devenir une organisation apprenante dans l’IT

Eric Siber était absent, mais Nathaniel a présenté le sujet pour deux. Nathaniel nous parle durant cette session entretien et montée en compétence : comment faire ? Quel est le cadre légal ou ce que l’entreprise peut concéder ? Quels moyens se donner soi-même ?

Penser nos organisations

Pablo nous propose une session dont le moins que l’on puisse dire est que son teaser est décallé !

La présentation de pablo nous parle de communication, de théorie des catastrophe et de bien autre chose. Toutefois le support sans le « live » de Pablo n’est pas évident…

Doublures en folies

Le teaser d’Olivier Azeau n’est pas mal non plus, dans le genre décallé !

La présentation elle-même… eh bien, ce n’est pas vraiment une présentation, mais plutôt une scènette ! Bref, ça devait valoir le coup d’oeil en live !

Product ownership dans le brouillard

Ce n’est pas vraiment la première fois que Gilles nous gratifie de cette présentation. Mais elle est de bonne qualité

Vendredi matin…

Un petit coup de Pablo Pernot pour nous mettre en jambes…

Je veux tester avec les utilisateurs – Je fais comment ?

Je voulais au départ assister à l’atelier de Sophie Freiermuth, puis j’ai changé d’avis a dernier moment ! J’espère que ce n’est que partie remise. En attendant, voici son teaser.

Petits Outils de Management Agile à l’usage des… Honnêtes Managers!

Pas vraiment de teaser pour la session de Jean-Claude en mode « show and tell » ! Mais il l’introduit néanmoins sur son blog.

Par ailleurs je vous recommande ce billet de blog qui en parle.

Lean Agile Camp

Dominique de Prémorel évoque l’élaboration du « petit guide du management lean » lors du Lean Agile Camp

Expérience d’un maître de donjons et dragons sur le management, ou comment trouver son style

Pas de support de présentation pour la session de Guillaume Duquesnay, mais un excellent billet de blog !

La culture du programmeur

Jean-Laurent de Morlhon nous avait déjà gratifié de cette présentation très dynamique au Scrum Day. En voici la présentation

Mon projet est plus gros que le tien

Seulement le teaser pour la présentation de Cyrille : désolé !

Retour d’expérience sur Coding Dojo et Mob Progamming en entreprise

Sujet à la mode s’il en est, Bernard Notariani évoque le coding dojo mais surtout le Mob Programming, le dernière tendance. Voici son teaser

Au secours, le Père Noël a perdu ses rennes !

Simon Jallais nous propose une session créative autour du thème du Père Noël. A la lecture du support, je n’ai rien compris ! Ferez-vous mieux que moi ?

Let’s sketch together

Cette session d’Alvin était également présente au ScrumDay 2014. En voici le support

On en parle aussi ailleurs

Sans avoir relevé tous les blogs parlant d’Agile France (loin s’en faut), en voici quelques uns :