Introduction
Il y a déjà pas mal d’articles sur le BDD dans la taverne.
C’est une démarche que j’affectionne particulièrement et qui est très souvent mise en pratique dans de nombreux contextes… Et comme toute démarche, a fortiori à succès, sa mise en pratique est plus ou moins bien implémentée.
Je parlais récemment de dérives qui rendent le BDD inefficace ou, à minima, diminuent fortement son intérêt. Au delà de ces dérives qu’il faut connaitre afin de les éviter il me semble important d’avoir une vision de vers où il faudrait tendre dans sa pratique. Avoir cette vision c’est justement ce que propose les modèles d’évaluation de maturité.
C’est dans ce cadre que je partage avec vous ma vision du niveau de maturité dans la pratique du BDD.
Les niveaux de maturité du BDD
Pour ce modèle je me suis inspiré de mes expériences et de TMMi pour définir le niveau.
Niveau 0: le BDD n’est pas en place
Ce niveau est simple à comprendre: le niveau 1 n’est pas atteint.
Ce n’est pas parce que l’on a des réunions qui s’appellent les 3 amigos que l’on fait du BDD.
Niveau 1: des revues des US sont en place avant le début du sprint
Le BDD est une démarche basée sur une compréhension commune de ce qui est à délivrer. Faire une revue (quelque soit la forme) en amont du sprint (ou de l’intégration de l’US à l’itération) est pour moi la base, le minimum pour dire que l’on fait du BDD.
Comme vous l’avez compris pour être au niveau 1 de maturité de la pratique du BDD il faut, à mon sens:
- Faire une revues des US avant leur intégration dans les sprints
Niveau 2: intégrer des scénarios d’acceptation
Faire une revue collaborative c’est bien! Se souvenir des échanges et pouvoir très vite faire comprendre ce qui est attendu à n’importe qui (y compris soit même après un certain temps) c’est mieux!
Pour atteindre le niveau 2 de maturité il faut:
- Atteindre le niveau 1
- Concevoir des collaborativement des exemples qui décrivent le comportement de la fonctionnalité en amont du sprint (ou de l’intégration de l’US à l’itération)
A noter: à titre personnel je considère que le niveau 2 est le niveau cible pour les équipes que j’accompagne.
Niveau 3: automatisation des scénarios d’acceptation
C’est la cerise sur le gâteau! Quitte à avoir des tests qui servent d’exemple, pourquoi ne pas en faire des scripts automatisés ?
Ce niveau propose une maturité très élevée car les scénarios conçus en amont du sprint sont ici des scripts automatisés! Cela demande une rigueur importante et peut permettre de gagner beaucoup de temps supplémentaire.
Pour atteindre ce niveau il faut:
- Atteindre le niveau 2
- Des scénarios d’acceptation qui servent de scripts automatisés
Conclusion
Vous l’aurez compris, cette évaluation de la maturité est personnelle. Elle repose principalement sur l’importance de travailler collaborativement en amont du travail pendant l’itération. Ce choix est fait par rapport à l’intérêt principal que je vois au BDD: les apports d’une pratique de shift left.
Je suis conscient que ce choix est sujet à débat est fortement lié à mon expérience mais il me semblait intéressant de vous partager cette réflexion qui peut se résumer avec ce schéma:

Pensez à rejoindre le groupe Le métier du test si le test vous intéresse !
N’hésitez pas à me suivre et lire mes autres articles si vous voulez en apprendre plus sur le test ou venir partager vos connaissances
Merci à tous ceux qui mettent « j’aime », partagent ou commentent mes articles


