airfocus-logoGlossary
airfocus search exit

Try for free

Agile

Feature Driven Development (FDD)

CONTENTS

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.

eBook

Agile: Best Practices and Methodologies

Read now
CTA eBook image background
airfocus eBook Agile: Best Practices and Methodologies

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.
airfocus eBook Agile: Best Practices and Methodologies
eBook
Agile: Best Practices and Methodologies
Read now

Glossary categories

Agile

Agile

Feedback Management

Feedback Management

Prioritization

Prioritization

Product Management

Product Management

Product Strategy

Product Strategy

Roadmapping

Roadmapping

Experience the new
way of doing product
management

Try for free

Book a demo

airfocus modular platform

Experience the new
way of doing product
management

airfocus modular platform
Top rated
on major platforms
g2 badge users love us
g2 badge momentum leader
GetApp badge category leader
software advice badge
capterra shortlist badge
proddy badge roadmapping
crozdesk badge
Company
All rights reserved. contact@airfocus.com
ENDE