Feature Driven Development – FDD

Feature Driven Development Agile Framework, Feature Driven Development values, FDD agile methodology, Feature Driven Development steps, Feature Driven Development practices

Feature-driven development – FDD – is a lightweight agile process where software is viewed as a collection of working features.

Feature-driven development steps

  • develop overall model – build a high level domain model based on the existing understanding of business concepts and the relationships between them
  • build feature list – divide the domain into subject areas that contain business activities or workflows and identify as features the steps in these areas
  • plan by feature – prioritize features, create implementation plan and add more detail to the classes from the domain model
  • design by feature – develop sequence diagrams to have a design model for implementing features and inspect if the designs are meeting the requirements
  • build by feature – implement, test inspect and deploy the classes that implement the features

Design by feature and build by feature steps are executed in parallel by different feature owners for different features. FDD teams are built around features and the feature teams are having the right skills to implement the functionality, therefore teams can work in parallel on multiple features and integrate or reuse work when necessary. Feature-driven development uses unified model language UML and object oriented design OOD. Progress is tracked by measuring the percentage of milestones achieved inside each feature.

The official community website for FDD is http://www.featuredrivendevelopment.com/


Agile frameworks