Archive

Articles taggués ‘Product Ower’

BDD – Spécifications éxécutables à Grenoble

Le premier atelier autour de l’approche BDD (Behavior Driven Development) organisé par le CARA (Club Agile Rhône Alpes) s’est déroulé Jeudi 9 février dernier à Grenoble dans les locaux d’Orange Labs.

Une bonne vingtaine de participants ont eu la chance de pouvoir profiter d’un tel événement dont l’organisation était parfaitement maîtrisée. L’assemblée se composait essentiellement de personnes familières des méthodes agiles et à peu près équitablement réparties entre product owners et développeurs.

Tout d’abord quelques mots sur le concept…
Dans la droite ligne du « manifeste agile« , BDD est une méthode de développement par les tests qui privilégie la collaboration active entre tous les acteurs d’un projet et la recherche de feedback rapide.
Cette approche est à la frontière entre le TDD ( unit Tests Driven Development) et l’ATDD (Acceptance Test Driven Development) centré sur les « user stories » basées le modèle :

En tant que [rôle] je veux [fonctionnalité] dans le but de [bénéfice]
As a … I want … so that …

Les tests BDD sont quant à eux, formulés en tant que scénario (exemple concret) selon le modèle suivant :

Etant donné [un contexte], quand [un événement se produit], alors [vérification du résultat attendu].
Given … when … then …

Les tests BDD peuvent être, en quelque sorte, comparés à des tests unitaires formulés dans un langage (associé à du code exécutable) compréhensible par tout membre du projet non technique.
Un vocabulaire commun et métier se profile alors entre MOA et MOE dénommé « langage omniprésent » que cherche également à mettre en valeur l’approche DDD (Domain Driven Design). Ces tests sont bien évidement inclus dans la chaîne d’exécution de la plate-forme d’intégration continue.

Concernant le déroulement de la journée, la matinée a donné l’occasion de faire naître un échange fourni et plutôt positif sur la base de retour d’expérience dans la mise en œuvre de BDD au sein des différentes entreprises présentes.
Divers workshops ont pris le relais l’après midi autour des propositions de sujet apportées par les participants. Chacun à pu avoir l’occasion de réfléchir sur des questions telles que : Un product owner doit il être technique ? Quels sont les tests dont la nature est plutôt proche de BDD ou de TDD ? mais également de participer à des présentations de framework comme Cucumber, RobotFramework et SpecFlow ou encore à des jeux de mise en situation de rédaction de tests.
La gestion (indexation, recherche, génération de document) de l’ensemble des tests constituant ainsi les spécifications fonctionnelles du produit semble souffrir pour le moment du manque d’outils adaptés.

A noter également la présence de Laurent Bossavit venu prendre part aux débats et nous informer de l’éventuelle mise en place de master classes BDD au travers de l’institut agile.

Le BDD semble pour le moment cantonné à un groupe d’early adopters et les organisateurs de cette journée se sont pris à rêver de la naissance d’une communauté BDD suite à cette événement. Maintenant que la dynamique est lancée, d’autres sessions devraient venir confirmer cet engouement dans les prochains mois, avec qui sait, peut être un prochain coding dojo BDD attirant non seulement des développeurs mais autant de product owners ?

Affaire à suivre…