Note de lecture : The Cucumber for Java Book, par Seb Rose, Matt Wynne & Aslak Hellesoy

Note 7 ; Mieux qu’un simple livre sur l’outil !

Voilà un livre qui trainait depuis bien trop longtemps sur ma pile de livres à lire ! C’est une bonne surprise à plus d’un titre. D’abord parce qu’il aborde bien ce qu’il est sensé aborder, à savoir l’outil Cucumber. Il faut dire que l’un des auteurs, Aslak Hellesoy est l’un des comitters initiaux. Mais surtout parce qu’il aborde le sujet de la bonne façon, à savoir par son usage. Les auteurs s’efforcent ainsi de mettre l’accent sur l’expressivité des tests au fil des chapitres. L’ouvrage a même droit à un traitement de faveur, il est imprimé en couleur.

Au total, le texte compte 290 pages sur 6 chapitres. L’ensemble est structuré en 3 parties. La première d’entre-elle a trait aux fondamentaux de Cucumber et couvre 6 chapitres soit 115 pages. Le premier d’entre-eux est vraiment très succinct et donne juste quelques clés sur Gherkin (le langage d’expression de Cucumber) et la façon dont Cucumber l’interprète et sur la nature des tests d’acceptation. Les 18 pages du second chapitre vont directement dans le concret : comment écrire une feature et l’implémenter par l’exemple. Par contre le partie « build » est franchement bricolée. Il faudra attendre un moment pour voir les auteurs mettre cela dans Maven. Mais l’intro est bien réussie.

Le chapitre 3 est un approfondissement : on voit les éléments de syntaxe de Gherkin, à l’exception des tableaux. Il clarifie certainement les éléments d’écriture, mais c’est plutôt un chapitre de transition. Le chapitre suivant aborde un élément essentiel : la syntaxe d’expression régulière et surtout les groupes de capture. Très bon boulot !

Lire la suite

Note de lecture : How Google Test Software, par James Whittaker, Jason Arbon & Jeff Carollo

Note : 4 ; Plutôt déçu.

Le livre m’avait été chaudement recommandé, je m’attendais donc à un texte que allait quelque peu bouleverser mon mode de pensée. De ce côté-là, on est loin du compte. Le texte n’est pas médiocre pour autant. Il compte 235 pages dans sa partie principale auxquelles il faut ajouter les 30 pages d’annexes. Il ne compte que 5 chapitres, ces derniers sont donc chacun très volumineux. J’avoue que cela rend la lecture peu plaisante, surtout que le texte est très dense. Les 3 chapitres du milieu sont organisés selon les rôles de l’organisation Google, une articulation que je trouve fort peu heureuse. Voyons cela.

Le premier chapitre est, avec le dernier, le plus court du livre car il ne compte que 12 pages. Cette introduction nous décrit comment l’organisation fonctionne, avec ses 3 rôles au niveau des tests et la philosophie générale : pas de phase de tests en aval et des testeurs délibérément en sous effectifs.

Lire la suite

Note de lecture : Fifty Quick Ideas to Improve your Tests, par Gojko Adzic, David Evans & Tom Roden

Note : 7 ; D’excellents conseils dans la lignée du titre éponyme sur les user stories

Gojko Adzic et ses co-auteurs ont gardé la recette qui marche avec ce nouveau titre. Celui-ci ne compte que 117 pages, et comme le titre le suggère : 50 conseils chacun occupant 2 pages avec une illustration quelque peu décalée. Ces conseils sont répartis en 4 sections.

La première partie « generating testing ideas » regroupe 12 conseils. Je citerais en particulier parmi ceux-ci la « big picture view of quality », un pendant pour les tests de la pyramide de Maslow. Un concept bien plus intéressant que la classique pyramide des tests rassemblant des choux et des carottes ! Le « tap into your emotions » nous donne un truc de plus pour explorer les tests à construire. « monitor trends in log & console » est une excellente idée pour chercher des éléments à inspecter. Enfin le « mob your test sessions » est une nouvelle variante du workshop des 3 amis, étendu à plus de personne et qui ne se limite pas à l’écriture des cas de test !

Lire la suite

Note de lecture : Explore It ! par Elisabeth Hendrickson

Note : 9 ; L’approche agile appliquée aux tests exploratoires : brillamment et efficacement exposé par une pionnière de l’agilité !

Me voilà réconcilié avec les tests exploratoires ! Les fameux tests du 4ème quadrant du framework de Brian Marrick, ceux qui servent à critiquer le produit « après coup » ! Il est vrai qu’Elisabeth Hendrickson n’est pas n’importe qui. Et force est d’avouer que les 150 pages de cet ouvrage couvrent bien la question et donnent des réponses efficaces à mes doutes.

Le texte est découpé en 13 chapitres regroupés en 3 parties. La première d’entre-elles « Establishing Foundations » comprend les 5 premiers et compte 55 pages. Le premier d’entre-eux traite sur 6 pages le plaidoyer pour le test exploratoire que l’auteur considère complémentaire à l’exploration.

