Users will love you for itInnerview: Help the world make progress
Glossaries

Feature Driven Development

What is Feature Driven Development (FDD)?

Feature Driven Development (FDD) is an iterative and incremental software development process that emphasizes designing and building features. It is a customer-centric approach that organizes development work around delivering tangible, working features in short time frames.

Synonyms: FDD, Feature-Based Development, Feature-Centric Development

question mark

Key Principles of Feature Driven Development

Feature Driven Development is built on five key activities:

  1. Develop an overall model
  2. Build a feature list
  3. Plan by feature
  4. Design by feature
  5. Build by feature

These activities ensure that the development process remains focused on delivering value to the customer through functional features.

Benefits of Feature Driven Development in Product Management

  1. Customer-Centric Approach: FDD prioritizes features that directly benefit the end-user, ensuring that the product remains aligned with customer needs.
  2. Improved Time-to-Market: By focusing on individual features, teams can deliver working functionality more quickly and frequently.
  3. Better Quality Control: The iterative nature of FDD allows for continuous testing and refinement of each feature.
  4. Enhanced Project Visibility: The feature list provides a clear overview of project progress and priorities.

Implementing Feature Driven Development

To implement FDD in your product development process:

  1. Start by creating a comprehensive model of the product's domain.
  2. Develop a prioritized list of features based on customer value and technical dependencies.
  3. Assign feature sets to small, cross-functional teams for design and implementation.
  4. Conduct regular design and code inspections to maintain quality.
  5. Deliver completed features to the main build on a regular basis, typically every two weeks.

Frequently Asked Questions

  • How does Feature Driven Development differ from other Agile methodologies?: FDD is more structured than some Agile methods, with a stronger emphasis on the upfront domain modeling and feature planning phases.
  • Is FDD suitable for all types of projects?: FDD works best for projects where features can be clearly defined and prioritized. It may be less effective for highly experimental or research-oriented projects.
  • Can FDD be combined with other development methodologies?: Yes, many organizations combine elements of FDD with other Agile or traditional methodologies to create a hybrid approach that suits their specific needs.
Try Innerview

Try the user interview platform used by modern product teams everywhere