Features
Start Free Trial
Start Free Trial
CONTENTS
What is Feature Driven Development (FDD)
3 mins read

Feature Driven Development (FDD)

What is Feature Driven Development (FDD)

Definition of Feature Driven Development (FDD)

Feature Driven Development (FDD) is an iterative agile software development model. More specifically, FDD organizes workflow based on which features need to be developed next.

There’s one important thing to note, though: in FDD, ‘features’ take a different meaning to what you may assume. In FDD, ‘features’ refer to tasks or user stories, e.g. “build check-out cart”, rather than specific product features, e.g. payment platform.

When embraced successfully, FDD can speed up development time and make space for continuous improvement to software releases, by leading teams through five key stages of development…

The five stages of Feature Driven Development

In FDD, ‘best practice’ means following five stages of activity:

1. Develop an overall model

Here, teams should focus more on the shape and overall scope of the product than the detailed content. According to Jeff De Luca — FDD’s founding father — the overall model acts as a draft, capturing the vision of the product but not a lot else. 

Go into too much feature-heavy detail at an early phase, and you may miss other opportunities that arise. At this stage, simply focus on capturing on paper who your target audience is, what context your software will be used in, the necessary content structure and first thoughts surrounding UX and UI.

2. Build a feature list:

Next, teams should use the overall model to identify which features will be required. Remember that in FDD, ‘features’ are similar to user stories — so think about the development activities which will need to happen to bring your product or software to life.

3. Plan by feature

The planning phase is essential in FDD. Here, teams should allocate reasonable estimates to each feature, assign them to a team member and work out what needs to happen for these deadlines to be met. For ultimate success, all team members should take part in this process — so everyone is aligned with the plan of action.

4. Design by feature

Now it’s time to get started! As FDD is an agile practice, teams should design concurrently and collaboratively.

5. Build by feature

Again, team members should work on their individual build responsibilities at the same time — visual designers on the UI, programmers on coded components, etc. When everything is ready to be pulled together, it’s sent to QA for testing. Then, the next feature can be tackled.

Advantages of using FDD

These are many reasons your team may choose to use Feature Driven Development, here are three of the most important:

Clearer project management: In FDD, the overall system is built progressively through feature development — planned, designed and built individually and then merged into the overall model. This makes managing the process easier, as there’s only one feature to focus on at a time (rather than managing the overall system at once).

Minimizing complexity: FDD breaks down the overall project into small components so that they can be delivered in short time periods. This helps the development teams to minimize the complexities associated with the system development process. If your team tends to run behind on development timelines, FDD could get you more organized.

Building better products: FDD model is an iterative model that allows the software development team to intermittently showcase the product, either internally or to the client. Because of this transparency, frequent feedback can be received and the software can be collaboratively improved as a result.

General FAQ

How to build features list in feature driven development?
Teams should use the overall model to identify which features will be required. Remember that in FDD, ‘features’ are similar to user stories — so think about the development activities which will need to happen to bring your product or software to life.
Why use feature driven development?
There are multiple advantages of using feature-driven development like clear project management, minimizing complexity, and building better products.
Powerful prioritization &
clear roadmaps
Learn More
Newsletter

Building better products
starts here

Receive thought-leading content delivered straight to your inbox:
From product management, prioritization, roadmaps to strategy,
we’ve got you covered.