• Behaviour-Driven Development

EXPLORER, FORMULER ET AUTOMATISER

Si vous pensez que le Behaviour-Driven Development (BDD) est réservé aux fans en herbe, vous changerez d'avis après cette formation. Nous vous prouverons que BDD ne se résume à l’outillage Cucumber ou Specflow, mais avant tout à une approche agile permettant de combler le gap entre experts métier, développeurs et testeurs. L’objectif premier est de collaborer en utilisant des exemples concrets dans le cadre de « vraies conversations » à travers l’atelier Example Mapping. Nous aborderons à la fois sa préparation et son calibrage ainsi que la fréquence au sein d’un projet. Nous découvrions comment distiller une user story, puis nous expliquerons comment cette phase d’exploration peut s’inscrire avec Scrum et Kanban, mais aussi à travers un user story mapping.

Après avoir éprouvé l’atelier Example Mapping, nous franchirons une nouvelle étape avec l’atelier Formulation. Trop de scénarios souffrent d’un maque d’expressivité, ne sont pas orientés métier, ne contiennent pas de valeurs concrètes, et ne ciblent pas de comportement métier. Sur la base des cartographies de l'example mapping précèdent, nous les transformerons de nombreux scénarios Gherkin. Nous appliquerons une revue pour chacun des scénarios afin de vérifier leurs conformités à l’acronyme BRIEF.

Lors de cette formation de 2 jours, nous allons revoir ensemble à la fois les bases et tout le cycle du développement logiciel à la Domain Driven Design (DDD). Ceci se fera à travers un exemple concret de besoin métier que vous allez devoir découvrir en groupe, dès le premier jour. Vous utiliserez pour ce faire des techniques d’exploration et de distillation du domaine bien connues du DDD que nous vous présenterons en détail : Event Storming, Context Mapping, Example Mapping (issue du BDD) ou la reformulation, si chère à Éric Evans (le créateur du DDD).

Une fois nos scénarios vérifiés, nous passerons à l’étape d’automatisation (illustrer en Java et C# en fonction de l’audience). Nous expliquerons comment tirer parti des « steps » afin d’obtenir une implémentation à la fois propre et maintenable. Nous expliquerons le principe de l’outside in ou double boucle afin d’implémenter nos scénarios en TDD. Nous utiliserons quelques patterns techniques afin de découpler l’implémentation des « steps » du code métier.

En conclusion, nous échangerons sur les gains apportés par la phase exploratoire vis-à-vis de la phase d’implémentation. À l’issue de cette formation, vous constaterez que BDD s’inscrit comme une approche agile centrée sur la collaboration, facilitant la compréhension et l’alignement du produit désiré vis-à-vis des attentes des parties prenantes.

Toutes ces notions seront découvertes à travers de nombreux ateliers interactifs animés pendant ces deux jours en mode « training from the back of the room » (i.e. c’est en faisant qu’on apprend et retient mieux les choses).


Programme

Jour 1 – Explorer, Formuler

Introduction
• Les attentes de chacun
Les Stories rythment votre projet
• Qu’est qu’une user story
• Que signifie INVEST
• Comment raffiner votre backlog
Explorer vos stories avec l'atelier Example Mapping
• Qui inviter à l’atelier ?
• Jouer un atelier
• TDD ou BDD
Les bases de Gherkin
• Feature
• Rule (Gherkin 6)
• Example (or Scenario)
• Example (or Scenario)
• Given, When, Then, And, But
• Scenario Outline
• ExamplesScenario Outline
Formuler vos exemples
• Préparer votre atelier Formulation
• Formuler les scénarios
• Pourquoi parler de Living Documentation
Revoir la Formulation
• Préparer votre atelier Review
• Revue des scénarios en appliquant BRIEF
Recap
• Q & A et bilan des attentes de chacun pour cette première journée

Jour 2 – Automatiser

Introduction
• Warm-up - Q & A
Test-Driven Development
• Le cycle de vie du TDD
• Les différentes écoles du TDD
• Comprendre la signification du design émergeant
Installer l’outillage • Cucumber & Specflow
• L’unité d’implémentation : step
• Livecoding de l’implémentation d’un premier step
Automatisation
• Gherkin avancé
• Adapter la traduction Gherkin en type fort
• Comment découpler le code métier de la glue Cucumber / Specflow
• Refactoring des steps
Recap
• Q & A et bilan des attentes de chacun après les deux jours


Méthode pédagogique

• 80% de travaux pratiques et 20% de théorie
• Combinaison de présentations, de livecoding, de discussions, d’ateliers et d’exercices pratiques
• La formation privilégie les échanges et la collaboration de tous les participants
• Animation repose sur l’approche proposée du “training from the back of the room”


Audience

• Expert Métier
• Développeur
• Architecte

• Profils techniques venir avec un laptop de développement pour des ateliers C# & Java


Livrables

• Les supports en anglais
• Les exercises


Lieu

• Le lieu de la formation -à Paris- sera communiqué un mois avant la date de la formation


Intra-Entreprises

• Sur Devis
• Durée adaptée
• Dans vos locaux
• Dates Flexibles