• 10 heures
  • Difficile

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 24/04/2020

Progressez avec les techniques TDD, FDD et BDD

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Dans ce chapitre, je vous propose différentes orientations pour gérer vos projets avec plusieurs équipes agiles. Les tests, les fonctionnalités, les spécifications sont à l’origine de 3 types de pilotage que vous pouvez associer à vos méthodes agiles afin de développer des produits informatiques.

Le développement piloté par les tests

La technique TDD (acronyme pour Test-Driven Development) vous encourage à formaliser vos tests avant même de créer votre première ligne de code. 😎 Elle comporte 5 étapes :

  1. Ajoutez un premier test

  2. Vérifiez que ce test échoue (car le code n’existe pas encore)

  3. Écrivez le code suffisant pour passer le test

  4. Validez immédiatement le test de ce code

  5. Améliorez le code sans modifier ni le test ni la fonctionnalité

Vous facilitez ainsi la production d’un code valide en toutes circonstances ! Définissez d’abord des tests précis avec vos équipes agiles. Partagez ensuite une vision globale du programme à développer.

La pratique agile de la programmation en binôme apporte de nombreux bénéfices aux développeurs de votre entreprise ou organisation 👥 :

  • Codez à haute voix afin de mieux appréhender la complexité d’une tâche.

  • Associez des juniors avec des collaborateurs plus expérimentés.

  • Travaillez sans interruption en privilégiant l’entraide.

Vous surveillez également qu’aucune personne ne teste seule son propre code !

Le cycle de la méthode TDD
Les étapes de la technique TDD par Xavier Pigeon

L’amélioration continue en informatique (refactoring) rend possibles des changements radicaux de design tout en réduisant au maximum les risques de régression du code. En qualité de facilitateur, vous avez la compétence de former les binômes et d’accompagner leur progression quotidienne.

Le développement basé sur les fonctionnalités

La technique FDD (acronyme pour Feature-Driven Development) est un regroupement très cohérent de pratiques agiles. 😉 Vous orientez désormais vos équipes pour qu'elles livrent uniquement des fonctionnalités valorisées par le client ou le porteur du projet.

Voici les 5 pratiques que vous devez appliquer avec toutes les fonctionnalités du projet :

  1. Un modèle global de votre produit ou de votre service informatique

  2. Une liste des fonctionnalités à développer avec votre équipe agile

  3. Un planning des livraisons pour votre client ou votre porteur de projet

  4. Une conception précise des fonctionnalités à partir de vos user stories

  5. Une construction opérationnelle des fonctionnalités à partir de vos tâches

Je vous conseille surtout de vous approprier la deuxième activité afin de donner un niveau d’exigence plus fonctionnel à votre UX design (collecte des besoins, entretien, etc.). Actualisez des rapports d’état détaillés lors des itérations de vos équipes. Inspectez ainsi l’avancement de chaque fonctionnalité. 🔎

Les étapes de la technique FDD
Les étapes de la technique FDD par Jeff de Luca

Comment définir cette liste de fonctionnalités avec mon client ou mon porteur de projet ?

Le facilitateur valorise et catégorise une fonctionnalité sous la forme <action> <result> <object>.
Par exemple : « calculer le total d’une vente » ou « valider le mot de passe d’un utilisateur ». C’est une formulation très efficace pour définir votre langage commun avec tous les acteurs du projet.

C’est à partir de ces fonctionnalités pertinentes que vous impulsez l’attribution spontanée des tâches entre les membres de vos équipes et que vous planifiez les livraisons de vos développements.

Le développement basé sur les spécifications

La technique BDD (acronyme pour Behavior-Driven Development) insiste sur la coopération entre les développeurs, les responsables qualité (ou QA pour Quality Assurance) et l’ensemble des parties prenantes (techniques ou non) de votre projet. 😜 Elle comprend 5 phases majeures :

  1. Faites participer les parties prenantes à vos ateliers collaboratifs (workshop).

  2. Utilisez des exemples pour décrire le comportement de votre code informatique.

  3. Préférez le mot « devrait » pour clarifier les responsabilités et modifier vos fonctionnalités.

  4. Préférez l’expression « vérifier que » pour différencier les résultats de chaque intégration.

  5. Automatisez les exemples pour partager vos commentaires et vos tests aux parties prenantes.

Cette technique a été conçue par Dan North comme une réponse au développement piloté par les tests (TDD, lire ci-dessus). Son objectif est d’harmoniser les conversations entre tous les interlocuteurs responsables de la définition du produit ou du service.

Les étapes de la technique BDD
Les étapes de la technique BDD par Dan North

Votre dialogue avec les experts sera plus clair et moins contraignant grâce à la technique BDD. 📣 Appliquez notamment le principe des cinq pourquoi à chacune de vos user stories. Vous rendrez aussi vos documentations (fonctionnelles et techniques) plus lisibles avec Cucumber (par exemple).

En résumé

Exemple de certificat de réussite
Exemple de certificat de réussite