Le second chapitre est sans doute le plus important du livre car il présente « l’exploration charter » qui est au test exploratoire ce que la User Story est à la spécification agile ! L’auteur y présente de manière claire et détaillée comment créer des charters à la fois focalisés mais gardant assez de liberté pour permettre l’exploration. 13 pages très bien utilisées.

Lire la suite

Note de lecture : ATDD By Example, par Markus Gärtner

Note : 3 ; Mélange des genres…

Je sors assez désappointé de la lecture de ce livre assez succinct de 185 pages. Heureusement la lecture n’en est pas trop longue, d’une part du fait du nombre de pages et d’autre part du fait du format plus réduit que d’habitude. L’ouvrage est découpé en 3 parties, les deux premières sont dévolues à des études de cas tandis que la dernière évoque les principes de l’ATDD.

La première partie est consacrée à la gestion d’un parking d’aéroport. Elle couvre 50 pages environ sur 4 chapitres. Ca commence relativement bien au premier chapitre, sous la forme d’un dialogue entre le développeur et le responsable métier. Bien que cela n’ait rien de grandiose et ne m’ait rien appris, cela m’a même semblé assez basique. Et puis rapidement aux chapitres 2 et 3, on cause outils, Selenium pour être précis. Je ne m’attendais pas vraiment à un cours (pas terrible de surcroit) sur les fixtures Selenium. Tant pis ! Le dernier chapitre évoque la collaboration et le wishful thinking sur 4 pages, c’est assez creux. Cela ira peut-être mieux sur la prochaine partie ?

En fait non, c’est pire ! Cette partie déroule également sur 4 parties, mais sur 75 pages cette fois, la gestion de feux de croisement tricolores. Le chapitre 5 est une description du fonctionnel. Comme tout ça reste assez simple, on va être autonome : on ne va pas s’encombrer d’un spécialiste fonctionnel qui va trainer dans nos pieds pendant qu’on code, n’est-ce pas ? Et hop ! Dès le chapitre 6 on saute à pied joints dans des fixtures Fitness. Un peu de code… un peu de refactoring… c’est franchement brouillon, difficile à suivre mais l’auteur à l’air très fier de lui. On se souvient au chapitre qu’on est sensé écrire des cas de test. On gribouille donc quelques tables et c’est reparti pour une très ennuyeuse tirade de code et de refactoring. Le chapitre 8 conclut cette partie : testez votre « glue code » ! Ah ouais ? OK…

Tous mes espoirs reposent donc sur la 3ème partie. Vais-je y trouver ce que j’étais venu chercher ? Elle compte 5 chapitres sur 60 pages. Au chapitre 9, l’auteur évoque la nécessité de s’appuyer sur des exemples. En résumant (visiblement) tant bien que mal les propos de Gojko Adzic. Au chapitre 10 il parle de la nécessité de spécifier en collaboration en reprenant péniblement la prose de Mike Cohn qui l’a lui même emprunté à Suzanne et James Robertson (je fais référence au « trawling requirements » par exemple). Mais cela l’auteur semble l’ignorer. Sur les deux chapitres suivants (automatisation des tests et « clean tests ») l’auteur est un peu plus chez lui, ça va mieux. Le dernier chapitre ? Ah, bah…

Lire la suite

What is an agile tester ?

Rôle, quel rôle ?

Oui, le tester agile n’a plus la même place qu’avant. Tout d’abord, il n’y a plus d’équipe de test, mais un testeur intégré dans une équipe pluridisciplinaire ! Ce qui signifie aussi par voie de conséquence qu’il n’y a plus de phase de test. En fait, pour aller plus loin, il n’y a plus non plus de rôle de testeur !

La qualité est désormais l’affaire de tous, on passe de la notion d’assurance qualité à celle d’assistance qualité. C’est pourquoi ce n’est plus le rôle de testeur qui primer mais la compétence qu’il véhicule et injecte dans l’équipe. Kniberg nous débarque le concept de « T shape compétences », que personnellement je n’aime pas trop.

S’assurer que le produit marche

L’assistance qualité, dans une équipe agile recouvre un certain nombre d’activité que l’auteur nous énumère. Mais surtout, le testeur agile doit travailler en interaction avec les développeurs et les utilisateurs afin de toujours raccourcir la boucle de feedback, une idée qui s’inscrit bien dans la philosophie du « continuous delivery ».

Lire la suite

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

Note de lecture : Specification by Example, par Gojko Adzic

Note : 8 ; La référence sur le développement guidé par les tests. Book of the year 2014 !

Régulièrement, je retarde le moment d’ouvrir un livre que je sais excellent (de réputation) et qui prend la poussière sur une de mes étagères. Ce livre est de ceux-là ! Bien que Manning nous gratifie de temps en temps de titres non-techniques, il est assez étonnant de trouver celui-ci chez cet éditeur, probablement parce que ce n’est pas un livre pour remplir un vide thématique.

