About airfocus

Try for free

Feature Driven Development (FDD)

airfocus eBook All You Need To Know About Product Management
Get our All You Need To Know About Product Management eBook
Read now

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.

abstract/prioritize emoji

Get our Mastering Prioritization eBook

Learn how to prioritize by making it a simple process, to build products that stand out. Learn more about how to source insight, choose the right prioritization framework and much more.

Get the eBook

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.

What Is Feature Driven Development (FDD)

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.

Building better products
starts here

Join thousands of product managers and makers who already enjoy our newsletter. Get free tips and resources delivered directly to your inbox.
airfocus coin
Top rated
on major review platforms
g2 badge users love us
g2 badge leader summer
GetApp badge category leader
software advice badge
capterra shortlist badge
proddy badge roadmapping
crozdesk badge
All rights reserved.