Feature driven development

Proposée par Jeff De Luca, FDD (feature driven development) est une méthode simple mais efficace de gestion de projets agile.

Une méthode itérative et incrémentale basée sur les modèles

Article

FDD (feature driven development) est une méthode dirigée par les modèles (model-driven), qui a d’ailleur été formalisée pour la première fois dans… un livre sur UML.

Les étapes de la méthode sont les suivantes :

  1. Créer un modèle d’ensemble du système et de son contexte (généralement sous la forme d’un diagramme de classes UML)
  2. Créer la liste des fonctionnalités à implémenter
  3. Assigner chaque fonctionnalité à un développeur *
  4. Concevoir chaque fonctionnalité (modèle)
  5. Réaliser chaque fonctionnalité (code)

Visualisation de l’avancement

FDD a popularisé dans la communauté agile les diagrammes de flux cumulatifs (cumulative flow diagrams ou CFD), qui permettent de suivre graphiquement l’avancement d’un projet.

Voici un exemple de diagramme de flux cumulatif :

Cumulative Flow Chart FDD

Originalité

FDD se distingue des autres méthodes agiles par un point : le fait que la méthode recommande d’assigner chaque fonctionnalité à un développeur en particulier. En effet, d’autres méthodes comme eXtreme Programming notamment recommandent… le contraire !

FDD part du principe que l’assignation d’une responsabilité à une personne permet plus de cohérence dans le design, et une meilleure performance que si tout le monde « touche à tout ».

À vous de vous faire votre propre idée…

Commentaires