Il s’agit bel et bien d’un texte nous proposant un regard novateur sur les tests d’acceptance, même si l’auteur rappelle régulièrement au fil des pages qu’il fait suite à son ouvrage précédent « The Communication Gap ». Ce n’est pas non plus un livre très facile à lire, non qu’il soit volumineux car il ne compte que 250 pages, mais il s’appuie essentiellement sur de nombreux témoignages qui transforment le fil conducteur en une sorte de patchwork. Evidemment, ces nombreux témoignages qui sont autant de cas d’étude font beaucoup pour la crédibilité du texte qui est ainsi à la fois un travail digne d’un universitaire et l’œuvre d’un praticien de terrain. Venons-en au contenu.

L’ouvrage se découpe en 3 parties inégales. La première d’entre-elles ne compte que 60 pages réparties en 4 chapitres. Le premier chapitre nous laisse un peu dans le flou, il s’agit surtout d’un argumentaire étayé de témoignages sur la raison de s’intéresser à la spécification par l’exemple. On rentre dans le dur au chapitre suivant qui aborde la manière dont Gojko Adzic voit s’articuler le besoin depuis les « business goals » jusqu’à la « documentation vivante ». Les aspects amont sont par ailleurs l’objet de son ouvrage suivant « impact mapping ». On y apprend incidemment pourquoi l’auteur préfère « spécification par l’exemple » à « développement guidé par les tests d’acceptance ». Un chapitre à ne rater sous aucun prétexte ! Le chapitre 3 « living documentation » offre pour moi peu d’intérêt, sauf peut-être celui de couvrir le schéma de processus que l’auteur nous a exposé au chapitre 2 ? La spécification par l’exemple ne se veut pas une pratique spécifique aux projets agile, bien que ce soit un terrain de jeu naturel. Au chapitre 4, l’auteur aborde différentes façon de basculer d’un projet classique à l’écriture des tests en amont sous forme de patterns (bien qu’ils n’en empruntent malheureusement pas la forme).

La seconde partie est la plus imposante du livre, avec environ 130 pages et 6 chapitres. C’est le cœur de l’ouvrage. Les 11 pages du chapitre 5 « deriving scope from goal » sont un prélude à « impact mapping » et on y retrouve les mêmes thèmes. Je ne peux qu’en recommander la lecture. Le chapitre 6 est un de mes thèmes préférés car on y évoque la spécification collaborative. Tous les patterns de cette vingtaine de pages valent de l’or. J’applique déjà certains d’entre eux mais trouve ici des éléments pour m’améliorer. Encore un chapitre à ne pas rater.

Les deux chapitres suivants sont au cœur de l’ouvrage. Le chapitre 7 aborde l’écriture même des tests, comment les concevoir, comment les penser pour couvrir une spécification. Là encore ce sont des patterns desquels se dégage une stratégie claire et précise : sur la conception des tests, des cas passants et non passants, des données de test et des exigences « non fonctionnelles » ! Le chapitre 8 est un approfondissement du précédent, avec un accent mis sur les antipatterns.

Il était probablement difficile de parler de ce sujet sans évoquer les questions d’automatisation. C’est ce que font les 2 chapitres suivant. Le chapitre 9 évoque les options techniques d’automatisation y compris l’épineuse question des IHM. Le chapitre 10 se préoccupe surtout de l’intégration de ces tests dans des plateformes d’intégration et des stratégies possibles : isolation des systèmes tiers, plusieurs niveaux de validation, etc. Le chapitre 11 qui clos cette partie reprend le thème de la « documentation vivante ». Les patterns n’y sont pas sans intérêt, mais il reste le chapitre le plus léger de cette partie.

La Troisième partie est consacrée aux études de cas, c’est à dire les projets principaux (pas tous) qui ont donné la matière au livre. Des 7 chapitres qui la compose, 6 sont consacrés à ces études de cas sur 40 pages. J’ai eu du mal à me passionner pour cette partie. Y sont exposés les challenges auxquels ces différents projets ont été exposés à leur passage à le spécification par l’exemple, pourquoi ils l’ont fait et ce qu’il y ont appris.

Le dernier chapitre du livre nous livre les conclusions de l’auteur. L’une des plus importantes me semble être le passage d’une pratique des tests basée sur la défiance (coûteuse et inefficace), à une dynamique basée sur la collaboration et la confiance. Pas étonnant que cette pratique marche mieux en milieu agile.

L’ATDD ou plutôt la spécification par l’exemple est aujourd’hui ce que je considère comme un des plus forts effets de levier pour un projet agile, une fois acquis les pratiques d’ingénierie. L’auteur aborde les différents aspects (collaboration, processus, écriture et conception) avec un regard aiguisé que corrobore des données de terrain. En le lisant, je suis passé du « waouh effect » au « mais bien sûr » jusqu’à « ah oui, c’est ce que je fais et ça marche du tonnerre ». Cet éventail de réactions me rappelle la lecture du Design Patterns. Une autre façon de dire que je pense qu’il s’agit là d’un texte majeur !

image

Référence complète : Specification by Example, How successful teams deliver the right software – Gojko Adzic – Manning 2011 – ISBN : 978 1617290084

Specification by Example

https://www.goodreads.com/book/add_to_books_widget_frame/1617290084?atmb_widget%5Bbutton%5D=atmb_widget_1.png&atmb_widget%5Bhide_friends%5D=on

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 :