Oct 03 , 2018
Retour sur le Meet-up du 26 septembre : BDD, TDD et DDD, des approches de conception logicielle complémentaires.

Le 26 septembre, Numendo a invité Michaël Azerhad à nous parler des méthodes de Software Craftsmanship Behavior Driven Development, Domain Driven Design ainsi que le Test Driven Development.
Vous n’étiez pas présent à l’event ? Pas de soucis : vous pouvez visionner la vidéo de la meet-up ci-dessous 😉

Dans cette vidéo vous verrez au travers du BDD pourquoi il est important pour l’équipe métier de challenger les propos avec l’équipe technique.
Dans cette logique, vous apprendrez comment gagner en finesse pendant l’étape de définition des User Stories.
Également, le DDD vous prouvera l’utilité de définir un langage commun compréhensible pour tous, afin que les différentes équipes cernent les User Stories définies précédemment de la même manière.
Enfin, le TDD vous montrera comment gagner du temps en écrivant du code propre par l’intermédiaire de tests préalables.

 

Notre invité Michaël Azerhad, fondateur de WealCome une entreprise experte en Software Craftsmanship, est intervenu afin de nous parler du BDDDDD et du TDD.

Selon lui, le BDD est une approche de découverte par l’exemple qui vise à éviter tout quiproquo entre les différents acteurs impliqués au sein d’un projet IT.
L’idée sous-jacente à cette approche est d’illustrer les Acceptance Criteria (règles de gestion) à travers des exemples simples, concrets et ultra-précis, en vue d’apprivoiser les bons besoins fonctionnels, éviter tout quiproquo en amont, et d’y extirper un langage commun parlé par tous les acteurs.

Le DDD quant à lui est une approche complète et approfondie de design. Un des objectifs de cette approche de développement logiciel est de faire en sorte que le code source manifeste fortement ce langage commun, mis en valeur par la pratique BDD, mais aussi qu’il émerge des concepts de domain modeling spécifiques et adaptés au domaine.  
Michael parle également de deux outils à disposition dans cette approche:

  • Le context-mapping : qui est un schéma de la structure, des grands ensembles et de tous ses acteurs dans le but de visualiser les flux d’échanges Upstream/Downstream
  • Le Bounded-context : il s’agit de définir un langage commun à tous afin de vulgariser le jargon de chaque parties pour dresser une seule et unique interprétation possible.

La dernière partie de ce meet-up aborde le TDD. Cette discipline de programmation vise à accélérer drastiquement les développements tout en assurant de forts bénéfices tels que :

  • la concentration sur la vision cliente d’un cas d’utilisation du logiciel
  • l’absence de code mort
  • un design de code fortement malléable sans risque
  • une living documentation et encore plein d’autres aspects étonnants à découvrir

Si vous voulez en savoir plus sur ces méthodes, nous vous invitons à consulter les articles de Michaël Azerhad.

Cet article vous a plu ?  N’hésitez pas à suivre notre actualité sur notre blog.