Qu’est-ce que l’Example Mapping ?

L’Example Mapping est une méthode qui utilise des exemples concrets pour illustrer et mieux définir les critères d’acceptation d’une user story. L’objectif de l’atelier est d’encourager l’échange, autour d’un même référentiel, entre les business owners et l’équipe de développement.

S’accorder sur des exemples énoncés dans le langage métier participe à construire une compréhension commune des spécifications. Les développeurs ont l’opportunité de mettre en exergue les cas limites et de directement les clarifier avec les business owners. La responsabilité d’établir les spécifications adéquates est ainsi partagée entre les business owners et les membres de l’équipe de développement.

Dans les pratiques Agiles, l’Exemple Mapping est généralement attaché au TDD (Test-driven Development) ou au BDD (Behavior-driven Development). Les tests peuvent être directement déduits des exemples. A des fins de traçabilité, ces derniers constituent une documentation vivante et dynamique du projet.

Qui est concerné par un atelier d’Example Mapping ?

Bien que des grands ateliers impliquant à la fois l’équipe de développement, les représentants du métier et les experts métier soient un moyen efficace de diffuser la connaissance au sein des équipes, ils sont difficiles à organiser et très coûteux en temps et en argent. Pour une équipe mature, ce type d’ateliers est probablement excessif.

C’est pourquoi les équipes Agiles préfèrent généralement organiser de petits ateliers, qui n’impliquent qu’un business analyst ou un product owner, un développeur et un testeur. Cette configuration est la plupart du temps suffisante pour confronter les différentes perspectives. Cet atelier se nomme les Trois Amigos.

Comment mener un atelier d’Example Mapping ?

L’Example Mapping a recours à quatre catégories d’éléments :

Si, à la fin de l’atelier, vous avez trop de règles, cela peut signifier que la user story analysée devrait être scindée en deux parties ou plus. Si vous avez trop d’exemples sous une règle, cela peut signifier que la règle devrait être divisée en plusieurs parties. L’Exemple Mapping est une bonne façon de s’assurer que les user stories sont toujours de la bonne taille.

Comment rédiger des exemples dans l’optique d’écrire de bons tests ?

Pour écrire de bons tests, il vous faut, tout d’abord, les spécifier correctement. C’est pourquoi la rédaction des exemples doit dresser le contexte, ne concerner qu’une seule action, et définir précisément les conditions de sortie. Pour ce faire, vous pouvez utiliser la méthode Given-When-Then tirée du BDD :

Illustrons cette méthode avec un exemple :

Quelques conseils de Gojko Adzic pour animer un atelier d’Example Mapping

S’appuyant sur plusieurs années d’expérience et ayant rassemblé les retours d’expérience d’une cinquantaine de projets, Gojko Adzic a synthétisé quelques conseils dans le livre de référence Specification by Example :

Gojko Adzic portrait
Gojko Adzic Consultant en développement logiciel et auteur de nombreux ouvrages sur l’Impact Mapping, la Specification by example, le Behavior Driven Development, le Test Driven Development et l’Agile Testing (https://gojko.net/).

Suggestions de ressources pour mener l'atelier avec succès