- 1. What Is the Agile Manifesto?
- 2. The Benefits and Advantages of Agile
- 3. What Is Agile Operations?
- 4. The Agile Software Development Life Cycle
- 5. Building an Agile Team Structure
- 6. A Guide to the Scaled Agile Framework (SAFe)
- 7. Agile and Lean Portfolio Management
- 8. Understanding Squads, Tribes, and Guilds
- 9. What Is Agile Transformation?
- 10. Themes, Epics, Stories, and Tasks in Agile
- 11. A Complete Guide to Agile Epics
- 12. How to Create User Stories
- 13. Agile Estimation: Understanding Story Points
- 14. Using Gantt Charts in Agile
- 15. Glossary
- 16. FAQs
- 1. What Is the Agile Manifesto?
- 2. The Benefits and Advantages of Agile
- 3. What Is Agile Operations?
- 4. The Agile Software Development Life Cycle
- 5. Building an Agile Team Structure
- 6. A Guide to the Scaled Agile Framework (SAFe)
- 7. Agile and Lean Portfolio Management
- 8. Understanding Squads, Tribes, and Guilds
- 9. What Is Agile Transformation?
- 10. Themes, Epics, Stories, and Tasks in Agile
- 11. A Complete Guide to Agile Epics
- 12. How to Create User Stories
- 13. Agile Estimation: Understanding Story Points
- 14. Using Gantt Charts in Agile
- 15. Glossary
- 16. FAQs
What is FDD in Agile?
FDD, which stands for Feature-Driven Development, is a framework in the Agile methodology. As the name suggests, it focuses on developing working software with features that satisfy client needs. FDD aims to ensure regular and on-time delivery to customers, in line with the values and principles of the Agile Manifesto.
IT strategist Jeff de Luca originally devised the FDD concept in 1997 to organize a project for a bank in Singapore. The 15-month Agile project included 50 team members, and its success led to widespread adoption of the FDD model.
The iterative and incremental development process is central to FDD. Teams break their projects down into smaller increments that are easier to manage. The workload is divided into short Agile iterations, where developers repeat steps until the final deliverable is deemed fit for release. FDD teams also prepare progress reports and carry out regular inspections to ensure a high standard of quality.
Domain object modeling is one of the best practices of FDD. Inspired by Peter Coad’s research on object-oriented design, domain object modeling is when teams outline the domains of the problems they are hoping to solve. This enables them to create a model where they can add corresponding features.
FDD is a solid alternative to the more well-known Agile frameworks such as Scrum and Kanban. Some Agile practitioners prefer FDD to Scrum because it relies on documentation to communicate rather than daily meetings, which can be time-consuming. FDD is suitable for large-scale, long-term projects, as it enables teams to manage changing requirements on an ongoing basis.
The five steps in FDD
There are five key activities in Feature-Driven Development:
1: Develop the overall model
Here, an FDD team will determine the project scope. Multiple models will be proposed and merged to create one overall model.
2: Build the features list
Next, the team members will outline the customer-focused features to be developed. They will be small functions that can be completed in a short period of time. An example could be to create an automatic reminder for subscription renewal.
3: Plan by feature
The team will assess the individual features in the list and arrange them in the appropriate order. Then, the features will be assigned to team members.
4: Design by feature
At this stage, the team’s chief programmer will choose which features to develop within a two-week period. A design package will be created for each feature, and team members will conduct a review before building commences.
5: Build by feature
Developers work to build the code for the aforementioned features. This code will be tested before the final version is created.
FDD team roles
In an FDD team structure, there are six chief roles. These are:
- Project manager
- Chief architect
- Development manager
- Chief programmer
- Class owner
- Domain expert
In FDD, individual team members will be assigned to a particular feature, but small feature teams will also help make design decisions.
Whether you use FDD or another Agile framework, consider a robust project management platform such as Wrike to help you plan your workload. Start your free Wrike trial today to learn more.
Alex Zhezherau
Alex is Wrike’s Product Director, with over 10 years of expertise in product management and business development. Known for his hands-on approach and strategic vision, he is well versed in various project management methodologies — including Agile, Scrum, and Kanban — and how Wrike’s features complement them. Alex is passionate about entrepreneurship and turning complex challenges into opportunities.