Développement de projet guidé par le comportement
(Behavior Driven Development)
Antoine LELAISANT
Pierre PLAZANET
KNPLabs
Hein ?
kessecé ?
Nom : Michel
Profession : Maçon
Age : majeur
Hobbies : Le casse-brique
Nom : Jean-Luc
Profession : Indécis
Age : Indécis
Hobbies : Sauver sa famille de la CIA du FBI
LE BESOIN
Je veux une porte fenêtre
Elle est pas belle ma porte-fenêtre ?
LIVRAISON
PROBLÈME
SOLUTION
Des exemples (catalogue)
LIVRAISON
PROBLÈME
Besoin d'explication ?
SOLUTION
Un plan, une maquette
(mise en contexte)
PROBLÈME
Ça coince
LA SOLUTION
LE COMPORTEMENT
Quand je fais ci
ça fait ça
Et que je fais ci
ça fait ça
EN RÉSUMÉ
Besoin
Réalisation
Livraison
Besoin
Réalisation
Livraison
Besoin
Réalisation
Livraison
SOLUTION
Je veux une porte fenêtre
C'est quoi une porte fenêtre ?
C'est pour faire quoi ?
C'est pour mettre où ?
Tu l'ouvre comment ?
Où ?
Qui ?
C'est quoi ?
Comment ?
Pourquoi ?
C'est tout ?
=
COMPORTEMENT
(Behavior)
PROBLÈME
Il n'y a pas que MICHEL
MICHEL
SON ÉQUIPE
UN BESOIN EST STRUCTURÉ
Je veux une porte fenêtre de 3 mètres par 2 mètres en alu blanc, avec deux vitres pleines. L'ouverture se fait par la porte droite (vue de l'intérieur). Cette porte-fenêtre sera au rez-de-chaussé, mur sud, à 2,5 mètres du mur ouest. Il y aura une marche de 15 centimètres. Quand j'ouvre la porte de droite, elle ne doit pas toucher le mur avant 90°. Quand j'ouvre la porte de gauche, elle ne doit pas toucher le mur avant 90°...
Jean-Luc
UN BESOIN EST STRUCTURÉ
Quand je veux ouvrir la porte
Alors je dois ouvrir la porte de droite
Quand je veux ouvrir la porte de droite
Et que je l'ouvre à 90°
Alors la porte rencontre le mur
Quand je veux ouvrir la porte de gauche
Et que je l'ouvre à 90°
Alors la porte rencontre le mur
Quand je veux passer la porte
Et que je rentre dans la maison
Alors je dois monter une marche de 15 cm
UN MOT EST UNE DÉFINITION
Fenêtre qui descend jusqu’au niveau du sol et qui donne accès sur un balcon, une terrasse, un jardin.
Wiktionnaire
Porte fenêtre
=
GLOSSAIRE
UN BESOIN EST STRUCTURÉ
... Porte fenêtre de 3 mètres par 2 mètres en alu blanc, avec deux vitres pleines. La poigne est sur la porte de droite. La porte-fenêtre est au rez-de-chaussé, mur sud, à 2,5 mètres du mur ouest.
Notre porte fenêtre
Jean-Luc
LANGAGE UNIVERSEL
(du projet)
Un besoin clair
Un besoin complet
Un vocabulaire définit
Un standard d'échange
LANGAGE UNIVERSEL
+
COMPORTEMENTS
+
ITERATIONS COURTES
=
B.D.D.
(Behavior Driven Development)
Et nous ?
GHERKIN
Je veux une gestion
d'utilisateur
DU CONCRET
UTILISATEUR ?
Utilisateur :
- un identifiant
- un nom
- un prénom
- un poste
- un email
- un mot de passe
- une adresse
ADRESSE ?
Adresse :
- une rue
- un numéro
- une ville
- un pays
- un code postal
- une latitude
- une longitude
GESTION ?
Créer un utilisateur
Modifier un utilisateur
Supprimer un utilisateur
Filtrer les utilisateurs
QUI ?
Bah ! Moi !
Un Jean-Luc
CREER UN UTILISATEUR
En tant que Jean Luc
Sachant que je suis sur l'administration des utilisateurs
Quand je clique sur "Créer un utilisateur"
Et que je remplis mon formulaire
Et que je clique sur "Créer"
Alors je dois être sur la liste des utilisateurs
Et je dois voir mon nouvel utilisateur
Et je dois voir la notification "Utilisateur créé"
MODIFIER UN UTILISATEUR
En tant que Jean Luc
Sachant que je suis sur l'administration des utilisateurs
Quand je clique sur le bouton "Modifier" d'un utilisateur
Et que je remplis mon formulaire
Et que je clique sur "Modifier"
Alors je dois être sur la liste des utilisateurs
Et mon utilisateur dois avoir été modifié
Et je dois voir la notification "Utilisateur modifié"
SUPPRIMER UN UTILISATEUR
En tant que Jean Luc
Sachant que je suis sur l'administration des utilisateurs
Quand je clique sur le bouton "Supprimer" d'un utilisateur
Et que je valide la suppression
Alors je dois être sur la liste des utilisateurs
Et je ne dois plus voir mon utilisateur
Et je dois voir la notification "Utilisateur supprimé"
FILTRER LES UTILISATEURS
En tant que Jean Luc
Sachant que je suis sur l'administration des utilisateurs
Quand saisie "Michel" dans le champ "Recherche"
Et que je clique sur "Rechercher"
Alors je dois être sur la liste des utilisateurs
Et je dois voir les utilisateurs dont le nom ou le prénom contient "Michel"
ET ON FAIT PAREIL POUR LES ADRESSES
ET C'EST TOUT ?
EN BONUS ....
EN BONUS ....
Documenter le produit
EN BONUS ....
Documenter le produit
Tester automatiquement le produit
EN BONUS ....
Documenter le produit
Tester automatiquement le produit
Non régression du produit
EN BONUS ....
Documenter le produit
Tester automatiquement le produit
Non régression du produit
La confiance de Jean-Luc !
ENVIE D'ESSAYER ?
BDD: Angile Vendée 2016
By Knp LABS
BDD: Angile Vendée 2016
- 1,795