Master surveys that drive meaningful feedback in user testing—download the new ebook with expert tips and best practices now!
Glossary
>
Engineering

Feature-Driven Development

What is feature-driven development?

Feature-Driven Development (FDD) is an agile framework that organizes development around features or specific product experiences as the unit of work. This iterative and incremental software development approach allows teams to produce faster value to customers through the development of small projects, functionality, or features.

How is a feature defined in FDD?

The term "feature" in feature driven development could be nebulous as there is a lot of functionality that could be nested cumulating to a large "feature" or experience. For FDD, teams tend to base the definition of a feature as something that provides value to the customer, something tangible to demonstrate or share, and done within a two-week cycle. Typically they will be expressed as an action, result, or object.

What is the feature-driven development process?

The FDD approach leverages five activities: develop the overall model, build the feature list, plan by feature, design by feature, and build by feature. The first two phases are the formation and establishment of the model where the last three phases are iterated based on each feature in the list.

  • Develop the overall model: The beginning of the FDD project has teams create the scope of the system, detailing each domain model or problem to be solved which are reviewed by peers.
  • Build the feature list: After reviewing the domain models/problems to be solved they are broken into a feature list and associated with specific subject matters areas.
  • Plan by feature: Upon completion of the feature list, teams will produce a plan and assign resources and owners to each of the features.
  • Design by feature: A design package is created for each feature, producing sequence diagrams for each of them which are refined and inspected.
  • Build by feature: After the inspection of the feature and sequence diagrams the team will develop the code for the feature. After testing and approvals the code/feature is deployed or integrated into the main build.

Table of Contents

No items found.